Android手機(jī)消費(fèi)管理系統(tǒng)的設(shè)計(jì)與研究本科畢業(yè)論文_第1頁(yè)
Android手機(jī)消費(fèi)管理系統(tǒng)的設(shè)計(jì)與研究本科畢業(yè)論文_第2頁(yè)
Android手機(jī)消費(fèi)管理系統(tǒng)的設(shè)計(jì)與研究本科畢業(yè)論文_第3頁(yè)
Android手機(jī)消費(fèi)管理系統(tǒng)的設(shè)計(jì)與研究本科畢業(yè)論文_第4頁(yè)
Android手機(jī)消費(fèi)管理系統(tǒng)的設(shè)計(jì)與研究本科畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩100頁(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ì)論文題目:Android 消費(fèi)管理系統(tǒng)的設(shè)計(jì)與研究學(xué)院:專業(yè):年級(jí):學(xué)生姓名:指導(dǎo)教師單位:指導(dǎo)教師姓名:指導(dǎo)教師職稱:Title:Mobile phone consumption management system design and research based on AndroidFaculty:Faculty of Information, Engineering and AutomationSpeciality:Communication EngineeringClass:2021 CommunicationAuthor:Directors Unit:Department

2、 of Communication EngineeringDirector:Directors title:Lecturer畢業(yè)設(shè)計(jì)論文原創(chuàng)性聲明和使用授權(quán)說(shuō)明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)論文,是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過(guò)的研究成果,也不包含我為獲得 及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過(guò)的材料。對(duì)本研究提供過(guò)幫助和做出過(guò)奉獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說(shuō)明并表示了謝意。作 者 簽 名: 日 期: 指導(dǎo)教師簽名: 日期: 使用授權(quán)說(shuō)明本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)

3、計(jì)論文的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)論文的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)論文的印刷本和電子版,并提供目錄檢索與閱覽效勞;學(xué)??梢圆捎糜坝?、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)校可以公布論文的局部或全部?jī)?nèi)容。作者簽名: 日 期: 學(xué)位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫的成果作品。對(duì)本文的研究做出重要奉獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律后果由本人承當(dāng)。作者簽名: 日期: 年 月 日學(xué)位論文版權(quán)

4、使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保存、使用學(xué)位論文的規(guī)定,同意學(xué)校保存并向國(guó)家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán) 大學(xué)可以將本學(xué)位論文的全部或局部?jī)?nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。涉密論文按學(xué)校規(guī)定處理。作者簽名:日期: 年 月 日導(dǎo)師簽名: 日期: 年 月 日目錄摘要vAbstractvi前言vii第一章 緒論11.1 選題背景11.1.1 課題研究?jī)?nèi)容21.1.2 課題研究目的21.1.3 課題研究意義21.2 Android平臺(tái)簡(jiǎn)介31.2.1 Android平臺(tái)的優(yōu)勢(shì)介紹41.2.2 Andr

5、oid系統(tǒng)開(kāi)發(fā)語(yǔ)言介紹51.3 Android開(kāi)發(fā)現(xiàn)狀6第二章 Android開(kāi)發(fā)環(huán)境與架構(gòu)分析72.1 Eclipse開(kāi)發(fā)環(huán)境72.1.1 Eclipse的主要構(gòu)成72.1.2 其他軟件的簡(jiǎn)介72.1.3 Eclipse Android環(huán)境搭建82.2 Android架構(gòu)分析82.3 Android應(yīng)用的構(gòu)成和工作機(jī)制102.3.1 Android應(yīng)用程序中的資源102.3.2 Android的應(yīng)用程序組件10第三章 系統(tǒng)需求分析及概要設(shè)計(jì)133.1 研究目標(biāo)133.2 需求分析133.3 概要設(shè)計(jì)133.3.1 系統(tǒng)功能模塊說(shuō)明143.3.2 系統(tǒng)根本流程圖14第四章 Adapter與數(shù)據(jù)

6、存儲(chǔ)164.1 Adapter164.1.1 Adapter的紐帶作用164.1.2 本地Adapter的解析174.2 游標(biāo)Cursor174.3 數(shù)據(jù)存儲(chǔ)174.3.1 SharedPreferences存儲(chǔ)184.3.2 SQLite數(shù)據(jù)庫(kù)存儲(chǔ)18第五章 系統(tǒng)詳細(xì)設(shè)計(jì)與編程實(shí)現(xiàn)205.1 Android的布局、視圖及組件205.1.1 Android布局205.1.2 Android中的視圖215.1.3 程序中Android組件215.2 系統(tǒng)的程序模塊設(shè)計(jì)235.2.1 用戶登錄235.2.2 歡送界面245.2.3 添加賬目明細(xì)255.2.4 選擇賬目類型275.2.5 查詢當(dāng)前添

7、加記錄詳細(xì)信息285.2.6 賬目明細(xì)295.2.7 退出325.2.8 菜單功能32第六章 系統(tǒng)測(cè)試與功能實(shí)現(xiàn)336.1 運(yùn)行及根本功能測(cè)試情況336.1.1 登錄及身份驗(yàn)證功能336.1.2 歡送界面336.1.3 添加賬目明細(xì)界面及賬目類型選擇界面346.1.4 保存功能356.1.5 查詢和取消功能356.1.6 賬目明細(xì)366.1.7 菜單功能376.2 運(yùn)行功能總結(jié)37第七章 結(jié)論38第八章 總結(jié)和體會(huì)39謝辭40參考文獻(xiàn)41附錄42摘要隨著現(xiàn)代社會(huì)的高速開(kāi)展,智能 得到了越來(lái)越廣泛的普及。而在智能 中占有半壁江山的Android智能 在市場(chǎng)上更是風(fēng)生水起。Android操作系統(tǒng)由

8、于其采用Linux內(nèi)核,支持多硬件平臺(tái),以及開(kāi)放性體系結(jié)構(gòu),不僅具有良好的開(kāi)發(fā)、調(diào)試環(huán)境,更具有可擴(kuò)展的用戶體驗(yàn)等優(yōu)點(diǎn)。Android智能 的開(kāi)展同時(shí)也帶動(dòng)了應(yīng)用程序的開(kāi)發(fā),不同的應(yīng)用程序能夠讓移動(dòng) 實(shí)現(xiàn)不同的功能。本文就是圍繞Android開(kāi)發(fā)的 消費(fèi)管理系統(tǒng)而完成的。通過(guò)對(duì)Android應(yīng)用程序開(kāi)發(fā)的學(xué)習(xí)和研究,開(kāi)發(fā)出以實(shí)現(xiàn) 消費(fèi)管理為目的的應(yīng)用程序。本文詳細(xì)說(shuō)明了Android應(yīng)用的系統(tǒng)架構(gòu),涉及Android應(yīng)用開(kāi)發(fā)的相關(guān)知識(shí),包括Android UI布局,用戶界面事件,多組件技術(shù),Activity切換,數(shù)據(jù)傳輸,SQLite數(shù)據(jù)庫(kù)等,可實(shí)現(xiàn)對(duì)事件進(jìn)行添加,記錄,保存,查詢,刪除等相關(guān)

