個(gè)人理財(cái)小助手智能終端系統(tǒng)及應(yīng)用開(kāi)發(fā)_第1頁(yè)
個(gè)人理財(cái)小助手智能終端系統(tǒng)及應(yīng)用開(kāi)發(fā)_第2頁(yè)
個(gè)人理財(cái)小助手智能終端系統(tǒng)及應(yīng)用開(kāi)發(fā)_第3頁(yè)
個(gè)人理財(cái)小助手智能終端系統(tǒng)及應(yīng)用開(kāi)發(fā)_第4頁(yè)
個(gè)人理財(cái)小助手智能終端系統(tǒng)及應(yīng)用開(kāi)發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、智能終端系統(tǒng)及應(yīng)用開(kāi)發(fā)課程設(shè)計(jì)報(bào)告題目:學(xué)號(hào):班級(jí):姓名:指導(dǎo)老師:、目的與要求掌握SQLite數(shù)據(jù)庫(kù)及其使用。熟練掌握布局及常用控件Button、ListView、EditText、TextView等。使用SQLite數(shù)據(jù)庫(kù)實(shí)現(xiàn)增加、刪除、修改;使用ListView進(jìn)行顯示;增加私密性,驗(yàn)證成功才能進(jìn)行收支管理。二、APP結(jié)構(gòu)設(shè)計(jì)個(gè)人理財(cái)小助手主要為用戶(hù)提供5個(gè)主要模塊,包括:登錄模塊、收入管理模塊、支出管理模塊、便簽管理模塊、系統(tǒng)設(shè)置模塊。對(duì)日常的開(kāi)支進(jìn)行隨時(shí)記錄,存儲(chǔ)到本機(jī)的SQLite數(shù)據(jù)庫(kù)。個(gè)人理財(cái)助手三、數(shù)據(jù)庫(kù)設(shè)計(jì)本系統(tǒng)是一個(gè)理財(cái)?shù)墓芾硐到y(tǒng),主要包括收入、支出的管理,所以設(shè)計(jì)數(shù)據(jù)庫(kù)

2、表的時(shí)候,設(shè)計(jì)了密碼表、收入表、支出表、便簽信息表用來(lái)存儲(chǔ)對(duì)應(yīng)的信息。密碼信息表:用于用戶(hù)登錄時(shí)進(jìn)行密碼核對(duì)。表1:密碼信息表字段名數(shù)據(jù)類(lèi)型是否主鍵描述PasswordVarchar(20)否用戶(hù)密碼支出信息表:用于記錄支出信息,主要屬性包括:id(編號(hào)),money(金額),廿me(支出時(shí)間),type(支出類(lèi)別),address(支出地點(diǎn)),mark(備注)表2:支出信息表字段名數(shù)據(jù)類(lèi)型是否主鍵描述idinteger是編號(hào)moneydecimal否支出金額廿meVarchar(10)否支出時(shí)間typeVarchar(10)否支出類(lèi)別addressVarchar(100)否支出地點(diǎn)markV

3、archar(200)否備注收入信息表:用于記錄收入信息,主要屬性包括:id(編號(hào)),money(收入金額),廿口。(收入時(shí)間),type(收入類(lèi)別),hanlder(付款方),mark備注)。表3:收入信息表字段名數(shù)據(jù)類(lèi)型是否主鍵描述idinteger是編號(hào)moneydecimal否收入金額廿meVarchar(10)否收入時(shí)間typeVarchar(10)否收入類(lèi)別handlerVarchar(100)否付款方markVarchar(200)否備注便簽信息表:用于所有提醒便簽信息:主要屬性有,id(編號(hào)),F(xiàn)lag(便簽信息)表4:便簽信息表字段名數(shù)據(jù)類(lèi)型是否主鍵描述idinteger是編

4、號(hào)FlagVarchar(20)否便簽內(nèi)容四、編碼規(guī)劃和代碼的文件組成系統(tǒng)架構(gòu)圖+PackageExplorer滋侶fincianlJ色src丿出AO.java,paGkage-info.java-PwdDAO-.java丿田JRjava丄res丿IS?drawable-hdpi險(xiǎn)a-jpg二bjjpgicjauncher.png氐Id-pngdrawable-ldpiG1drawable-mdpiG1drawable-xhdpi5?drawable-xxhdpi亠layout口accounttflag.xmI口activiiTy_rnain.xmIo_addinaccount.xml口add

