基于Android平臺(tái)理財(cái)軟件批量處理記賬類別模塊與部分UI設(shè)計(jì)論文_第1頁(yè)
基于Android平臺(tái)理財(cái)軟件批量處理記賬類別模塊與部分UI設(shè)計(jì)論文_第2頁(yè)
基于Android平臺(tái)理財(cái)軟件批量處理記賬類別模塊與部分UI設(shè)計(jì)論文_第3頁(yè)
基于Android平臺(tái)理財(cái)軟件批量處理記賬類別模塊與部分UI設(shè)計(jì)論文_第4頁(yè)
基于Android平臺(tái)理財(cái)軟件批量處理記賬類別模塊與部分UI設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、. . . . 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)設(shè)計(jì)題目: 基于Android平臺(tái)的理財(cái)軟件批量處理、記賬類別模塊以與部分UI設(shè)計(jì)學(xué)院計(jì)算機(jī)科學(xué)與信息工程學(xué)院 目錄1 緒論41.1課題背景51.2相關(guān)技術(shù)的基礎(chǔ)知識(shí)51.2.1 Android開(kāi)發(fā)的相關(guān)技術(shù)基礎(chǔ)51.3 本文主要研究工作和章節(jié)安排82 Android的架構(gòu)概述與開(kāi)發(fā)環(huán)境搭建82.1 Android的架構(gòu)描述82.2 Android的開(kāi)發(fā)環(huán)境搭建82.2.1 環(huán)境的安裝與搭建82.3 本章小結(jié)93 需求分析與系統(tǒng)總體設(shè)計(jì)93.1 概述93.1.1編寫(xiě)目的93.1.2讀者對(duì)象93.1.3術(shù)語(yǔ)與縮寫(xiě)解釋93.2 系統(tǒng)說(shuō)明103.2.1產(chǎn)品開(kāi)發(fā)背景和目標(biāo)

2、103.2.1.1 背景103.2.1.2 目標(biāo)103.2.2 產(chǎn)品目標(biāo)用戶和最終用戶103.2.2.1 目標(biāo)用戶103.2.2.2 最終用戶103.2.3 系統(tǒng)軟件的約束103.2.4 軟件系統(tǒng)當(dāng)前版本的圍103.2.5 軟件系統(tǒng)的角色113.2.6 軟件系統(tǒng)的功能列表113.3 功能需求描述113.3.1管家理財(cái)?shù)墓δ苄枨?13.3.1.1 業(yè)務(wù)流程123.3.1.2 需求描述123.4其他需求說(shuō)明123.4.1軟件硬件環(huán)境123.4.1.1硬件環(huán)境123.4.1.2 軟件環(huán)境133.5 本章小結(jié)134 系統(tǒng)詳細(xì)設(shè)計(jì)134.1 簡(jiǎn)介134.1.1目的134.1.2 圍144.1.2.1 軟

3、件名稱144.1.2.2 軟件功能144.2 總體設(shè)計(jì)154.2.1 總體設(shè)計(jì)思路154.2.2 記賬類別子模塊的劃分164.2.3 記賬類別模塊頁(yè)面流程164.3記賬類別各子模塊的函數(shù)接口194.3.1 記賬類別主菜單函數(shù)接口194.3.1.1 描述194.3.1.2 模塊ClassActivity類結(jié)構(gòu)194.3.1.3 XML布局文件204.3.1.4 對(duì)外接口214.3.2記賬類別添加模塊上級(jí)目錄函數(shù)接口234.3.2.1 描述234.3.2.2 ClassEditiActivity類結(jié)構(gòu)234.3.2.3 XML布局文件254.3.2.4 對(duì)外接口194.4 數(shù)據(jù)庫(kù)設(shè)計(jì)274.4.1

4、 表結(jié)構(gòu)274.4.2 訪問(wèn)數(shù)據(jù)庫(kù)的實(shí)現(xiàn)274.5本章小結(jié)295測(cè)試296 總結(jié)316.1 畢業(yè)設(shè)計(jì)完成的任務(wù)326.2 收獲和總結(jié)32參考文獻(xiàn)33致33基于Android平臺(tái)的理財(cái)軟件批量處理、記賬類別模塊以與部分UI設(shè)計(jì)XXXXXXX 計(jì)算機(jī)科學(xué)與信息工程學(xué)院 20XX級(jí)軟件X班 XXX指導(dǎo)老師:XXX摘要本文就在分析討論Android手機(jī)軟件開(kāi)發(fā)原理的基礎(chǔ)上,開(kāi)發(fā)的一款能夠提供一些日常的簡(jiǎn)單理財(cái)?shù)能浖軌蛴涗浻脩裘刻斓南M(fèi)與支出,并且可以根據(jù)自己的意愿對(duì)于自己的消費(fèi)和支出進(jìn)行一個(gè)分類,之后又運(yùn)用了Charts圖表的形式非常直觀的反映出來(lái),這樣可以對(duì)用戶有一個(gè)直觀的沖擊,讓用戶體驗(yàn)到自

5、己的消費(fèi)水平與自己的收入之間的一個(gè)匹配度,以此來(lái)提醒用戶如何去規(guī)劃自己的生活,同時(shí)也能夠查詢過(guò)往時(shí)間的消費(fèi)記錄,這樣讓用戶在后面能夠從哪些地方去加以改善,以此來(lái)提高用戶的生活質(zhì)量。關(guān)鍵詞 Android Linux手機(jī)理財(cái)Abstract In this paper, based on analyzing and discussing the Android mobile phone software development principle, the development of a simple routine can provide some financial management