9、功能。本系統(tǒng)是基于Android的根底知識(shí)和Java語(yǔ)言來(lái)開(kāi)發(fā)的,軟件界面顯示友好,操作便捷。摘要是提出問(wèn)題解決問(wèn)題的精簡(jiǎn)版,不是研究現(xiàn)狀和介紹,圖書館下載對(duì)應(yīng)論文看下別人怎么寫摘要,具體做的東西,實(shí)現(xiàn)的功能,結(jié)構(gòu)怎樣必須有表達(dá)不是一個(gè)大概的介紹?!娟P(guān)鍵詞】Android 布局 Activity 數(shù)據(jù)傳輸 Java SQLiteAbstractWith the rapid development of modern society, the popularity of smart phones has been more and more widely. In the smart phone

10、occupies half of the Android smart phone is more popular in the market. Because of Android operating system its use of the Linux kernel, support for multiple hardware platforms, and opening architecture, not only has a good development and debugging environment, but also has the advantages of scalab

11、le user experience. Android smart phone also led to the development of application, different applications can make mobile phones to achieve different functions. This article is completed based on the development of Android mobile phone consumption management system. Through the study of Android app

12、lication development and research, developed the application that in order to achieve the purpose of mobile phone consumption management. This paper described Android application system architecture in detail, involves Android Application Development-related knowledge, including the Android UI layou

13、t, user interface events, multi-component technology, Activity switching, data transmission, SQLite database, etc. which can realize to add events, record, save, query, delete, and other related functions. This system is based on the basics of Android and the Java language to develop, friendly softw

14、are interface, the operation is convenient.Keywords:Android Layout Activity data transmission Java SQLite前言在 市場(chǎng)高速開(kāi)展的今天,智能 已成為人們生活中的一個(gè)重要組成局部。其中,Android操作系統(tǒng)的智能 更是在 行業(yè)中獨(dú)占鰲頭,放眼望去,幾乎90%以上的智能 都是搭載的Android操作系統(tǒng),仿佛在智能 行業(yè)中叱咤風(fēng)云的塞班Symbian操作系統(tǒng)一夜之間銷聲匿跡了。Android智能 以其全開(kāi)放的智能平臺(tái),多硬件支持以及統(tǒng)一的核心技術(shù)越來(lái)越受到人們的廣泛關(guān)注。Android 憑借其良

15、好的用戶體驗(yàn),低廉的本錢和較高的開(kāi)放性吸引著越來(lái)越多的終端廠商采用。隨著Android智能 廠商的不斷增多,Android App的開(kāi)展速度也是驚人的。因此, Android開(kāi)發(fā)吸引著無(wú)數(shù)軟件開(kāi)發(fā)廠商和開(kāi)發(fā)者投身其中,程序員在以幾何級(jí)的速度增長(zhǎng)。可見(jiàn),Android App有著廣闊誘人的開(kāi)展前景,其應(yīng)用程序已得到更多人的認(rèn)可,受到廣泛關(guān)注。Android無(wú)疑已經(jīng)成為當(dāng)今最重要的 開(kāi)發(fā)平臺(tái)之一,每天70萬(wàn)部Android 的激活量直接預(yù)示著,其未來(lái)的開(kāi)展格局無(wú)疑將成為相關(guān)產(chǎn)業(yè)競(jìng)相追逐的對(duì)象和焦點(diǎn)。所以,學(xué)習(xí)和研究Android的開(kāi)發(fā)具有十分重要的意義。在互聯(lián)網(wǎng)高速興旺的今天,數(shù)以百萬(wàn)計(jì)的應(yīng)用程序

16、不斷更新交替。數(shù)字化辦公,電子商務(wù),網(wǎng)絡(luò)購(gòu)物越來(lái)越受到人們的青睞,電子消費(fèi)也逐漸成為一種時(shí)尚。在這樣的趨勢(shì)下,消費(fèi)管理那么對(duì)我們的生活有著舉足輕重的作用。因而,研究相關(guān) 消費(fèi)管理的應(yīng)用軟件就具有了重要的價(jià)值和意義。本次設(shè)計(jì)就是基于Android的開(kāi)發(fā)平臺(tái),利用Java編程語(yǔ)言來(lái)開(kāi)發(fā)有關(guān) 消費(fèi)管理的系統(tǒng)軟件。經(jīng)查閱資料,自學(xué),加上原有的C/C+語(yǔ)言根底,使得對(duì)Java語(yǔ)言的理解也不那么困難。通過(guò)學(xué)習(xí),利用Android開(kāi)發(fā)的頁(yè)面布局等實(shí)現(xiàn)應(yīng)用軟件的UI設(shè)計(jì),學(xué)習(xí)Activity的用法,Android根本組件的用法,界面跳轉(zhuǎn),數(shù)據(jù)傳輸?shù)认嚓P(guān)知識(shí),試圖完成一個(gè)集身份認(rèn)證,數(shù)據(jù)添加,數(shù)據(jù)分類,內(nèi)容查看

17、于一體的 消費(fèi)管理管理系統(tǒng)。下文將對(duì)本次設(shè)計(jì)做詳細(xì)論述說(shuō)明。第一章 緒論1.1 選題背景隨著移動(dòng)設(shè)備越來(lái)越普及及移動(dòng)硬件的提升,移動(dòng)設(shè)備的功能越來(lái)越完善,移動(dòng)設(shè)備的系統(tǒng)平臺(tái)也日漸熾熱起來(lái)。目前國(guó)內(nèi)最常見(jiàn)的移動(dòng)開(kāi)發(fā)平臺(tái)有Symbian,iPhone,Windows Phone 以及Android。如今國(guó)內(nèi)外都有非常多的Android 系統(tǒng)的用戶。自從2021年第一季度,Android在全球份額首次超過(guò)Symbian,躍居全球第一。截止2021年2月,Android占據(jù)全球智能 操作系統(tǒng)市場(chǎng)52.5%的份額,中國(guó)市場(chǎng)占有率為68.4%。Android是首款開(kāi)源代碼的操作系統(tǒng),系統(tǒng)的開(kāi)源性使其具有良