5、outaccount.xmI口flagmanage.xmlagvitem.xml口i口日匚countinfo:KmIClinfom呂n呂ge.xmI口login.xml口main.xml口outaccountinfo.xmI口showinfo:xml口sysset.xmIAG?menu止G?valuesClaccounttype.xml口dimens.xml口strings.xml口sfcfles.xmlG?vaIues-5w6O0dpvalues-sw720dp-land&values-vllG?values-vl4gAndroidManif5tixmIic_lacm匚her.png園pro

6、gijard-projecli.txt園perties在com.example.licai1.DAO中存放DAO公告類(lèi),負(fù)責(zé)一切對(duì)數(shù)據(jù)庫(kù)的操作,包括對(duì)數(shù)據(jù)的增加,修改,刪除,保存等,其中DBOpenHelper負(fù)責(zé)創(chuàng)建數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)表。在com.example.licai1.model中存放數(shù)據(jù)模型公告類(lèi),對(duì)應(yīng)著數(shù)據(jù)庫(kù)中不同的數(shù)據(jù)庫(kù)表,負(fù)責(zé)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的DAO類(lèi)和程序中各模塊,組件的使用。對(duì)數(shù)據(jù)庫(kù)表中字段封裝,主要用來(lái)存儲(chǔ)數(shù)據(jù)。五、分模塊詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)1:用戶(hù)登錄界面:用于驗(yàn)證用戶(hù)是否合法,首次登錄不需要密碼,在系統(tǒng)設(shè)置中設(shè)置密碼后,登錄需輸入密碼。用于保護(hù)用戶(hù)隱私。若密碼錯(cuò)誤,則顯示“請(qǐng)輸入正

