基于安卓的个人理财系统研发

2016-05-28 06:31李嘉诚
关键词:安卓智能手机数据库

李嘉诚

(南昌大学软件学院,江西南昌330047)



基于安卓的个人理财系统研发

李嘉诚

(南昌大学软件学院,江西南昌330047)

摘要:基于个人手机进行简便有效整理个人财务,对个人来说很必要。本文在简要介绍本系统研发工具的基础上,首先对开发系统进行了需求分析,得到系统的功能需求。随后对系统进行了概要设计和详细设计。最后对系统进行了功能测试,并对测试结果进行了分析,在总结、分析的基础上,指出了系统存在的不足及需要改进的地方,为今后开发类似系统提供借鉴和帮助。该系统功能完善、用户界面友好、运行稳定,可完成日常个人财务信息的管理和维护。

关键词:个人理财系统;数据库;安卓;智能手机

一、概述

简便有效整理个人财务对个人来说很必要。基于手机的个人简易通用理财系统的研发具有极其重要的现实意义。本系统基于安卓研发,它适合对个人财务管理,具有资金收入、支出、编辑和统计等基本功能。系统操作简单、用户界面友好、运行稳定,可完成日常个人财务信息的管理和维护。

Android是一种以Linux为基础的开放源码操作系统,主要适用于便携设备。Android以Java为编程语言,从接口到功能的变化层出不穷。短短几年时间Android与Symbian、ios已形成三足鼎立之势,而Symbian系统不断臃肿为人所诟病,ios只能运行在自家硬件系统上,这限制了一些用户。[1-3]

SQLiteDatabase是Android SDK中操作数据库的核心类之一。使用SQLiteDatabase可打开数据库,也可对数据库进行操作。然而为了数据库升级的需要及使用更方便,使用SQLiteOpenHelper的子类来完成创建、打开数据库及各种数据库操作。[4-6]

二、个人理财系统的总体设计

(一)系统结构设计

个人理财系统主要面向个人用户,用户只要记录流水账信息便可预算得到相应的统计结果。本系统的主要功能包括收入账单,支出账单及账单管理。[8]系统结构设计如图1所示。

图1:系统结构设计

(二)本系统流程

系统操作流程是先注册,后登录进入主界面,在主界面下分别完成收入登记,支出登记,结算和查询等基本财务管理,还能修改密码和安全退出,如图2所示。

三、数据库使用

本系统用到移动数据库SQLiteOpenHelper,并封装成一个辅助类DataBaseAdapter继承于SQLiteOpenHelper,该类构造器中,调用Context中方法创建,并打开一个指定名称的数据库对象。当需要创建或打开一个数据库,并获得数据库对象时,首先根据指定的文件名创建一个辅助对象,然后调用该对象的getWritableDatabase或getReadableDatabase方法获得SQLiteDatabase对象。[6]数据库中有三张表分别为user、add、out。user表符号化用户名、密码、真实姓名和身份证号。add表符号化用户名、收入来源、收入金额、时间和解释。out表符号化用户名、支持去向、指出金额、时间和解释。

图2 系统操作流程

调用getReadableDatabase方法返回的并不总是只读数据库对象,一般来说该方法getWriteableDatabase方法的返回情况相同,只有在数据库仅开放只读权限或磁盘已满时才会返回一个只读的数据库对象。

四、详细设计与实现

(一)本系统启动界面设计与实现

界面包含TextView、EditView和Button三个控件,皆用线性布局。启动界面进入登陆界面,若属首次使用本程序,需初始化本程序的SQlite数据库,建库、建Table,初始化账目数据。[7]否则直接登陆,如无账号则先注册。点击注册按钮,跳转到注册界面,注册界面呈线性布局。

三个textview控件和三个exittext控件两个按钮代码在这里都为必填项,如果用户没有填写里面的一项而点提交的话,会弹出对话框提升用户不允许为空。在填写用户名的时候系统会检查用户名是否已经注册过,假如用户名注册过,会弹出对话框提示用户用户名被占用。[8]如果用户点击取消程序将会调用public void cancel(View view){}方法,返回到登陆界面。如果用户填写正确且点击提交按钮,程序将会调用public void main(View view){}方法。在此方法中将用户填写的数据存入数据库中,并跳转到成功界面,提示用户注册成功是否立即进入。

此界面是由一个TextView控件和两个Button组成,通过线性布局实现。[9]当用户点击否按钮,程序将调用public void log(View view){}方法,进入到主界面。

(二)功能选择界面

当用户注册成功或者登陆成功,会进入到主界面。主界面由一个TextView控件和5个按钮组成,通过线性布局实现。当用户点击不同按钮收入、支出、结算、查询、修改密码、退出时,程序会调用相应方法将界面跳转到对应界面。

(三)开支表和收支表

用户可以在开支表上记录某一天消费情况。此表布局文件是线性的,每项由一个TextView和一个EditView组成,选择时间是通过DatePicker控件实现,还有两个按钮分别为保存和取消。

用户如果点击取消按钮,程序将调用public void acencel (View view){}方法,不保存数据并返回到主界面。当用户填写完数据,并点击保存按钮,程序将调用public void asave (View view){}方法,将用户填写的消费情况保存到数据库并跳转到主界面。收支表的实现类似开支表,不再累叙。

(四)时间设置对话框

每次进入新增开支界面,都会对系统时间的初始化,此功能通过DatePicker控件来实现。

<DatePicker

android:id="@+id/i_datepicker"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

当程序调用这个控件,该控件都会调用系统当前时间来进行初始化。

(五)账单管理

用户可以在该界面上查看某段时间内的个人所定的预算和收入情况,当用户在主界面点击查询按钮时,程序将会调用public void inquire(View view){}方法,先跳转到选择时间界面。

当用户选择好时间点击确定按钮之后,程序将调用public class InquireResultActivity extends Activity{}类将用户选择的时间作为查询条件将一天的收入支出查询出来并且算出剩余多少,将结果显示到界面上。

五、小结

本系统的资金收入、支出、编辑和统计等个人理财功能得到实现,经测试系统操作简单、界面友好、稳运行定,能实现日常个人财务信息的管理和维护。

参考文献:

[1] [美]Rogers Cadenhead.Java编程入门经典(第4版)[M].梅兴文,译.北京:人民邮电出版社,2007.156-179.

[2] [美]Bruce Eckel. Thinking In Java[M].英文第4版.北京:机械工业出版社,2007.57-98.

[3]朱喜福,戴舒樽,王晓勇.Java网络编程基础[M].人民邮电出版社, 2008.87-96.

[4]刘永华,于春华.实用Java网络编程技术[M].中国电力出版社, 2009.112-153.

[5]朱振元,朱承,刘聆.Java语言及其网络应用[M].人民邮电出版社, 2006:130-188.

[6]赵毅.跨平台程序设计语言——Java[M].西安:西安电子科技大学出版社,2006.174-233.

[7]王路群.Java高级程序设计[M].北京:中国水利水电出版社,2006.142-186.

[8]陈学峰,柴俊霞.Linux下基于Socket的网络编程[J].淮北煤炭师范学院学报:自然科学版,2004,(3):29-34.

[9]徐长胜,戴超.一种快速开发web应用程序方法的研究[J].计算机工程与设计,2004,(12):2237-2239.

猜你喜欢
安卓智能手机数据库
智能手机是座矿
iPhone不卡的秘密曝光:安卓也能享受
文物表情包
假如我是一部智能手机
数据库
一种基于安卓系统的手机侧抓包分析方法
热门智能手机应用
数据库
数据库
数据库