6、software, it can record the user consumption and spending every day, and can according to their own wishes for a classification for their own consumption and expenditure, and then use the Charts chart in the form of very intuitively reflected, this will have a direct impact on the user, allowing use

7、rs to experience between their consumption level and their income of a match, to remind users to plan their own lives, but also be able to query past time records of consumption, so that the user can go in the back improved from where, in order to improve the user's quality of life.Key words And

8、roid Linux mobile phone banking一 緒論1、課題背景隨著經(jīng)濟(jì)的發(fā)展,人們的生活水平日益提高,人們的消費(fèi)觀念的不斷轉(zhuǎn)變,消費(fèi)也從低級(jí)開(kāi)始逐步向較高的層級(jí)遞進(jìn)發(fā)展,在滿足物質(zhì)消費(fèi)的同時(shí),人們更重視精神消費(fèi)。尤其是現(xiàn)代化的經(jīng)濟(jì)生活,科學(xué)技術(shù)的作用日益顯著,對(duì)勞動(dòng)者素質(zhì)的要求越來(lái)越高。人們不僅把錢用于物質(zhì)方面,還很重視精神消費(fèi)。精神消費(fèi)用于增進(jìn)人的精神健康、娛樂(lè)身心與發(fā)展提高自身的各種消費(fèi),而在這個(gè)經(jīng)濟(jì)發(fā)達(dá)的社會(huì)智能手機(jī)應(yīng)運(yùn)而生,而其中尤為突出的又屬2008年Google推出了一款名為Android的開(kāi)源智能手機(jī)系統(tǒng),它采用Linux核,開(kāi)放手機(jī)聯(lián)盟(OHA)成員可以任意

9、使用和修改SDK包,系統(tǒng)的開(kāi)源性使其具有良好的拓展性。這款軟件包括了操作系統(tǒng),用戶界面和應(yīng)用程序,即智能手機(jī)工作所需要的全部軟件。Android的最大特點(diǎn)是其開(kāi)放性體系架構(gòu),不僅具有非常好的開(kāi)發(fā)、調(diào)試環(huán)境,而且還支持各種可擴(kuò)展的用戶體驗(yàn),包括豐富的圖形組件、多媒體支持功能以與強(qiáng)大的瀏覽器。因此,對(duì)于軟件從業(yè)人員來(lái)說(shuō),Android平臺(tái)具有無(wú)限的吸引力。在兩者的結(jié)合之下,app應(yīng)用也更是層出不窮,而本文就是在Android系統(tǒng)上設(shè)計(jì)了一款關(guān)于理財(cái)?shù)能浖?、相關(guān)技術(shù)的基礎(chǔ)知識(shí)(1)Android開(kāi)發(fā)的相關(guān)技術(shù)基礎(chǔ)Activity應(yīng)用程序中,一個(gè)Activity通常就是一個(gè)單獨(dú)的屏幕,它上面可以顯

10、示一些控件也可以監(jiān)聽(tīng)并處理用戶的事件做出響應(yīng)。Activity之間通過(guò)Intent進(jìn)行通信。在Intent 的描述結(jié)構(gòu)中,有兩個(gè)最重要的部分:動(dòng)作和動(dòng)作對(duì)應(yīng)的數(shù)據(jù)。Activty的生命周期 onCreate :當(dāng)活動(dòng)第一次啟動(dòng)的時(shí)候,觸發(fā)該方法,可以在此時(shí)完成活動(dòng)的初始化工作。 onCreate 方法有一個(gè)參數(shù),可以為空值,就代表要重新創(chuàng)建實(shí)例,也可以是之前調(diào)用 onSaveInstanceState ()方法保存的狀態(tài)信息。onStart :該方法的觸發(fā)表示所屬活動(dòng)將被展現(xiàn)給用戶。onResume :當(dāng)一個(gè)活動(dòng)和用戶發(fā)生交互的時(shí)候,觸發(fā)該方法

11、。onPause :當(dāng)一個(gè)正在前臺(tái)運(yùn)行的活動(dòng)因?yàn)槠渌幕顒?dòng)需要前臺(tái)運(yùn)行而轉(zhuǎn)入后臺(tái)運(yùn)行的時(shí)候,觸發(fā)該方法。onStop :當(dāng)一個(gè)活動(dòng)不再需要展示給用戶的時(shí)候,觸發(fā)該方法。onRestart :當(dāng)處于停止?fàn)顟B(tài)的活動(dòng)需要再次展現(xiàn)給用戶的時(shí)候,觸發(fā)該方法。onDestroy :當(dāng)活動(dòng)銷毀的時(shí)候,觸發(fā)該方法。onSaveInstanceState :系統(tǒng)調(diào)用該方法,保存之前的狀態(tài)。activity的四種加載模式standard::標(biāo)準(zhǔn)模式,一調(diào)用startActivity()方法就會(huì)產(chǎn)生一個(gè)新的實(shí)例。singleTop::如果已經(jīng)有一個(gè)實(shí)例位于Activity棧的

12、頂部時(shí),就不產(chǎn)生新的實(shí)例,如果不位于棧頂,會(huì)產(chǎn)生一個(gè)新的實(shí)例。singleTask::會(huì)在一個(gè)新的task中產(chǎn)生這個(gè)實(shí)例,以后每次調(diào)用都會(huì)使用這個(gè),不會(huì)去產(chǎn)生新的實(shí)例了。singleInstance::這個(gè)跟singleTask基本上是一樣,只有一個(gè)區(qū)別:在這個(gè)模式下的Activity實(shí)例所處的task中,只能有這個(gè)activity實(shí)例,不能有其他的實(shí)例。ServiceService是在一段不定的時(shí)間運(yùn)行在后臺(tái),不和用戶交互應(yīng)用組件。每個(gè)Service必須在manifest中 通過(guò)<service>來(lái)聲明??梢酝ㄟ^(guò)startservice和bindserverice來(lái)啟動(dòng)。Serv