18、好的拓展性,一方面,為眾多移動(dòng)應(yīng)用開(kāi)發(fā)者提供了良好的系統(tǒng)性平臺(tái),有利于移動(dòng)應(yīng)用的集合;另一方面,終端廠商可以針對(duì)自身的特殊需要“定制化開(kāi)發(fā)。與此相比,盡管2021年2月,塞班根本完成開(kāi)源工作,但由于代碼臃腫,用戶界面設(shè)計(jì)缺失,塞班的開(kāi)源并無(wú)實(shí)際意義,錯(cuò)失開(kāi)展良機(jī)。1 圖1-1 Android智能 從Android這樣的開(kāi)展趨勢(shì)來(lái)看,考慮到如今 系統(tǒng)的開(kāi)展現(xiàn)狀,以及Android平臺(tái)系統(tǒng)自身所擁有的優(yōu)勢(shì),Android必將成為主流。因此,學(xué)習(xí)和掌握Android開(kāi)發(fā)的相關(guān)知識(shí),基于Android平臺(tái)開(kāi)發(fā)一款 應(yīng)用軟件具有較大的意義和可行性。 課題研究?jī)?nèi)容當(dāng)今社會(huì)是數(shù)字化社會(huì),人們與電子業(yè)務(wù)打交道

19、的地方越來(lái)越多,網(wǎng)上購(gòu)物,電子銀行,金融投資等等。如何將這些有用的電子業(yè)務(wù)存儲(chǔ)起來(lái)防止忘記或喪失,如何對(duì)這些信息進(jìn)行有序地組織、管理以對(duì)生活決策提供幫助,這正是 消費(fèi)管理軟件要解決的問(wèn)題。本次設(shè)計(jì)所要實(shí)現(xiàn)的功能就是:基于Android軟件開(kāi)發(fā)平臺(tái),利用Java語(yǔ)言編程,用戶可在本軟件中添加,管理資金消費(fèi)動(dòng)態(tài),可對(duì)當(dāng)前添加的記錄實(shí)施保存和查詢等功能。 課題研究目的通過(guò)對(duì)當(dāng)下最受歡送的Android操作系統(tǒng)的學(xué)習(xí),掌握Android軟件開(kāi)發(fā)的相關(guān)知識(shí)和內(nèi)容,學(xué)習(xí)Android開(kāi)發(fā)工具,開(kāi)發(fā)平臺(tái)的搭建和使用,深入學(xué)習(xí)Android開(kāi)發(fā)設(shè)計(jì)中頁(yè)面的布局,組件的使用,Activity的調(diào)用,界面跳轉(zhuǎn),數(shù)

20、據(jù)添加,傳輸,保存,查詢等相關(guān)知識(shí)。學(xué)習(xí)Java編程語(yǔ)言,能對(duì)后臺(tái)數(shù)據(jù)的傳輸及實(shí)現(xiàn)有更全面的把握和認(rèn)識(shí)。了解當(dāng)前Android開(kāi)發(fā)的開(kāi)展?fàn)顩r以及未來(lái)的開(kāi)展趨勢(shì),對(duì)整個(gè)程序的設(shè)計(jì)和開(kāi)發(fā)過(guò)程有所掌握。將理論所學(xué)知識(shí)應(yīng)用到實(shí)踐中,使用多種Android組件完成 消費(fèi)管理系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā),在實(shí)踐中來(lái)學(xué)習(xí)并掌握Android開(kāi)發(fā)的根本技能。 課題研究意義隨著網(wǎng)絡(luò)技術(shù)的開(kāi)展和普及,方便、快捷、個(gè)性化的消費(fèi)管理已成為時(shí)下比擬流行的一種管理賬務(wù)的方式,它的存在與我們的生活是密不可分的。通過(guò)本次Android軟件的設(shè)計(jì),可以使自己對(duì)Android開(kāi)發(fā)的根底知識(shí)和開(kāi)發(fā)思想有所掌握,并能通過(guò)實(shí)際操作鍛煉自己的動(dòng)手能

21、力,學(xué)會(huì)如何去自學(xué)自己不熟悉的領(lǐng)域,如何動(dòng)手完成一個(gè)工程,如何將書面知識(shí)運(yùn)用到實(shí)際編程中。同時(shí),也可通過(guò)本次設(shè)計(jì)培養(yǎng)自己新知識(shí)獲取與整理的能力,文獻(xiàn)、文檔的閱讀與翻譯能力以及分析問(wèn)題和解決問(wèn)題的能力。對(duì)自己大學(xué)四年的學(xué)習(xí)有所總結(jié),也培養(yǎng)了自己堅(jiān)持不懈的精神和品質(zhì),為今后的職業(yè)開(kāi)展奠定良好的根底和優(yōu)良的習(xí)慣。1.2 Android平臺(tái)簡(jiǎn)介Android一詞本義為“機(jī)器人,是用于移動(dòng)設(shè)備上的一個(gè)包含操作系統(tǒng),一系列中間件,以及局部關(guān)鍵應(yīng)用軟件棧。同時(shí)也是Google發(fā)布的基于Linux平臺(tái)的開(kāi)源 操作系統(tǒng),是首個(gè)為移動(dòng)終端打造的真正開(kāi)放和完整的移動(dòng)軟件。高度的開(kāi)放性和擁有類似Google這樣實(shí)力雄

22、厚的公司作為后盾,使Android平臺(tái)擁有非常豐富的用戶體驗(yàn),Android已經(jīng)成為全球智能 市場(chǎng)的領(lǐng)跑者,截至2021年第一季度的市場(chǎng)份額已超過(guò)50%圖1-2。圍繞在Google的Android系統(tǒng)中,形成了移植開(kāi)發(fā)和上層應(yīng)用程序開(kāi)發(fā)兩個(gè)不同的開(kāi)發(fā)方面。 廠商從事移植開(kāi)發(fā)工作,上層的應(yīng)用程序開(kāi)發(fā)可以由任何單位和個(gè)人完成,開(kāi)發(fā)的過(guò)程可以基于真實(shí)的硬件系統(tǒng),還可以基于仿真器環(huán)境。Android Android SDK網(wǎng)站提供了在Android平臺(tái)上使用Java編程語(yǔ)言開(kāi)發(fā)應(yīng)用程序所必須的工具和API。目前,該操作系統(tǒng)的最新版本為Android 4.3版本將于2021年5月份的Google I/O