7、確密碼”登錄EOutline巫請(qǐng)輸入密碼應(yīng)5nest.parfiiit個(gè)人理血小助手?=?込d岡Re-IstiveLayoutAb|TextView:+id/tvLoginokButton:-hid/btnCloseokButton:-hid/btLoginEditTexti-kid/txtLoginbtnlogin.setOnClickListener(newOnClickListener()/為登錄按鈕設(shè)置監(jiān)聽(tīng)事件SuppressLint(NewApi)OverridepublicvoidonClick(Viewarg0)Intentintent=newIntent(Login.this,

8、MainActivity.class);/創(chuàng)建Intent對(duì)象PwdDAOpwdDAO=newPwdDAO(Login.this);/創(chuàng)建PwdDAO對(duì)象/判斷是否有密碼及是否輸入了密碼if(pwdDAO.getCount()=0|pwdDAO.find().getPassword().isEmpty()&txtlogin.getText().toString().isEmpty()startActivity(intent);/啟動(dòng)主Activityelse/判斷輸入的密碼是否與數(shù)據(jù)庫(kù)中的密碼一致if(pwdDAO.find().getPassword().equals(txtlogin.ge

9、tText().toString()startActivity(intent);/啟動(dòng)主Activityelse/彈出信息提示Toast.makeText(Login.this,請(qǐng)輸入正確的密碼!,Toast.LENGTH_SHORT).show();txtlogin.setText();/清空密碼文本框);2:主界面:用戶(hù)登入后進(jìn)入主界面,主界面包括軟件的所有功能圖標(biāo):新增收入,新增支出,我的收入,我的支出,收支便簽,數(shù)據(jù)管理,系統(tǒng)設(shè)置及退出。用戶(hù)可根據(jù)需求選擇對(duì)應(yīng)圖標(biāo)。數(shù)據(jù)傳輸:在于各個(gè)功能模塊交互時(shí),使用Intent傳輸用戶(hù)的id以便保存、讀取相關(guān)的用戶(hù)信息。技0-utlmeX?-?xm

10、lJ|Lina-arLoyoutRelativeLayout|rb|TextVisw:Etring/addo.LmageVisw:+1d/addiri麗|TextVi4-id/outmfo:i4-id/flag跳轉(zhuǎn)部分代碼:publicvoidonItemClick(AdapterViewarg0,Viewarg1,intarg2,longarg3)Intentintent=null;/創(chuàng)建Intent對(duì)象switch(arg2)/界面跳轉(zhuǎn)case0:窗口初始化Intentintent=newIntent(MainActivity.this,AddOutaccount.class);/使用Ad

11、dOutaccountstartActivity(intent);/打開(kāi)AddOutaccountbreak;case1:intent=newIntent(MainActivity.this,Addinaccount.class);/使用AddInaccount窗口初始化IntentstartActivity(intent);/打開(kāi)AddInaccountbreak;case2:intent=newIntent(MainActivitythis,Outaccountinfo.class);/使用Outaccountinfo窗口初始化IntentstartActivity(intent);/打開(kāi)

12、Outaccountinfobreak;case3:intent=newIntent(MainActivitythis,Inaccountinfo.class);/使用Inaccountinfo窗口初始化IntentstartActivity(intent);/打開(kāi)Inaccountinfobreak;case4:intent=newIntent(MainActivity.this,Showinfo.class);/使用Showinfo窗口初始化IntentstartActivity(intent);/打開(kāi)Showinfobreak;case5:intent=newIntent(MainAct

13、ivity.this,Sysset.class);/使用Sysset窗口初始化IntentstartActivity(intent);/打開(kāi)Syssetbreak;case6:intent=newIntent(MainActivitythis,Accountflag.class);/使用Accountflag窗口初始化IntentstartActivity(intent);/打開(kāi)Accountflagbreak;case7:finish。;/關(guān)閉當(dāng)前Activity3:新增支出界面:此界面的功能是添加用戶(hù)支出的信息,用戶(hù)可添加的信息包括金額、時(shí)間、類(lèi)別、地點(diǎn)、備注。其中時(shí)間可以讀取系統(tǒng)當(dāng)前時(shí)間

14、,更加方便。類(lèi)別提供購(gòu)物、正餐、零食水果、藥效、外賣(mài)、打的、其他一些選項(xiàng)。這一界面總體使用LinearLayout布局,時(shí)間,金額等及其輸入框使用RelativeLayout布局。類(lèi)別對(duì)應(yīng)的下拉框使用Spinner。EOutline民ZXiril!新增支出金眼50時(shí)同2017-1Z-23類(lèi)別瘵直水果地點(diǎn)備注nPstparfait-L1八1;啦啦觸LinearLayout:4-id/itein-*:LinsarLsyout|At|TextView:聊立士JJLin&arLayout#!IR.elaaiv&Lsyout|AbTexzView:+id/tlnMoneyIEditText:+id/bd

15、JnMlonay區(qū)Tux&Viuvv;+id/tvInTimetEditText:爲(wèi)+id/bctf門(mén)TinwTEditText:4-id/brtfnM3rk陽(yáng)TextViews+id/tvlnrypeSpinner:+id/spInTypeEditText;十id/bd!riAclidErs叵ETextView:+id/nAddressAbTextView:+idftvlnMlarlk/LinsarLsyoutjRela&ivELayoutok;Button:+id/bcnCanceloh.Button!+id/bnSave保存按鈕對(duì)應(yīng)代碼:若金額不為空,點(diǎn)擊保存按鈕則保存數(shù)據(jù),顯示“【新增

16、支出】數(shù)據(jù)添加成功”,若金額為空,則提示:“請(qǐng)輸入支出金額”。btnSaveButton.setOnClickListener(newOnClickListener()OverridepublicvoidonClick(Viewarg0)StringstrMoney=txtMoney.getText().toString();if(!strMoney.isEmpty()/判斷金額不為空/創(chuàng)建OutaccountDAO對(duì)象OutaccountDAOoutaccountDAO=newOutaccountDAO(AddOutaccount.this);Tb_outaccounttb_outaccou

17、nt=newTb_outaccount(outaccountDAO.getMaxId()+1,Double.parseDouble(strMoney),txtTime.getText().toString(),spType.getSelectedItem().toString(),txtAddress.getText().toString(),txtMark.getText().toString();outaccountDAO.add(tb_outaccount);ToastmakeText(AddOutaccountthis,新增支出數(shù)據(jù)添加成功!,Toast.LENGTH_SHORT).s

18、how();finish();elseToast.makeText(AddOutaccountthis,請(qǐng)輸入支出金額!,ToastLENGTH_SHORT)show(););取消按鈕對(duì)應(yīng)代碼:講數(shù)據(jù)全部重置為零后退出。btnCancelButtonsetOnClickListener(newOnClickListener()OverridepublicvoidonClick(Viewarg0)txtMoneysetText();/設(shè)置金額文本框?yàn)榭誸xtMoney.setHint(0.00);/為金額文本框設(shè)置提示txtTime.setText();/設(shè)置時(shí)間文本框?yàn)榭誸xtMoneyset

19、Hint(2011_01_01);txtAddresssetText();txtMarksetText();spTypesetSelection(0);finish(););4:新增收入界面:此界面的功能是添加用戶(hù)收入的信息,用戶(hù)可添加的信息包括金額、時(shí)間、類(lèi)別、付款方、備注。其中時(shí)間可以讀取系統(tǒng)當(dāng)前時(shí)間。類(lèi)別提供工資、兼職、獎(jiǎng)金、禮金、銷(xiāo)售款、報(bào)銷(xiāo)款等一些選項(xiàng)。這一界面總體使用LinearLayout布局,時(shí)間,金額等及其輸入框使用RelativeLayout布局。類(lèi)別對(duì)應(yīng)的下拉框使用Spinner。與新增支出界別類(lèi)同金額!+id/irvlnMairlc:11EditTe-xt;1-id/b

20、dInMairk|Ab|TerfView!0+id/IKilnType|v|Spinner;+id/spInTypc丿LinearLayout/石F-elativeLayout|cKjELitton!-kid/btnInCancel|ok|Button;-i-id/btnlnSave時(shí)間2017-12-23類(lèi)別忖款方1000工賁備注哈哈皓O靳空收入新増收入5:我的支出界面:用于用戶(hù)查詢(xún)支出信息,在新增支出界面添加信息后在此界面就可以進(jìn)行顯示,同時(shí)也可點(diǎn)擊進(jìn)入進(jìn)行修改刪除操作。這一界面主要是使用ListView控件。OLOutline滋日w匚?=?xml|JLinearLsyout:4-idyi

21、temiMoJLinearLayout:-t-id/linearL目yciutlRelativeLayout|AbTextview:我的支口LinearLayout:4-id/linearLayout2目ListView:4-id/lvoutaccajntinfo1|外賣(mài)100.0元2017-12-222|外賣(mài)10,0元2017-12-23引零篇?dú)旯麆e,。元201712-23耶觀(guān)rnMparfait回1K?sSliOt*JU1B:44我的査出我的支出protectedvoidonCreate(BundlesavedInstanceState)super.onCreate(savedInstan

22、ceState);setContentView(R.layoutoutaccountinfo);/設(shè)置布局文件lvinfo=(ListView)findViewById(R.id.lvoutaccountinfo);/獲取布局文件中的ListView組件ShowInfo(R.idlvoutaccountinfo);/調(diào)用自定義方法顯示支出信息lvinfo.setOnItemClickListener(newOnItemClickListener()/為L(zhǎng)istView添加項(xiàng)單擊事件/覆寫(xiě)onItemClick方法OverridepublicvoidonItemClick(AdapterView

23、parent,Viewview,intposition,longid)StringstrInfo=Stringv.alueOf(TextView)view).getText();/記錄支出信息Stringstrid=strInfo.substring(0,strInfo.indexO|);/從支出信息中截取支出編號(hào)IntentintentnewIntent(Outaccountinfo.this,InfoManage.class);/創(chuàng)建Intent對(duì)象intent.putExtrFLAG,newStringstrid,strType);/設(shè)置傳遞數(shù)據(jù)startActivity(intent/

24、執(zhí)行Intent操作);privatevoidShowInfo(intintType)/用來(lái)根據(jù)傳入的管理類(lèi)型,顯示相應(yīng)的信息StringstrInfos=null;/定義字符串?dāng)?shù)組,用來(lái)存儲(chǔ)支出信息ArrayAdapterarrayAdapter=null;/創(chuàng)建ArrayAdapter對(duì)象strType=btnoutinfo;/為strType變量賦值OutaccountDAOoutaccountinfonewOutaccountDAO(Outaccountinfo.this);/創(chuàng)建OutaccountDAO對(duì)象/獲取所有支出信息,并存儲(chǔ)到List泛型集合中Listlistoutinfo