13、ice和其他的應(yīng)用組件一樣,運(yùn)行在進(jìn)程的主線程中。這就是說(shuō)如果service需要很多耗時(shí)或者阻塞的操作,需要在其子線程中實(shí)現(xiàn)。Service生命周期startService() ->onCreate()->onStart()->stopService() | ->onDestroy() BroadCastReceiverBroadcastReceiver 用于異步接收廣播Intent主要有兩大類,用于接收廣播的:正常廣播,有序廣播另外Broadcast Receiver 并沒(méi)有提供可視化的界面來(lái)顯示廣播信息。BroadcastReceiver 生命周期一個(gè)Broadca

14、stReceiver 對(duì)象只有在被調(diào)用onReceive(Context, Intent)的才有效的,當(dāng)從該函數(shù)返回后,該對(duì)象就無(wú)效的了,結(jié)束生命周期。BroadcastReceiver 的兩種注冊(cè)方式:靜態(tài)方式,在AndroidManifest.xml的application里面定義receiver并設(shè)置要接收的action。動(dòng)態(tài)方式, 在activity里面調(diào)用函數(shù)來(lái)注冊(cè),和靜態(tài)的容差不多。一個(gè)形參是receiver,另一個(gè)是IntentFilter,其中里面是要接收的action。ContentProviderContentProvider主要用于對(duì)外共享數(shù)據(jù),也就是通過(guò)ContentP

15、rovider把應(yīng)用中的數(shù)據(jù)共享給其他應(yīng)用訪問(wèn),其他應(yīng)用可以通過(guò)ContentProvider對(duì)指定應(yīng)用中的數(shù)據(jù)進(jìn)行操作。Android的五種布局方式FrameLayout 幀布局,放入其中的所有元素都被放置你設(shè)定的區(qū)域,以后的元素都會(huì)在你的區(qū)域上重疊LinearLayout 線性布局,是應(yīng)用程序中最常用的布局方式,主要提供控件水平或者垂直排列的模型,每個(gè)子組件都是以垂直或水平的方式來(lái)定位.(默認(rèn)是垂直) AbsoluteLayout 絕對(duì)定位布局,采用坐標(biāo)軸的方式定位組件RelativeLayout 相對(duì)布局,根據(jù)另外一個(gè)組件或是頂層父組件來(lái)確定下一個(gè)組件的位置。TableLayout 表格

16、布局,以表格的形式布局,使用TableRow,其中TableRow代表一行,TableRow的每一個(gè)視圖組件代表一個(gè)單元格。android數(shù)據(jù)存儲(chǔ)方式SharedPreferences存儲(chǔ)數(shù)據(jù);它是Android提供的用來(lái)存儲(chǔ)一些簡(jiǎn)單配置信息的一種機(jī)制,采用了XML格式將數(shù)據(jù)存儲(chǔ)到設(shè)備中。只能在同一個(gè)包使用,不能在不同的包之間使用。文件存儲(chǔ)數(shù)據(jù);是Android中讀取/寫(xiě)入文件的方法,與Java中實(shí)現(xiàn)I/O的程序是完全一樣的,提供了openFileInput()和openFileOutput()方法來(lái)讀取設(shè)備上的文件。SQLite數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù);SQLite是Android所帶的一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)

17、庫(kù),它支持SQL語(yǔ)句,它是一個(gè)輕量級(jí)的嵌入式數(shù)據(jù)庫(kù)。ContentProvider存儲(chǔ)數(shù)據(jù);主要用于應(yīng)用程序之間進(jìn)行數(shù)據(jù)交換,從而能夠讓其他的應(yīng)用保存或讀取此Content Provider的各種數(shù)據(jù)類型。網(wǎng)絡(luò)存儲(chǔ)數(shù)據(jù);通過(guò)網(wǎng)絡(luò)上的方式進(jìn)行上傳和下載。還有很多其他的一些知識(shí),在這里就不做一一介紹了。3、本文主要研究工作和章節(jié)安排第一章主要講述了項(xiàng)目的來(lái)源、項(xiàng)目的目的和研究意義,并對(duì)本系統(tǒng)開(kāi)發(fā)的一些基本知識(shí)進(jìn)行了介紹第二章對(duì)android開(kāi)發(fā)環(huán)境的搭配進(jìn)行詳細(xì)的說(shuō)明第三章是關(guān)于需求分析和系統(tǒng)的總體設(shè)計(jì)第四章說(shuō)明了關(guān)于系統(tǒng)的詳細(xì)設(shè)計(jì)第五章對(duì)本次畢設(shè)進(jìn)行了總結(jié)和展望二 Android的架構(gòu)概述與開(kāi)發(fā)