23、發(fā)布,以及還在測(cè)試中的Android 5.0Jelly Bean版本。3圖1-2 全球智能 市場(chǎng)份額按操作系統(tǒng)劃分 從上到下,依次是微軟、其他、Symbian、蘋果、Android。1.2.1 Android平臺(tái)的優(yōu)勢(shì)介紹1開(kāi)放性Android平臺(tái)首先就是其開(kāi)放性,開(kāi)放的平臺(tái)允許任何移動(dòng)終端廠商參加到Android聯(lián)盟中來(lái)。顯著的開(kāi)放性可以使其擁有更多的開(kāi)發(fā)者,隨著用戶和應(yīng)用的日益豐富,一個(gè)嶄新的平臺(tái)也將很快走向成熟。開(kāi)發(fā)性對(duì)于Android的開(kāi)展而言,有利于積累人氣,這里的人氣包括消費(fèi)者和廠商,而對(duì)于消費(fèi)者來(lái)講,最大的受益正是豐富的軟件資源。2掙脫運(yùn)營(yíng)商的束縛在過(guò)去很長(zhǎng)的一段時(shí)間,特別是在歐

24、美地區(qū), 應(yīng)用往往受到運(yùn)營(yíng)商制約,使用什么功能接入什么網(wǎng)絡(luò),幾乎都受到運(yùn)營(yíng)商的控制。自從iPhone上市,用戶可以更加方便地連接網(wǎng)絡(luò),運(yùn)營(yíng)商的制約減少。隨著EDGE、HSDPA這些2G至3G移動(dòng)網(wǎng)絡(luò)的逐步過(guò)渡和提升, 隨意接入網(wǎng)絡(luò)已不是運(yùn)營(yíng)商口中的笑談。3豐富的硬件選擇豐富的硬件選擇與Android平臺(tái)的開(kāi)放性相關(guān),由于Android的開(kāi)放性,眾多的廠商會(huì)推出千奇百怪,功能特色各具的多種產(chǎn)品。功能上的差異和特色,卻不會(huì)影響到數(shù)據(jù)同步、甚至軟件的兼容。4不受任何限制的開(kāi)發(fā)商Android平臺(tái)提供給第三方開(kāi)發(fā)商一個(gè)十分寬泛、自由的開(kāi)發(fā)環(huán)境。因此不會(huì)受到各種條條框框的阻擾,在這樣的情況下,將會(huì)產(chǎn)生很

25、多新穎別致的應(yīng)用軟件。但在不受限制的同時(shí),也有其弊端性,血腥、暴力、情色方面的程序和游戲如何控制正是留給Android的難題之一。5無(wú)縫結(jié)合的Google應(yīng)用   如今叱咤互聯(lián)網(wǎng)的Google已經(jīng)走過(guò)10年的輝煌歷史。從搜索巨人到全面的互聯(lián)網(wǎng)滲透,Google效勞如地圖、郵件、搜索等已經(jīng)成為連接用戶和互聯(lián)網(wǎng)的重要紐帶,而Android平臺(tái) 將無(wú)縫結(jié)合這些優(yōu)秀的Google效勞。為 接入互聯(lián)網(wǎng)奠定堅(jiān)實(shí)的根底。4-51.2.2 Android系統(tǒng)開(kāi)發(fā)語(yǔ)言介紹在Android系統(tǒng)開(kāi)發(fā)中,開(kāi)發(fā)者可以使用Java作為編程語(yǔ)言來(lái)開(kāi)發(fā)應(yīng)用程序,也可以通過(guò)NDK使用C/C+作為編

26、程語(yǔ)言來(lái)開(kāi)發(fā)應(yīng)用程序。在Android系統(tǒng)底層方面,Android使用C/C+作為開(kāi)發(fā)語(yǔ)言,而Android應(yīng)用層的開(kāi)發(fā),根本上全部是采用Java開(kāi)發(fā)。Android支持使用Java作為編程語(yǔ)言來(lái)開(kāi)發(fā)應(yīng)用程序,而Android的Java開(kāi)發(fā)方面從接口到功能,都有層出不窮的變化??紤]到Java虛擬機(jī)的效率和資源占用,Google重新設(shè)計(jì)了基于Android的Java,以便能提高效率和減少資源占用,因而與傳統(tǒng)的Java有所不同。Java能作為很多系統(tǒng)或程序的開(kāi)發(fā)語(yǔ)言,是因?yàn)橛衅涮攸c(diǎn)和很多的應(yīng)用,是一門各方面性能都很好的編程語(yǔ)言,它的根本特點(diǎn)是簡(jiǎn)單、面象對(duì)象、分布式、解釋的、健壯的、平安的、結(jié)構(gòu)中立

27、的、可移植的、性能很優(yōu)異的、多線程的、動(dòng)態(tài)的,適合在Internet環(huán)境上開(kāi)發(fā)應(yīng)用系統(tǒng)。91.3 Android開(kāi)發(fā)現(xiàn)狀 目前國(guó)內(nèi)的 Android 開(kāi)發(fā)還是主要以應(yīng)用軟件開(kāi)發(fā)為主,主要分成3類:為企業(yè)開(kāi)發(fā)應(yīng)用、開(kāi)發(fā)通用應(yīng)用放到 Android Market或者其他App Market 銷售以及游戲開(kāi)發(fā)放到 Android Market 或者其他 App Market 銷售。第一類開(kāi)發(fā)者一般身處規(guī)模較大的公司,這些公司主要為自有品牌或者其他品牌設(shè)計(jì) 或者平板電腦的總體方案。除了根據(jù)需求對(duì)系統(tǒng)進(jìn)行定制外,更多的工作在于為這些系統(tǒng)編寫定制的應(yīng)用。第二類開(kāi)發(fā)者,一般處于創(chuàng)業(yè)型公司或者是獨(dú)立開(kāi)發(fā)者,他

28、們的盈利方式主要是2種:為國(guó)外公司進(jìn)行外包開(kāi)發(fā),或者通過(guò)Google 的移動(dòng)廣告AdMob通過(guò)廣告點(diǎn)擊分成。而理論上的通過(guò)付費(fèi)下載的形式來(lái)盈利的,現(xiàn)在國(guó)內(nèi)鮮見(jiàn)成功者。第三類開(kāi)發(fā)者,目前和第二類開(kāi)發(fā)者類似。下列圖是開(kāi)發(fā)者提交的 應(yīng)用和游戲的數(shù)目所占的比例圖, 從中也可以看出應(yīng)用開(kāi)發(fā)數(shù)目遠(yuǎn)超游戲開(kāi)發(fā)。圖1-3 Android開(kāi)發(fā)者分類圖第二章 Android開(kāi)發(fā)環(huán)境與架構(gòu)分析2.1 Eclipse開(kāi)發(fā)環(huán)境Eclipse是一個(gè)開(kāi)放源代碼的、基于Java的可擴(kuò)展開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組效勞,用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。幸運(yùn)的是,Eclipse附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開(kāi)

