2.2主要模块代码设计
(1)登陆主要实现用户登录功能.由于篇幅的限制,这里只介绍主要的程序段,如下所示:
//
进入按钮监听器,判断输入的密码是否正确
if
(
mPreferences.getBoolean
(
"issetpass"
,
false
))
{
if
(
"".equals
(
mpassword.getText
()
.toString
()))
{
Toast.makeText
(
Login.this
,
"input
:
"
,
Toast.LENGTH_LONG
)
.show
();
return
;
}else{
isenter =
(
mPreferences.getString
(
"password"
,
""
)
.e-
quals
(
mpassword.getText
()
.toString
()))
?true
:
false
;
if
(
!isenter
)
{
Toast.makeText
(
Login.this
,
"not cor-
rect"
,
Toast.LENGTH_LONG
)
.show
();
return
;
}
}
}
(
2
)主界面
系统主界面包括签到功能,总收入、总支出、
总预算余额显示,增加收入、增加支出、账目明细,
预算等按钮,本月账目列表等信息 [2]
。
主要代码
如下:
//
签到功能
SharedPreferences my_rmb_data = getSharedPref-
erences
(
MY_RMBCost
,
0
);
if
(
my_rmb_data.getString
(
TodayTime
,
""
)
.toString
()
.equals
(
str
)
==true
)
{
Toast.makeText
(
MainActivity.this
,
"yijingqian-
dao!"
,
Toast.LENGTH_SHORT
)
.show
();
}else{
SharedPreferences. Editor editor =
my_rmb_data.edit
();
editor.putString
(
TodayTime
,
str
);
editor.putInt
(
LASTYEAR
,
currentyear
);
editor.putInt
(
LASTMONTH
,
currentmonth
);
editor.putInt
(
LASTDAY
,
currentday
);
totaldays++
;
editor.putInt
(
TOTALDAYS
,
totaldays
);
editor.commit
();
tv_time.setText
(
"Date
:
"+str
);
tv_totaldays.setText
(
"Day
:
"+totaldays
);
bt_qiandao.setBackgroundResource
(
R.draw-
able.yqd
);
Toast.makeText
(
MainActivity.this
,
"lianxuqiandao" +
totaldays+"DAY"
,
Toast.LENGTH_SHORT
)
.show
()
}
(
3
)支出
支出界面主要包括消费的金额,类别,时间,
备注等信息。主要代码如下:
//
输入消费的日期
private DatePickerDialog.OnDateSetListener mDat -
eSetListener =
new DatePickerDialog.OnDateSetListene r
()
{
public void onDateSet
(
DatePicker view
,
int
year
,
int monthOfYear
,
int dayOfMonth
)
{
calendar.set
(
Calendar.DAY_OF_MONTH
,
dayOfMonth
);
calendar.set
(
Calendar.MONTH
,
monthO-
fYear
);
calendar.set
(
Calendar.YEAR
,
year
);
currentDate = format
(
calendar.getTime
());
tradedateButton.setText
(
currentDate
);
}
}
;
(
4
)收入
收入界面主要是记录收入来源、收入金额、收
入类型、收入时间等信息。主要代码如下:
//
输入收入的金额
protected void onActivityResult
(
int requestCode
,
int resultCode
,
Intent data
)
{
// TODO Auto-generated method stub
if
(
resultCode == Activity.RESULT_OK
&& requestCode == KEYPADRESULT
)
{
Bundle extras = data.getExtras
();
value = extras.getString
(
"value"
);
revenueMoney.setText
(
value
);
} }
(
5
)账目明细
账目明细主要包括历史收入支出的按月分类
详细显示
。主要代码如下:
//
按月份分类,查询显示详细的信息
Cursor c_month = db.query
(
GlobalData.
Tb_Name_1
,
GlobalData.TodaySpend
,
"Date like '% " +month_date + "% '"
,
null
,
null
,
null
,
null
);
double expensesTotalMoney = 0
;
double revenuesTotalMoney = 0
;
if
(
c_month.getCount
()
> 0
)
{
List <Map <String
,
String >> chidl_daylist
= new ArrayList<Map<String
,
String>>
();
while
(
c_month ! = null && c_month.
moveToNext
())
{
Map <String
,
String > child = new
HashMap<String
,
String>
();
double money = Double.parseDou-
ble
(
c_month.getString
(
1
));
child.put
(
IDINFO
,
c_month.get-
String
(
0
));
child.put
(
MEMOINFO
,
c_month.
getString
(
5
));
child.put
(
MEMBERINFO
,
c_month.
getString
(
4
));
chidl_daylist.add
(
child
);
}
}
(
6
)预算
预算界面主要包括消费类别的显示以及类别
的预算金额和余额。主要代码如下:
//
获取总支出,预算余额,改变预算总余额
double currentMoney = Double.parseDouble
(
val-
ue
);
BudgetTotoalMoney -= currentItemBudget
;
BudgetTotoalMoney += currentMoney
;
System.out.println
(
"currentMoney = " +current-
Money
);
currentItemBudget = 0.0
;
double totalbalance = BudgetTotoalMoney
;
SharedPreferences.Editor editor = spf.edit
();
edi-
tor.putString
(
"balance_totalmoney"
,
GlobalData.df.
format
(
totalbalance
));
editor.commit
();
(
7
)报表
预算界面主要包括消费类别的显示以及类别
的预算金额和余额
。
主要代码如下:
//
获取总支出,预算余额,改变预算总余额
double currentMoney = Double.parseDouble
(
value
);
BudgetTotoalMoney -= currentItemBudget
;
BudgetTotoalMoney += currentMoney;
System.out.println
(
"currentMoney = " +current -
Money
);
currentItemBudget = 0.0
;
double totalbalance = BudgetTotoalMoney
;
SharedPreferences.Editor editor = spf.edit
();
edi-
tor.putString
(
"balance_totalmoney"
,
GlobalData.df.
format
(
totalbalance
));
editor.commit
();
3结束语
财产管理系统是一个很实用的App系统,尤其是对于那些爱乱花钱,又不能控制自己,而且没有时间来记录收入支出等情况的人。该系统方便使用,操作简单,有助于人们生活水平的提高。在移动终端火热的今天,该系统可以随时随地使用.目前系统可以实现用户的登陆功能,能够设置基本信息及密码,及时记录当时的收入支出等情况,删除和修改当前保存的信息,查询到目前为止每一天的收入支出等情况,并对即将产生的花费进行预算,以便有效控制支出。此外,还可以对过去所有的花费进行汇总,以百分比的形式显示各种消费所占总消费的比例,以便对过去的花费有一个清晰的认识。
参考文献:
[1]李兆哲.基于Android平台的智能语音记账系统的设计与实现[D].青岛:中国海洋大学,2013.
[2]Reto Meier. Professional Android 4 Application Development[M]. Birmingham:Wrox,2012.
[3]米海南.基于Android平台客户端财产管理系统设计与实现[D].西安:西安电子科技大学,2012.