18、環(huán)境搭建1、Android的架構(gòu)描述Android系統(tǒng)架構(gòu)圖與各層介紹應(yīng)用層:應(yīng)用是用java語(yǔ)言編寫(xiě)的運(yùn)行在虛擬機(jī)上的程序。應(yīng)用框架層:這一層是編寫(xiě)Google發(fā)布的核心應(yīng)用時(shí)所使用的API框架,開(kāi)發(fā)人員同樣可以使用這些框架來(lái)開(kāi)發(fā)自己的應(yīng)用,這樣便簡(jiǎn)化了程序開(kāi)發(fā)的結(jié)構(gòu)設(shè)計(jì),但是必須要遵守其框架的開(kāi)發(fā)原則。系統(tǒng)運(yùn)行庫(kù)(C/C+庫(kù)以與Android運(yùn)行庫(kù))層:當(dāng)使用Android應(yīng)用框架時(shí),Android系統(tǒng)會(huì)通過(guò)一些C/C+庫(kù)來(lái)支持我們使用的各 個(gè)組件,使其更好的為我們服務(wù)。Linux核層:Android的核心系統(tǒng)服務(wù)給予Linux2.6核,如安全性、存管理、進(jìn)程管理、網(wǎng)絡(luò)協(xié)議棧和驅(qū)動(dòng)模型等都

19、依賴于該核,比如 Binder IPC驅(qū)動(dòng),android的一個(gè)特殊驅(qū)動(dòng)程序,具有單獨(dú)的設(shè)備節(jié)點(diǎn),提供進(jìn)程間通信的功能。2、Android的開(kāi)發(fā)環(huán)境搭建(1) 環(huán)境的安裝與搭建1)安裝JDK將下載好的JDK安裝好以后,設(shè)置環(huán)境變量步驟如下:a.我的電腦->屬性->高級(jí)->環(huán)境變量->系統(tǒng)變量中添加以后環(huán)境變量:b.JAVA_HOME值為:D:Program FilesJavajdk1.6.0_18 (你安裝JDK的目錄)c.在開(kāi)始追加 %JAVA_HOME%bin;安裝完成后,可以檢查JDK是否安裝成功。打開(kāi)cmd窗口,輸入java-version查看JDK版

20、本信息2)安裝eclipse3)安裝 Android SDK4)安裝 ADT5)創(chuàng)建AVD以上步奏完成之后就可以開(kāi)發(fā)你的第一個(gè)android程序啦。3、本章小結(jié)本章主要介紹一些關(guān)于Android的基礎(chǔ)知識(shí),以與安裝軟件的安裝,只有當(dāng)你了解了基礎(chǔ)知識(shí),和安裝好了軟件之后,才能夠開(kāi)發(fā)你的Android程序呢。三 需求分析1、概述(1)編寫(xiě)目的用于方便個(gè)人生活的小軟件,它能夠非常方便的記錄你個(gè)人財(cái)產(chǎn)的使用情況,能夠用圖表的方式直觀體現(xiàn)你的經(jīng)濟(jì)使用情況,能夠讓你的生活更有規(guī)律,更有節(jié)奏。(2)術(shù)語(yǔ)與縮寫(xiě)解釋縮寫(xiě)、術(shù)語(yǔ)解釋APKAndroidPackageJNIJAVA native IntefaceS

21、DKSOFTWARE DEVELOPMENT KITADT開(kāi)發(fā) Android 應(yīng)用程序的插件2、 系統(tǒng)說(shuō)明(1)產(chǎn)品開(kāi)發(fā)背景和目標(biāo)1)背景從改革開(kāi)放至今,我國(guó)經(jīng)濟(jì)快速增長(zhǎng),居民的家庭財(cái)富也在不斷積累擴(kuò)大,人們未來(lái)面對(duì)的不確定性越來(lái)越多,這使每一個(gè)家庭必須要通過(guò)理財(cái)才能實(shí)現(xiàn)自己的家庭的生活目標(biāo)和提高生活質(zhì)量。由于理財(cái)?shù)闹匾?它日益成為家庭關(guān)注的焦點(diǎn),目前我國(guó)居民的家庭理財(cái)規(guī)劃方式較片面,理財(cái)中絕大多數(shù)只是關(guān)心財(cái)富增值效應(yīng),缺乏長(zhǎng)期性、嚴(yán)謹(jǐn)性和科學(xué)性。所以我們希望能設(shè)計(jì)出一款能夠提供一些日常的簡(jiǎn)單理財(cái),提升個(gè)人以與家庭的生活質(zhì)量。2)目標(biāo)人們的生活水平提高,但是人群卻分為了很多種類,比如月光族

22、,蟻?zhàn)宓鹊热巳旱某霈F(xiàn),這都是對(duì)于自己的消費(fèi)沒(méi)有規(guī)律造成的,并且還不知道自己的錢花到了何處,不過(guò)當(dāng)你用到了管家理財(cái)這款軟件之后,你所有的消費(fèi)都能夠一目了然,更是運(yùn)用到了圖表的方式,更直觀的顯示,這樣下次就可以省掉很多不必要的支出,來(lái)保持你的收支,提高你的生活質(zhì)量。(2)產(chǎn)品目標(biāo)用戶和最終用戶1)目標(biāo)用戶安卓系統(tǒng)移動(dòng)端使用者2)最終用戶安卓系統(tǒng)移動(dòng)端使用者(3)系統(tǒng)軟件的約束客戶端操作系統(tǒng):Android系統(tǒng);客戶端硬件設(shè)備:Android手機(jī)登移動(dòng)終端;JDK版本1.5以上;Android SDK版本2.2以上;開(kāi)發(fā)環(huán)境:Windows 7操作系統(tǒng)開(kāi)發(fā)工具:eclipse,sqlite;(4)軟