29、發(fā)工具Java Development Tools,JDT。Eclipse是著名的跨平臺(tái)的自由集成開(kāi)發(fā)環(huán)境IDE。最初主要用來(lái)Java語(yǔ)言開(kāi)發(fā),但是目前亦有人通過(guò)插件使其作為其他計(jì)算機(jī)語(yǔ)言比方C+和Python的開(kāi)發(fā)工具。Eclipse的本身只是一個(gè)框架平臺(tái),但是眾多插件的支持使得Eclipse擁有其他功能相對(duì)固定的IDE軟件很難具有的靈活性。8 Eclipse的主要構(gòu)成 Eclipse主要由Eclipse工程、Eclipse工具工程和Eclipse技術(shù)工程三個(gè)工程組成,具體包括四個(gè)局部組成Eclipse Platform、JDT、CDT和PDE。JDT支持Java開(kāi)發(fā)、CDT支持C開(kāi)發(fā)、PD

30、E用來(lái)支持插件開(kāi)發(fā),Eclipse Platform那么是一個(gè)開(kāi)放的可擴(kuò)展IDE,提供了一個(gè)通用的開(kāi)發(fā)平臺(tái)。它提供建造塊和構(gòu)造并運(yùn)行集成軟件開(kāi)發(fā)工具的根底。Eclipse Platform允許工具建造者獨(dú)立開(kāi)發(fā)與他人工具無(wú)縫集成的工具從而無(wú)須分辨一個(gè)工具功能在哪里開(kāi)始和結(jié)束。 Eclipse SDK軟件開(kāi)發(fā)者包是Eclipse Platform、JDT和PDE所生產(chǎn)的組件合并,它們可以一次下載。這些局部在一起提供了一個(gè)具有豐富特性的開(kāi)發(fā)環(huán)境,允許開(kāi)發(fā)者有效地建造可以無(wú)縫集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse工程生產(chǎn)的工具和來(lái)自其它開(kāi)放源代碼的第三

31、方軟件組合而成。 其他軟件的簡(jiǎn)介1JDK(Java Development Kit)是Sun Microsystems針對(duì)Java開(kāi)發(fā)員的產(chǎn)品。自從Java推出以來(lái),JDK已經(jīng)成為使用最廣泛的Java SDK。JDK 是整個(gè)Java的核心,包括了Java運(yùn)行環(huán)境,Java工具和Java根底的類庫(kù)。JDK是學(xué)好Java的第一步。而專門運(yùn)行在x86平臺(tái)的Jrocket在效勞端運(yùn)行效率也要比Sun JDK好很多。從SUN的JDK5.0開(kāi)始,提供了泛型等非常實(shí)用的功能,其版本也不斷更新,運(yùn)行效率得到了非常大的提高。2Android SDKsoftware development kit軟件開(kāi)發(fā)工具包。

32、被軟件開(kāi)發(fā)工程師用于為特定的軟件包、軟件框架、硬件平臺(tái)、操作系統(tǒng)等建立應(yīng)用軟件的開(kāi)發(fā)工具的集合。因此,Android SDK 指的既是Android專屬的軟件開(kāi)發(fā)工具包。3ADTAndroid Development Tools目前Android開(kāi)發(fā)所用的開(kāi)發(fā)工具是Eclipse,在Eclipse編譯IDE環(huán)境中,安裝ADT,為Android開(kāi)發(fā)提供開(kāi)發(fā)工具的升級(jí)或者變更,簡(jiǎn)單理解為在Eclipse下開(kāi)發(fā)工具的升級(jí)下載工具。 Eclipse Android環(huán)境搭建1安裝JDK根本Java環(huán)境;2安裝Eclipse;3Android SDK安裝;4ADT安裝;5創(chuàng)立AVD。以上各項(xiàng)安裝需正確指明

33、安裝路徑并配置相應(yīng)環(huán)境變量。102.2 Android架構(gòu)分析通過(guò)上述介紹,對(duì)Android已經(jīng)有了初步的了解,通過(guò)下列圖Android架構(gòu)圖可對(duì)Android的體系結(jié)構(gòu)有更深了解,如圖2-1所示:圖2-1 Android體系結(jié)構(gòu)1應(yīng)用層該層由運(yùn)行在Dalvik虛擬機(jī)上的應(yīng)用程序組成,例如日歷、地圖、瀏覽器、聯(lián)系人管理等,這些應(yīng)用程序主要由Java語(yǔ)言編寫。需要說(shuō)明的是,Dalvik虛擬機(jī)是Google為Android專門設(shè)計(jì)的基于存放器的Java虛擬機(jī),運(yùn)行Java程序的速度比JVM更快。2應(yīng)用框架層該層主要由View、通知管理Notification Manager、活動(dòng)管理器Activi

34、ty Manager等可供開(kāi)發(fā)人員直接調(diào)用的API組成,這些API主要由Java語(yǔ)言編寫。3系統(tǒng)運(yùn)行庫(kù)層該層主要包括C語(yǔ)言標(biāo)準(zhǔn)庫(kù)、多媒體庫(kù)、OpenGL ES、SQLite、Webkit、Dalvik虛擬機(jī)等。也就是說(shuō),該層是對(duì)應(yīng)用框架層提供支持的層。由于Java本身不能直接訪問(wèn)硬件,要想讓Java訪問(wèn)硬件,必須使用NDKNative Development Kit才可以。NDK是一些由C/C+語(yǔ)言編寫的庫(kù),主要是*.so文件。4Linux內(nèi)核層 該層主要包括驅(qū)動(dòng)、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)協(xié)議棧等組件。112.3 Android應(yīng)用的構(gòu)成和工作機(jī)制2.3.1 Android應(yīng)用程序中的資源 A

35、ndroid應(yīng)用程序中的資源都在工程目錄的res子目錄中。當(dāng)生成apk后,這些資源將被封裝在apk文件中。Android應(yīng)用程序包含的常用資源如下表所示:資源種類所在目錄描述動(dòng)畫Animation幀F(xiàn)rame動(dòng)畫res/anim、res/drawable定義動(dòng)畫文件補(bǔ)間Tween動(dòng)畫res/anim顏色狀態(tài)列表Color State Listres/color定義根據(jù)視圖狀態(tài)變化的顏色資源可拉伸圖像Drawableres/drawable使用支持的圖像格式或XML定義圖形布局Layoutres/layout定義描述應(yīng)用程序的UI布局菜單Menures/menu定義應(yīng)用程序菜單的內(nèi)容字符串Str

36、ingres/values定義字符串,通過(guò)R.string訪問(wèn)相應(yīng)資源顏色Colorres/values定義字符串,通過(guò)R.color訪問(wèn)相應(yīng)資源尺度Dimenres/values定義寬,高,位置,通過(guò)R.deimen訪問(wèn)風(fēng)格Styleres/values定義UI格式和外觀,通過(guò)R.style類訪問(wèn)XMLres/xml基于XML的格式資源RAWres/raw保存二進(jìn)制文件,從apk提取直接使用ASSETSassets保存二進(jìn)制文件,建立任意層次的子目錄表1 Android應(yīng)用程序常用資源表2.3.2 Android的應(yīng)用程序組件對(duì)于一個(gè)Android應(yīng)用程序來(lái)說(shuō),是由Activity、Inte