25、s=outaccountinfo.getScrollData(0,int)outaccountinfo.getCount();strInfos=newStringlistoutinfos.size();/設(shè)置字符串?dāng)?shù)組的長(zhǎng)度inti=0;/定義一個(gè)開(kāi)始標(biāo)識(shí)for(Tb_outaccounttb_outaccount:listoutinfos)/遍歷List泛型集合/將支出相關(guān)信息組合成一個(gè)字符串,存儲(chǔ)到字符串?dāng)?shù)組的相應(yīng)位置strInfosi=tb_outaccount.getid()+|+tb_outaccount.getType()+String.valueOf(tb_outaccount.

26、getMoney()+元+tb_outaccount.getTime();i+/標(biāo)識(shí)加1/使用字符串?dāng)?shù)組初始化ArrayAdapter對(duì)象arrayAdapter=newArrayAdapter(this,android.R.layout.simple_list_item_1,strInfos);lvinfo.setAdapter(arrayAdapter);/為L(zhǎng)istview列表設(shè)置數(shù)據(jù)源6:我的收入界面:用于用戶(hù)查詢(xún)支出信息,在新增收入界面添加信息后,在此界面就可以進(jìn)行顯示,同時(shí)也可點(diǎn)擊進(jìn)入進(jìn)行修改刪除操作。我的收入II工資1000.07U2017-12-2321#SR1g(J元2017