23、件系統(tǒng)當(dāng)前版本的圍Android手機(jī)(5)軟件系統(tǒng)的角色用戶(6)軟件系統(tǒng)的功能列表批量處理記賬類別3、功能需求描述(1)管家理財(cái)?shù)墓δ苄枨?)用例模型圖1用戶登錄模型2) 動(dòng)態(tài)模型圖2用戶總體流程圖3 )業(yè)務(wù)流程記賬類別的業(yè)務(wù)流程:圖3記賬類別流程圖4 )需求描述記賬類別:根據(jù)個(gè)人的需求添加出不同的分類,方便自己的管理,更清晰的顯示你的消費(fèi)和收入情況,其中分為兩個(gè)打的模塊:管理:把之前分好的類別的數(shù)據(jù)進(jìn)行操作添加:添加新的類別,同時(shí)判斷類別中與上級(jí)目錄是否重復(fù)(2)其他需求說(shuō)明1)硬件環(huán)境詳細(xì)配置如下:基本類別類別Android手機(jī)結(jié)構(gòu)Android軟件系統(tǒng)系統(tǒng)支持Android系統(tǒng)2)軟件

24、環(huán)境Dev版本: Android手機(jī)4.4.4版本操作系統(tǒng)名稱: Android手機(jī)開(kāi)發(fā)工具: eclipse 軟件體系結(jié)構(gòu): Android系統(tǒng)數(shù)據(jù)庫(kù)版本: SQLite4、本章小結(jié)本章主要介紹實(shí)現(xiàn)該軟件的需求分析,后期需要根據(jù)這個(gè)需求來(lái)完成設(shè)計(jì)。四 系統(tǒng)設(shè)計(jì)1、 簡(jiǎn)介總體E-R圖:圖4收入-記賬類別E-R圖圖5消費(fèi)-記賬類別E-R圖(1)目的本文的目的是為了描述記賬類別模塊的軟件設(shè)計(jì)思想,主要包括:介紹記賬類別模塊的總體設(shè)計(jì)思路;描述記賬類別模塊的子模塊劃分;描述記賬類別模塊各子模塊間的關(guān)系和部接口;著重描述記賬類別各子模塊的設(shè)計(jì)思路和實(shí)現(xiàn)方法。本文檔經(jīng)過(guò)需要經(jīng)過(guò)評(píng)審以后,為后續(xù)的編碼做準(zhǔn)

25、備工作,并且該文檔將為系統(tǒng)測(cè)試計(jì)劃以與測(cè)試用例寫(xiě)作的提供必要的相關(guān)參考信息。該文檔也可供軟件組其他模塊軟件開(kāi)發(fā)人員、測(cè)試人員參考之用。(2) 圍1) 軟件名稱記賬類別模塊詳細(xì)設(shè)計(jì)說(shuō)明書(shū)2)軟件功能a.點(diǎn)擊記賬類別,從主菜單進(jìn)入記賬類別管理主界面b.管理模塊下會(huì)顯示你的所有收入以與消費(fèi)的目錄c.長(zhǎng)按管理模塊下的消費(fèi)目錄會(huì)彈出操作主界面d.點(diǎn)擊操作界面的修改按鈕,會(huì)進(jìn)入修改頁(yè)面,并且會(huì)將之前的數(shù)據(jù)傳入修改頁(yè)面e.點(diǎn)擊操作界面的刪除按鈕,會(huì)彈出一個(gè)提示界面,詢問(wèn)你是否刪除,如果點(diǎn)擊確定,這條數(shù)據(jù)就會(huì)被刪除,點(diǎn)擊取消就會(huì)回到主菜單f.選擇添加模塊的時(shí)候,就會(huì)進(jìn)入添加主界面g.你可以在主界面添加你新增的

26、數(shù)據(jù),并且進(jìn)行一些判斷h.當(dāng)你點(diǎn)擊上級(jí)類別的時(shí)候,會(huì)彈出你之前新增的目錄結(jié)構(gòu)i.點(diǎn)擊是否重復(fù)按鈕的時(shí)候,會(huì)根據(jù)你輸入的字符串與數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行匹配,重復(fù)則不可添加,不重復(fù)才能夠使用,以與其他的一些信息j.點(diǎn)擊重設(shè),所有的數(shù)據(jù)會(huì)清空k.當(dāng)可以添加成功之后,會(huì)回到記賬類別管理界面2、總體設(shè)計(jì)(1) 總體設(shè)計(jì)思路記賬類別總體結(jié)構(gòu)圖圖6記賬類別總體結(jié)構(gòu)圖(2)記賬類別子模塊的劃分 根據(jù)所需實(shí)現(xiàn)的功能和總結(jié)設(shè)計(jì)思路,也為了對(duì)記賬類別進(jìn)行有效管理,在詳細(xì)的設(shè)計(jì)過(guò)程中,我們把記賬類別模塊劃分為以下幾個(gè)子模塊來(lái)進(jìn)行實(shí)現(xiàn)。管理子模塊a. 修改子模塊b. 刪除子模塊添加子模塊a. 添加子模塊b. 判斷類別模塊管

27、理子模塊:用于管理我們插入的記賬類別信息添加子模塊:用于添加新的記賬類別信息修改子模塊:用戶修改自己已經(jīng)存在的類別信息刪除子模塊:用戶可以根據(jù)自己的需要?jiǎng)h除類別信息判斷類別模塊:用戶可以根據(jù)自己的需求生成父級(jí)與子級(jí)目錄(3) 記賬類別模塊頁(yè)面流程根據(jù)需求分析時(shí)所定義的功能,我們對(duì)記賬類別模塊從界面上做一個(gè)介紹.總體框架圖:管理模塊流程:添加子模塊流程:判斷上級(jí)目錄模塊:3、記賬類別各子模塊的函數(shù)接口(1)記賬類別主菜單函數(shù)接口1)描述主菜單模塊主要是實(shí)現(xiàn)用戶與記賬類別各模塊進(jìn)行交互的接口,用來(lái)對(duì)子模塊功能進(jìn)行選擇。本模塊是基于TabActivity類來(lái)實(shí)現(xiàn)的。2)模塊ClassActivity