37、nt、Service、Content Provider四局部組成,但并不是每一個(gè)Android應(yīng)用程序都必須由這四局部組成。在應(yīng)用程序中使用時(shí),需要在配置文件AndroidManifest.xml中進(jìn)行配置。這個(gè)配置文件是每個(gè)Android應(yīng)用程序所必需的,用于定義應(yīng)用程序的組件、組件的功能以及必要條件等。Android應(yīng)用的構(gòu)成和工作流程如圖2-2:圖2-2 Android的構(gòu)成和工作流程Acitvity:Activity是Android中最重要、最根底的組件,用戶在界面上看到的一個(gè)個(gè)可以切換的屏幕界面就是Android中的活動(dòng)。Activity類繼承了Application類,每一個(gè)Act

38、ivity提供了一個(gè)可視化的區(qū)域,在這個(gè)區(qū)域內(nèi)可以放置各種Android控件,例如按鈕、圖像、文本框等,它是Android應(yīng)用程序的根本組成單元之一。Intent:Intent主要用于Android應(yīng)用程序之間或應(yīng)用程序內(nèi)部不同模塊之間的通信,用這個(gè)特殊的類實(shí)現(xiàn)在Activity之間的相互切換,可理解為Android應(yīng)用程序中的通信信使。在Intent描述結(jié)構(gòu)中,負(fù)責(zé)對(duì)應(yīng)用中一次操作的動(dòng)作,動(dòng)作涉及數(shù)據(jù)、附加數(shù)據(jù)進(jìn)行描述,Android那么根據(jù)此Intent的描述,負(fù)責(zé)找到對(duì)應(yīng)的組件,將 Intent傳遞給調(diào)用的組件,并完成組件的調(diào)用。因此,Intent在這里起著一個(gè)媒體中介的作用,專門提供組

39、件互相調(diào)用的相關(guān)信息,實(shí)現(xiàn)調(diào)用者與被調(diào)用者之間的解耦。其根本用法有顯式和隱式,顯式的Intent即在構(gòu)造Intent對(duì)象時(shí)候就指定了接收者,隱式的Intent那么是在構(gòu)造時(shí)未指定具體接收者。 Service:Service是android 系統(tǒng)中的一種組件,也是一種程序,它可以運(yùn)行很長(zhǎng)時(shí)間,但是它卻沒(méi)有用戶界面,它跟Activity的級(jí)別差不多,但是他不能自己運(yùn)行,只能后臺(tái)運(yùn)行,并且可以和其他組件進(jìn)行交互。Service的啟動(dòng)有兩種方式:Context.startService和 Context.bindServiceContent Provider :Content Provide

40、r 屬于Android應(yīng)用程序的組件之一,作為應(yīng)用程序之間唯一的共享數(shù)據(jù)的途徑,每個(gè)Content Provider都用一個(gè)URI作為獨(dú)立的標(biāo)識(shí),Content Provider 主要的功能就是存儲(chǔ)并檢索數(shù)據(jù)以及向其他應(yīng)用程序提供訪問(wèn)數(shù)據(jù)的借口。讓自己的數(shù)據(jù)和其他應(yīng)用程序共享有兩種方式:創(chuàng)立自己的Content Provier(即繼承自ContentProvider的子類) ,或者是將自己的數(shù)據(jù)添加到已有的Content Provider中去,后者需要保證現(xiàn)有的Content Provider和自己的數(shù)據(jù)類型相同且具有該 Content Provider的寫入權(quán)限。對(duì)于Content

41、 Provider,最重要的就是數(shù)據(jù)模型(data model) 和 URI。5第三章 系統(tǒng)需求分析及概要設(shè)計(jì)3.1 研究目標(biāo)1學(xué)習(xí)掌握Android應(yīng)用程序的設(shè)計(jì)和開(kāi)發(fā)過(guò)程,對(duì)本次設(shè)計(jì)的總體設(shè)計(jì)思路有所掌握。2能夠使用多種Android組件進(jìn)行基于Android 平臺(tái)的 消費(fèi)管理軟件的設(shè)計(jì)和開(kāi)發(fā)。本軟件是基于Eclipse的開(kāi)發(fā)環(huán)境,在Android平臺(tái)上運(yùn)行的關(guān)于消費(fèi)管理的應(yīng)用軟件。Android平臺(tái)給我們提供了巨大的自由空間,再運(yùn)用Java面向?qū)ο笳Z(yǔ)言進(jìn)行編程,使得系統(tǒng)的可行性和功能性夠了更大的提高。3.2 需求分析 本系統(tǒng)是一個(gè)基于Android平臺(tái)的 消費(fèi)管理軟件,是為本軟件的持有者

42、提供日常消費(fèi)管理方面效勞的,它包括獲取當(dāng)前電腦端時(shí)間、修改添加消費(fèi)記錄的時(shí)間、添加賬目明細(xì)、添加消費(fèi)流動(dòng)金額、選擇費(fèi)用屬性、保存當(dāng)前添加記錄、查詢當(dāng)前記錄詳細(xì)信息等功能。本軟件有助于人們對(duì)日常生活中的費(fèi)用收入和支出情況做相應(yīng)管理并提供保存記錄和查詢消費(fèi)詳細(xì)的功能,也有助于人們更好的管理自己的資金,對(duì)自身消費(fèi)情況有更明細(xì)的了解,以到達(dá)協(xié)助個(gè)人理財(cái)?shù)哪康摹?.3 概要設(shè)計(jì)系統(tǒng)的概要設(shè)計(jì)主要對(duì)系統(tǒng)的總體功能如何實(shí)現(xiàn),如何劃分模塊,系統(tǒng)的后臺(tái)數(shù)據(jù)調(diào)用如何設(shè)計(jì)進(jìn)行研究。它為系統(tǒng)的詳細(xì)設(shè)計(jì)做鋪墊。在系統(tǒng)的設(shè)計(jì)過(guò)程中起著非常重要的作用。 系統(tǒng)功能模塊說(shuō)明Android應(yīng)用程序個(gè)人理財(cái)?shù)闹饕δ埽?啟動(dòng)應(yīng)用程