27、-12-22臣Outline厲-IxmlJLinearLayout丿LinesrL目yvLit;fid/linearLayoutl丿固Rfflstive-Layout|ftb|Textview;我的收入LinearLayout:4-id/linearLayout27:收支便簽界面:這個(gè)界面可以添加便簽,記錄支出、收入信息。相當(dāng)于備忘錄功能。-ISSM/aQIQI5#ID19:5J收盍便躍新增便簽善娠啦善啦啦套翁善尺疋Mnstpa乎iitEOutline戲.IIII,JLinearLayout:+id/itemfl3gLinesrLayout|Ab|TextView!新培便簽JLinarLayo

28、util_EditTerfi4-id/txtFkgJ匚LinesrLayoutJ|E|RelativeLayout函Button:+id/btnFlagCancel函Butto-n;+id/btnFlagSavebtnflagSaveButton.setOnClickListener(newOnClickListener()/為保存按鈕設(shè)置監(jiān)聽(tīng)事件0verridepublicvoidonClick(Viewarg0)StringstrFlag=txtFlag.getText().toString();/獲取便簽文本框的值if(!strFlag.isEmpty()/判斷獲取的值不為空FlagDA

29、OflagDAO=newFlagDAO(Accountflag.this);/創(chuàng)建FlagDAO對(duì)象Tb_flagtb_flag=newTb_flag(flagDAO.getMaxId()+1,strFlag);/創(chuàng)建Tb_flag對(duì)象flagDAO.add(tb_flag)/添加便簽信息/彈出信息提示Toastm.akeText(Accountflag.this,新增便簽數(shù)據(jù)添加成功!,Toast.LENGTH_SHORT).show();elseToastm.akeText(Accountflag.this,請(qǐng)輸入便簽!,Toast.LENGTH_SHORT).show(););btnfl

30、agCancelButton.setOnClickListener(newOnClickListener()/為取消按鈕設(shè)置監(jiān)聽(tīng)事件OverridepublicvoidonClick(Viewarg0)txtFlag.setText();/清空便簽文本框);8:數(shù)據(jù)管理界面:主要用來(lái)管理支出、收入、便簽信息。當(dāng)點(diǎn)擊支出信息、收入信息、便簽信息后,就會(huì)顯示對(duì)應(yīng)的信息,可點(diǎn)擊進(jìn)入管理界面,對(duì)信息進(jìn)行修改或刪除。這一界面在頂部設(shè)三個(gè)按鈕,分別顯示支出信息,收入信息,便簽信息。用ListView控件來(lái)顯示。nfes(.parfaitieuitestparfait逼2SBB/S臼U煤由兌*4llI7T1

31、0:5453908miB:54數(shù)據(jù)官理O數(shù)據(jù)管理支出信恵收入信息便簽信息盍出信息收入信息像簽信息11當(dāng)當(dāng)當(dāng)l|ZEi10000元2017-12-2321紅紅火火恍恍幗惚2謙職1UQ.0元2017-1Z-221|撲賣(mài)1000元2017-12-22辺外賣(mài)10.0元2C17-12-23-Outline滋0O?=?xmlLinesrLsyout:4-id/iteminfod回RelativeLayout函|Button:4-id/blnoutinfookButton:+id/blninin-fookButton;+id/blnflaginfo丿匚LinearLayout!4-id/linearLayo

32、ut2ListView:4-id/lvinfo別零食水果50,U元2017-12-23斗I購(gòu)物50.0元2017-12-23btnoutinfo.setOnClickListener(newOnClickListener()/為支出信息按鈕設(shè)置監(jiān)聽(tīng)事件OverridepublicvoidonClick(Viewarg0)showInfo(R.ibtnoutinfo);/顯示支出信息);btnininfo.setOnClickListener(newOnClickListener()/為收入信息按鈕設(shè)置監(jiān)聽(tīng)事件OverridepublicvoidonClick(Viewarg0)showInfo(R.ibtnininfo);/顯示收入信息);btnflaginfo.setOnClickListener(newOnClickListener()/為便簽信息按鈕設(shè)置監(jiān)聽(tīng)事件OverridepublicvoidonClick(Viewarg0)showInfo(R.ibtnflaginfo);/顯示便簽信息);lvinfo.setOnItemClickListener(newOnItemClickListener()/為L(zhǎng)istView添加項(xiàng)單擊事件/覆寫(xiě)onItemClick方法OverridepublicvoidonItemCl

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論