28、類結(jié)構(gòu)publicclass ClassActivity extendsTabActivity 主要包括如下函數(shù):protectedvoid onCreate(Bundle savedInstanceState) /用于初始化加載圖形界面publicboolean onContextItemSelected(MenuItem item) /對(duì)條目的選擇功能進(jìn)行設(shè)置,eg:操作,修改,刪除等privatevoid updateManageFclassListViewAdapter(ListView lv, long _pid,int type) / 管理頁(yè)面動(dòng)態(tài)顯示類別privatevoid u

29、pdateAllFlcassListViewAdapter(ListView lv, long _pid, int type) / 對(duì)界面的功能操作之后,更新界面privatevoid updateAllFlcassListView(long _pid, int type) / 添加類別頁(yè)面動(dòng)態(tài)顯示類別privatevoid setAllFcclassDialogListener() /給記賬類別中的控件添加監(jiān)聽(tīng)時(shí)間privatevoid deleteItem(finallong _id) / 刪除類別privateboolean checkIsRepeat(String name) / 根據(jù)

30、名稱查詢?cè)谝延蓄愋停ú缓约海┲惺欠褚呀?jīng)存在該類別的名稱privateboolean insertBefore() /判斷是否能夠插入數(shù)據(jù)privatevoid insertFclass() /用于插入數(shù)據(jù)privatelong getIdByName(String name) / 根據(jù)Name查詢表中已存在記錄的IDprivate String getNameById(long _id) / 根據(jù)ID查詢表中已存在記錄的Nameprivate Fclass getFclassById(long _id) / 根據(jù)ID查詢表中已存在記錄private ArrayList<Fclass&g

31、t; getSubFclassByParentId(long _pid) / 根據(jù)子類別中的父類別ID屬性值查詢子類別protectedvoid onStop() /查詢結(jié)束之后關(guān)閉游標(biāo)3)XML布局文件activity_fclass.xml /用于對(duì)頁(yè)面的總體的布局,在這個(gè)類模塊加載管理模塊理模塊dialog_fclass_allclass.xml/用于顯示添加的所有數(shù)據(jù)的布局dialog_countdelete.xml/用于詢問(wèn)是否刪除數(shù)據(jù)的布局item_fclass_manage.xml/用于顯示單條數(shù)據(jù)顯示的樣式activity_fclass_edit.xml/操作中的修改界面樣式4)

32、對(duì)外接口點(diǎn)擊事件監(jiān)聽(tīng)接口原型publicvoid onClick(View v);描述用來(lái)設(shè)置點(diǎn)擊事件輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出根據(jù)用戶選擇,顯示對(duì)應(yīng)的功能界面返回?zé)o用戶選擇事件監(jiān)聽(tīng)接口原型publicvoid onItemClick(AdapterView<?> parent, View view,int position, long id);描述用來(lái)響應(yīng)用戶Item的選擇輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出根據(jù)用戶選擇的條目,顯示對(duì)應(yīng)的功能界面返回?zé)o設(shè)定用戶需要界面監(jiān)聽(tīng)接口原型lv_fclass_mange.setOnItemClickListener(new OnItemClickListen

33、er() 描述設(shè)定用戶需要的選項(xiàng),根據(jù)用戶的選擇來(lái)顯示相應(yīng)的畫(huà)面輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出無(wú)返回?zé)o操作選項(xiàng)監(jiān)聽(tīng)接口原型lv_fclass_mange.setOnCreateContextMenuListener(new OnCreateContextMenuListener() 描述根據(jù)需要設(shè)定相應(yīng)的操作選項(xiàng)輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出無(wú)返回?zé)o目錄選項(xiàng)監(jiān)聽(tīng)接口原型edt_fclassinsert_parent.setOnClickListener(new OnClickListener() 描述點(diǎn)擊此選項(xiàng)時(shí),輸入父級(jí)目錄輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出無(wú)返回?zé)o操作目錄界面監(jiān)聽(tīng)接口原型btn_fclassinser

34、t_parent.setOnClickListener(new OnClickListener() 描述點(diǎn)擊此選項(xiàng)時(shí),彈出父級(jí)目錄輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出無(wú)返回?zé)o判斷監(jiān)聽(tīng)接口原型btn_fclassinsert_isrep.setOnClickListener(new OnClickListener() 描述點(diǎn)擊此選項(xiàng)時(shí),判斷你的目錄是否按規(guī)定輸入輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出無(wú)返回?zé)o成功插入接口原型btn_fclass_insert_ok.setOnClickListener(new OnClickListener() 描述點(diǎn)擊此選項(xiàng)時(shí),你輸入的數(shù)據(jù)成功則可成功插入輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出無(wú)返回?zé)o取消插