43、序,出現(xiàn)登錄界面,此登陸界面包含一個(gè)復(fù)選框,勾選后具有記住密碼功能。2驗(yàn)證登陸,用戶名和密碼驗(yàn)證成功那么完成相應(yīng)跳轉(zhuǎn),否那么提示用戶重新登錄。成功進(jìn)入程序后顯示歡送界面,進(jìn)入程序主界面,顯示添加賬目明細(xì)界面。3在選擇賬目編輯框中添加本次添加的賬目類型,單擊進(jìn)入賬目類型選擇界面,選擇完成后重回添加賬目明細(xì)界面,再填入本次添加賬目的具體費(fèi)用。4系統(tǒng)當(dāng)前顯示的日期、時(shí)間默認(rèn)為進(jìn)入該程序時(shí)候的電腦端時(shí)間,可對(duì)該日期、時(shí)間進(jìn)行重置。5賬目屬性一欄可通過(guò)單項(xiàng)選擇按鈕自由選擇本次添加的賬目屬性。6在完成賬目各項(xiàng)明細(xì)添加之后,可對(duì)本次添加的賬目做備注說(shuō)明,能在查詢記錄時(shí)對(duì)本次添加的賬目做相應(yīng)備注說(shuō)明。7點(diǎn)擊保

44、存,可對(duì)添加的賬目做保存處理;點(diǎn)擊取消,那么對(duì)上述添加的內(nèi)容做清空處理;點(diǎn)擊查詢,那么對(duì)剛添加的記錄做詳細(xì)列表顯示處理。8點(diǎn)擊“MENU按鈕,可以顯示已添加的賬目消費(fèi)的賬目明細(xì)信息以及軟件相關(guān)信息,比方about、退出等。9在賬目明細(xì)中,可查詢添加過(guò)的所有消費(fèi)記錄,還可對(duì)已添加的記錄做刪除說(shuō)明等,并對(duì)已添加的記錄進(jìn)行收入支出計(jì)算。 系統(tǒng)根本流程圖在程序設(shè)計(jì)分析的根底上,結(jié)合實(shí)際情況,得出本程序的功能結(jié)構(gòu)圖。在結(jié)構(gòu)圖中包括了功能模塊的表示。從功能需求上分析可以看出,整個(gè)應(yīng)用程序應(yīng)劃分為以下幾個(gè)模塊,分別是程序啟動(dòng)、用戶界面、SQLite數(shù)據(jù)庫(kù)效勞與數(shù)據(jù)傳輸。系統(tǒng)運(yùn)行根本流程圖如圖3-1所示:?jiǎn)?dòng)

45、應(yīng)用程序 登錄 歡送界面 主界面 賬目類型為空 賬目類型不為空 賬目類型 費(fèi)用金額 日期和時(shí)間 賬目屬性 備注信息 取 消 保 存 查 詢 詳細(xì)顯示所記錄信息 清空各個(gè) 添加框內(nèi)容 提示保存 信息成功 結(jié) 束 Menu 菜單 關(guān) 于 退 出 賬單明細(xì) 查看已保存的賬單信息 刪除賬單記錄 圖3-1 系統(tǒng)運(yùn)行根本流程圖第四章 Adapter與數(shù)據(jù)存儲(chǔ)4.1 AdapterAdapter是將數(shù)據(jù)綁定到UI界面上的橋接類,創(chuàng)立顯示每個(gè)工程的子View和提供對(duì)下層數(shù)據(jù)的訪問(wèn)。支持Adapter綁定的用戶界面必須對(duì)AdapterView抽象類進(jìn)行擴(kuò)展,也可創(chuàng)立有AdapterView派生的控件,并創(chuàng)立新的

46、Adapter類來(lái)綁定它們。Android的Adapter是連接后端數(shù)據(jù)和前端顯示的適配器接口,是數(shù)據(jù)和UIView之間一個(gè)重要的紐帶。比方通過(guò)它將數(shù)據(jù)填充到ListView,GridView,Gallery。而android 提供了ArrayAdapter,BaseAdapter,CursorAdapter,HeaderViewListAdapter,ListAdapter,ResourceCursorAdapter,SimpleAdapter,SimpleCursorAdapter,SpinnerAdapter,WrapperListAdapter等幾種形式的Adapter。根據(jù)

47、數(shù)據(jù)來(lái)源形式的不同可以選擇不同的Adapter。94.1.1 Adapter的紐帶作用 在常見(jiàn)的View(ListView,GridView)等地方都需要用到Adapter,如下列圖4-1表達(dá)了Data、Adapter、View三者之間的關(guān)系:圖4-1 Data、Adapter、View的關(guān)系圖 本地Adapter的解析在多數(shù)情況下,不需要用戶從頭創(chuàng)立自己的Adapter,Android提供的一系列Adapter可將數(shù)據(jù)綁定到UI Widget上。由于Android負(fù)責(zé)提供數(shù)據(jù)和選擇用于顯示每個(gè)工程的View,所以Adapter能快速地修改要綁定的控件的外觀和功能。下面列出兩個(gè)最有用也是最通用

48、的本地Adapter。1ArrayAdapterArrayAdapter是一個(gè)綁定View到一組對(duì)象的通用類。默認(rèn)情況下,ArrayAdapter綁定每個(gè)對(duì)象的toString值在layout中預(yù)先定義的TextView控件上。另外,構(gòu)造函數(shù)也允許使用更加復(fù)雜的layout或者通過(guò)重寫getView方法來(lái)擴(kuò)展類從而使用TextView的替代物。2SimpleCursorAdapterSimpleCursorAdapter用于綁定View到Content Provider查詢返回的游標(biāo)Cursor上,可指定一個(gè)XML layout定義,然后將數(shù)據(jù)中的每一列的值綁定在layout中的一個(gè)View上

49、。124.2 游標(biāo)Cursor在Cursor中,查詢通常返回的是一個(gè)游標(biāo)Cursor。一個(gè)游標(biāo)就代表查詢結(jié)果。要一在單個(gè)數(shù)據(jù)行與行之間移動(dòng)數(shù)據(jù),可以通過(guò)moveToFirst()和MoveToNext()方法。通過(guò)isAfterLast()方法,可以檢查下面是否還有數(shù)據(jù)。在ListView中可以通過(guò)SimpleCursorAdapter適配器來(lái)直接使用游標(biāo)。134.3 數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)是 領(lǐng)域中最常見(jiàn)的應(yīng)用之一,很多時(shí)候應(yīng)用程序需要對(duì)后臺(tái)的數(shù)據(jù)進(jìn)行存儲(chǔ)或再次訪問(wèn),通過(guò)數(shù)據(jù)存儲(chǔ)便能夠在移動(dòng)設(shè)備中顯示不同的信息。數(shù)據(jù)存儲(chǔ)必須以某種方式保存,不能喪失,并且能夠有效、簡(jiǎn)便地使用和更新這些數(shù)據(jù)。Andr