35、入監(jiān)聽(tīng)接口原型btn_fclass_insert_reset.setOnClickListener(new OnClickListener() 描述點(diǎn)擊此選項(xiàng)時(shí),取消插入,所以的數(shù)據(jù)清空輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出無(wú)返回?zé)o取消選擇監(jiān)聽(tīng)接口原型btn_fclass_chose_cancel.setOnClickListener(new View.OnClickListener()描述點(diǎn)擊此選項(xiàng)時(shí),取消你選擇的類別輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出無(wú)返回?zé)o長(zhǎng)按操作監(jiān)聽(tīng)接口原型lv_fclass_allclass_item.setOnItemLongClickListener(new OnItemLongClickL

36、istener()描述長(zhǎng)按可以選中這個(gè)條目輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出無(wú)返回?zé)o確定選擇監(jiān)聽(tīng)接口原型lv_fclass_allclass_item.setOnItemClickListener(new OnItemClickListener() 描述點(diǎn)擊此選項(xiàng)時(shí),進(jìn)入你選擇的這個(gè)條目輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出無(wú)返回?zé)o(2)記賬類別添加模塊上級(jí)目錄函數(shù)接口1) 描述記賬類別添加模塊主要用于用戶添加自己新增數(shù)據(jù)目錄信息,來(lái)分類管理自己的消費(fèi)情況,他是基于Activity類實(shí)現(xiàn)的。2)ClassEditiActivity類結(jié)構(gòu)publicclass ClassActivity extendsTabActivit

37、y 主要包括以下函數(shù):protectedvoid onCreate(Bundle savedInstanceState) /用于加載添加主界面privatevoid updateOtherFlcassListViewAdapter(ListView lv, long _pid,int type) / 更新ListView的Adapterprivatevoid updateOtherFlcassListView(int type) /根據(jù)不同的類型顯示不同的界面privatevoid setDialogListener() / 設(shè)置對(duì)話框中的各個(gè)控件的各種事件public Fclass getF

38、classById(long _id) / 根據(jù)ID查詢表中已存在記錄privateboolean checkIsRepeat(long _id, String name) / 查詢除自己外的是否有與自己重名的類別privateboolean updateBefore() /判斷是否滿足條件更新privatevoid updateFclass() /更新記賬類別里面的數(shù)據(jù)privatelong getIdByName(String name) / 根據(jù)Name查詢表中已存在記錄的ID3) XML布局文件activity_fclass.xml /用于對(duì)頁(yè)面的總體的布局,在這個(gè)類模塊加載添加模塊理

39、模塊其中包含BUTTON,EDITTEXT等控件的樣式設(shè)置。4)對(duì)外接口點(diǎn)擊事件監(jiān)聽(tīng)接口原型publicvoid onClick(View v);描述用來(lái)設(shè)置點(diǎn)擊事件輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出根據(jù)用戶選擇,顯示對(duì)應(yīng)的功能界面返回?zé)o插入更新數(shù)據(jù)監(jiān)聽(tīng)接口原型edt_fclassupdate_parent.setOnClickListener(new OnClickListener() 描述點(diǎn)擊插入更新數(shù)據(jù)輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出根據(jù)用戶選擇,顯示對(duì)應(yīng)的功能界面返回?zé)o判斷輸入數(shù)據(jù)監(jiān)聽(tīng)接口原型edt_fclassupdate_isrep.setOnClickListener(new OnClickListe

40、ner() 描述判斷你插入的數(shù)據(jù)是否屬于正確的數(shù)據(jù)輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出根據(jù)用戶選擇,顯示對(duì)應(yīng)的功能界面返回?zé)o備注信息監(jiān)聽(tīng)接口原型edt_fclassupdate_remark.setOnClickListener(new OnClickListener() 描述插入備注信息輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出根據(jù)用戶選擇,顯示對(duì)應(yīng)的功能界面返回?zé)o更新父級(jí)目錄監(jiān)聽(tīng)接口原型btn_fclassupdate_parent.setOnClickListener(new OnClickListener() 描述更新父級(jí)目錄數(shù)據(jù)輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出根據(jù)用戶選擇,顯示對(duì)應(yīng)的功能界面返回?zé)o判斷事件監(jiān)聽(tīng)接口原型btn_f

41、classupdate_isrep.setOnClickListener(new OnClickListener() 描述點(diǎn)擊之后,判斷目錄是否重復(fù),或者格式是否正確,則可以插入目錄輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出根據(jù)用戶選擇,顯示對(duì)應(yīng)的功能界面返回?zé)o插入數(shù)據(jù)監(jiān)聽(tīng)接口原型btn_fclass_update_ok.setOnClickListener(new OnClickListener() 描述所有需要輸入的都正確,則可以插入整條數(shù)據(jù)輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出根據(jù)用戶選擇,顯示對(duì)應(yīng)的功能界面返回?zé)o還原數(shù)據(jù)監(jiān)聽(tīng)接口原型btn_fclass_update_back.setOnClickListener(new

42、 OnClickListener() 描述點(diǎn)擊此按鈕,你輸入的信息都會(huì)被還原輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出根據(jù)用戶選擇,顯示對(duì)應(yīng)的功能界面返回?zé)o清空數(shù)據(jù)監(jiān)聽(tīng)接口原型btn_fclass_update_clear.setOnClickListener(new OnClickListener() 描述點(diǎn)擊此按鈕,清空所有信息輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出根據(jù)用戶選擇,顯示對(duì)應(yīng)的功能界面返回?zé)o返回事件監(jiān)聽(tīng)接口原型btn_fclass_update_return.setOnClickListener(new OnClickListener() 描述點(diǎn)擊此按鈕,返回上級(jí)頁(yè)面輸入鍵盤或鼠標(biāo)點(diǎn)擊輸出根據(jù)用戶選擇,顯示對(duì)應(yīng)的

43、功能界面返回?zé)o4、數(shù)據(jù)庫(kù)設(shè)計(jì)(1)表結(jié)構(gòu)在記賬類別模塊中,類別信息是存放在SQLite數(shù)據(jù)庫(kù)中的,數(shù)據(jù)庫(kù)名:FINACE.DB, 表名為:TABLE_FCLASS_NAME。表4-1具體結(jié)構(gòu)如下所示。字段名:_idfclassnamefclassparentidsubcountfclassimgfclassremark描述:自動(dòng)ID記賬類別名稱記賬類別父類ID記賬類別子類目錄圖片屬性描述屬性:IntTextIntIntIntTextClassname:用于存放記賬類別的名稱Fclassoarentid:用于存放父類級(jí)別的標(biāo)識(shí)IDSubcount:用于存放子類記賬類別的個(gè)數(shù)Fclassimg:用

44、于存放圖片屬性Fclassremark:用于存放描述信息(2) 訪問(wèn)數(shù)據(jù)庫(kù)的實(shí)現(xiàn)publicclass FclassDAO /主類publicclass DBHelper extends SQLiteOpenHelper 主要函數(shù)如下:public Cursor fetchAllFclass() / 查詢所有public Cursor fetchAllFclassIsRoot() / 查詢不含父類別的所有頂類別public Cursor fetchAllFclassIsSub(long _pid) / 查詢頂類別的所有子類別public Cursor fetchOtherFclassIsRoo

45、t(long _id) / 查詢不含父類別和當(dāng)前類別的所有頂類別public Cursor fetchOtherFclassIsSub(long _id, long _pid) / 查詢頂類別的所有子類別(不含傳入的類別)public Cursor fetchOtherFclass(long _id, int type) / 查詢除某一ID的其它類別-type為1表示查詢含子類別的類別,type為2表示查詢不含子類別的類別public Cursor fetchOneFclass(long _id) / 根據(jù)ID查詢public Cursor fetchFclassByParentId(long

46、 _pid) / 根據(jù)子女類別中的父類別ID屬性值查詢所有子類別public Cursor fetchAllFclassByName(String name) / 根據(jù)名稱查詢public Cursor fetchOtherFclassByName(long _id, String name) / 查詢除自己外的是否有與自己重名的類別publicboolean deleteFclass(long _id) / 刪除一條記錄publiclong insertFclass(Fclass fclass) / 添加記錄publicboolean updateFclass(long _id, Fclas

47、s fclass) / 修改記錄publicboolean updateFclassParentId(long _id, Fclass fclass) / 修改某一類別的父類別5、本章小結(jié)本章主要描述了我所做的模塊的詳細(xì)的功能與設(shè)計(jì)實(shí)現(xiàn)。五 測(cè)試本節(jié)容給出了系統(tǒng)的測(cè)試項(xiàng)目書(shū)和相應(yīng)的測(cè)試結(jié)果。進(jìn)行測(cè)試時(shí),首先根據(jù)對(duì)應(yīng)的模塊編寫(xiě)測(cè)試項(xiàng)目書(shū)。然后按照測(cè)試項(xiàng)目書(shū)中的模塊功能逐個(gè)進(jìn)行測(cè)試,測(cè)試完成后記錄下時(shí)間、測(cè)試人、測(cè)試時(shí)間。測(cè)試結(jié)果分為“成功”、“未通過(guò)”兩種,針對(duì)“未通過(guò)”的模塊,調(diào)查原因修改后再測(cè)。下面表格是增加記賬類別模塊的測(cè)試結(jié)果:表5-1增加模塊測(cè)試表格測(cè)試項(xiàng)目名稱:操作記賬類別測(cè)試人員:

48、熊松于測(cè)試時(shí)間:4/27測(cè)試項(xiàng)目標(biāo)題:增加記賬類別條目測(cè)試容:在記賬類別的新增模塊添加條目,在管理中則會(huì)相應(yīng)顯示測(cè)試環(huán)境和系統(tǒng)配置:eclipse+Android手機(jī)測(cè)試輸入數(shù)據(jù):輸入一條新的類別數(shù)據(jù);比如新增收入來(lái)源“工資”測(cè)試結(jié)論:在管理面板則會(huì)相應(yīng)的顯示出你有工資這一欄目(見(jiàn)圖5-1)預(yù)期結(jié)果:在管理面板上顯示出工資這一條目測(cè)試過(guò)程:點(diǎn)擊在名稱欄,插入“工資”這一目錄,點(diǎn)擊確定,點(diǎn)擊管理,查看管理中顯示的條目測(cè)試結(jié)果: 成功備注:下面表格是刪除記賬類別模塊的測(cè)試結(jié)果:表5-2刪除模塊測(cè)試表格測(cè)試項(xiàng)目名稱:操作記賬類別測(cè)試人員:熊松于測(cè)試時(shí)間:4/27測(cè)試項(xiàng)目標(biāo)題:刪除記賬類別條目測(cè)試容:在管理模塊長(zhǎng)按選中條目,選擇刪除,管理模塊就不會(huì)在顯示你剛才刪除的條目測(cè)試環(huán)境和系統(tǒng)配置:eclipse+Android手機(jī)測(cè)試輸入數(shù)據(jù):刪除一條記賬類別數(shù)據(jù);比如刪除收入來(lái)源“工資”測(cè)試結(jié)論:在管理面板就不會(huì)再顯示“工資”這一記賬類別選項(xiàng)(見(jiàn)圖5-2)預(yù)期結(jié)果:在管理面板上“工資”條目已經(jīng)被刪除測(cè)試過(guò)程:在管理面板上長(zhǎng)按“工資”條目,選中,點(diǎn)擊刪除測(cè)試結(jié)果: 成功備注

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論