50、oid中主要提供了4種數(shù)據(jù)存儲(chǔ)方式:SharedPreferences存儲(chǔ)、SQLite數(shù)據(jù)庫(kù)存儲(chǔ)、Files文件存儲(chǔ)和Network網(wǎng)絡(luò)存儲(chǔ)。下面主要介紹說(shuō)明SharedPreferences存儲(chǔ)和SQLite數(shù)據(jù)庫(kù)存儲(chǔ)。14 SharedPreferences存儲(chǔ)SharedPreferences是Android操作系統(tǒng)所提供的一種簡(jiǎn)單機(jī)制,用來(lái)存儲(chǔ)和檢索一些關(guān)鍵變量的內(nèi)容,例如:歡送語(yǔ)、登陸用戶名和密碼等。其以“鍵-值的方式存儲(chǔ),可以很方便的實(shí)現(xiàn)讀取和存入。首先采用getSharedPreferencesString,int方法獲取一個(gè)SharedPreferences對(duì)象setting

51、s,SETTING_PREF是存儲(chǔ)數(shù)據(jù)的文件名,然后定義SharedPreferences.Editor類變量editor為seting.edit(),負(fù)責(zé)編輯和確認(rèn)存儲(chǔ)結(jié)果,editor.putSring()方法將編輯在mEditText字段的數(shù)據(jù)內(nèi)容存儲(chǔ)在SHARED_MSG變量,再用editor mit()方法來(lái)確認(rèn)存儲(chǔ)結(jié)果。反之,讀取數(shù)據(jù)與之相反。13本次程序中在登錄時(shí)候的記住密碼,下次登錄免輸入用戶名和密碼功能以及添加賬目類型時(shí)候使用到SharedPreferences的存儲(chǔ)機(jī)制,后文將作出相應(yīng)說(shuō)明。 SQLite數(shù)據(jù)庫(kù)存儲(chǔ)Android平臺(tái)提供了SQLite數(shù)據(jù)庫(kù)引擎從而能實(shí)現(xiàn)結(jié)構(gòu)

52、化的數(shù)據(jù)存儲(chǔ),在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠。SQLite是一個(gè)輕量級(jí)但功能十分強(qiáng)大的嵌入式關(guān)系數(shù)據(jù)庫(kù)引擎,支持SQL語(yǔ)句,具有占用空間少、運(yùn)行效率高等特點(diǎn),主要提供嵌入式設(shè)備的數(shù)據(jù)存貯應(yīng)用。SQLite數(shù)據(jù)庫(kù)的一般操作包括:創(chuàng)立翻開(kāi)數(shù)據(jù)庫(kù)、創(chuàng)立表、向表中添加數(shù)據(jù)、查詢表中某條數(shù)據(jù)、從表中刪除數(shù)據(jù)、關(guān)閉數(shù)據(jù)庫(kù)、刪除數(shù)據(jù)庫(kù)等。1創(chuàng)立翻開(kāi)數(shù)據(jù)庫(kù):在Android中創(chuàng)立和翻開(kāi)數(shù)據(jù)庫(kù)都可以使用openOrCreateDatabase方法來(lái)實(shí)現(xiàn),它會(huì)自動(dòng)去檢測(cè)是否存在這個(gè)數(shù)據(jù)庫(kù),如果存在那么翻開(kāi),如果不存在那么創(chuàng)立一個(gè)數(shù)據(jù)庫(kù)并翻開(kāi)。2創(chuàng)立表:一個(gè)數(shù)據(jù)庫(kù)中可包含多張表,每一條數(shù)據(jù)都保存在一個(gè)指

53、定的表中,要?jiǎng)?chuàng)立表可以通過(guò)execSQL方法來(lái)執(zhí)行一條SQL語(yǔ)句。3向表中添加數(shù)據(jù):添加數(shù)據(jù)可用insert方法,但該方法要求把數(shù)據(jù)打包到ContentValues中,然后再插入表中。但是,同樣可以使用execSQL方法來(lái)插入一條SQL語(yǔ)句,從而將數(shù)據(jù)插入到表中。4查詢表中數(shù)據(jù):在Android中查詢數(shù)據(jù)是通過(guò)Cursor類來(lái)實(shí)現(xiàn)的,當(dāng)使用SQLiteDatabase.query()方法時(shí),會(huì)得到一個(gè)Cursor對(duì)象,Cursor指向的就是每一條數(shù)據(jù)。5從表中刪除數(shù)據(jù):刪除數(shù)據(jù)可以使用delete方法,也可使用execSQL方法執(zhí)行SQL語(yǔ)句來(lái)刪除。6關(guān)閉數(shù)據(jù)庫(kù):關(guān)閉數(shù)據(jù)庫(kù)很重要,是經(jīng)常容易被

54、忘記的。關(guān)閉方法很簡(jiǎn)單,直接使用SQLiteDatabase的close方法即可實(shí)現(xiàn)。7刪除數(shù)據(jù)庫(kù):要?jiǎng)h除數(shù)據(jù)庫(kù),直接使用deleteDatabase來(lái)實(shí)現(xiàn)。15 本次程序中,在添加賬目類型時(shí)候的已提供類型選項(xiàng),添加記錄保存后的數(shù)據(jù),以及實(shí)現(xiàn)收入支出后的數(shù)據(jù)都是存放在SQLite數(shù)據(jù)庫(kù)中。具體將在后文中作出說(shuō)明。第五章 系統(tǒng)詳細(xì)設(shè)計(jì)與編程實(shí)現(xiàn)5.1 Android的布局、視圖及組件5.1.1 Android布局布局layout是android.widget包中包含的一種特殊控件。布局空間仍然是View對(duì)象,但它并不實(shí)際地在屏幕上進(jìn)行繪制。相反,它是其他控件子控件的父容器。布局空間依照一定的規(guī)那么來(lái)決定子控件在屏幕上繪制的位置和方法。1線性布局LinearLayout線性布局就是將物體容器內(nèi)的子組件按照直線進(jìn)行擺放的一種方式,這種布局方式所有的單元都會(huì)排成一列,可以是直排或者橫排,當(dāng)定義成直排時(shí),每一行只有一個(gè)單元,由上而下依次排列;如果是定義成橫排時(shí),整個(gè)窗體只有一列。所以采用線性布局定義時(shí),要采用嵌套布局方式,在縱向的線性布局再參加數(shù)個(gè)橫向的布局,橫向的線性布局上加上數(shù)個(gè)組件等等。2框架布局FrameLayout框架布局是非常簡(jiǎn)單的布局,就相當(dāng)于一個(gè)電影屏幕,該屏幕用來(lái)顯示膠片中的每一副畫面,但是同一時(shí)刻,屏幕上只能顯示一幅畫面。當(dāng)建立一個(gè)框架布局

溫馨提示

  • 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)論