版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 目 錄1</b></p><p><b> 摘 要1</b></p><p> Abstract2</p><p><b> 前 言3</b></p>&
2、lt;p><b> 第一章 緒論4</b></p><p><b> 1.1引言4</b></p><p> 1.2課題主要任務(wù)和目標(biāo)4</p><p><b> 1.3課題意義5</b></p><p> 1.4文章組織結(jié)構(gòu)5</p>
3、<p> 第二章 相關(guān)技術(shù)及其背景知識6</p><p> 2.1 ECLIPSE開發(fā)工具6</p><p> 2.1.1 Eclipse版本歷史6</p><p> 2.1.2 Eclipse語言拓展6</p><p> 2.1.3 Eclipse 插件開發(fā)環(huán)境7</p><p> 2
4、.1.4 Eclipse的主要組成7</p><p> 2.1.5 Eclipse SDK7</p><p> 2.2 ANDROID平臺7</p><p> 2.2.1 Android的歷史8</p><p> 2.2.2 Android平臺的五大優(yōu)勢特色8</p><p> 2.2.3 And
5、roid應(yīng)用程序框架9</p><p> 2.3 SQLITE數(shù)據(jù)庫10</p><p> 2.4 用ECLIPSE調(diào)試ANDROID應(yīng)用程序11</p><p> 2.4.1 Devices11</p><p> 2.4.2 Emulator Control12</p><p> 2.4.3 Fi
6、le Explorer13</p><p> 2.4.4 Threads、Heap、Allocation Tracker14</p><p> 2.4.5 LogCat15</p><p> 2.4.6 Console15</p><p> 2.5本章小結(jié)16</p><p> 第三章 手機(jī)圖書搜索
7、系統(tǒng)的分析和設(shè)計(jì)17</p><p> 3.1 系統(tǒng)分析與總體設(shè)計(jì)17</p><p> 3.1.1系統(tǒng)功能描述17</p><p> 3.1.2 系統(tǒng)功能模塊劃分18</p><p> 3.2 數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)19</p><p> 3.3本章小節(jié)19</p><p>
8、 第四章 系統(tǒng)的實(shí)現(xiàn)和運(yùn)行20</p><p> 4.1系統(tǒng)的主界面20</p><p> 4.2圖書信息管理模塊的實(shí)現(xiàn)23</p><p> 4.2.1 圖書信息管理功能操作界面24</p><p> 4.2.2 創(chuàng)建表和數(shù)據(jù)庫27</p><p> 4.2.3 添加數(shù)據(jù)27</p>
9、<p> 4.2.4 刪除數(shù)據(jù)29</p><p> 4.2.5 修改數(shù)據(jù)31</p><p> 4.3查詢及顯示結(jié)果模塊的實(shí)現(xiàn)32</p><p> 4.3.1 顯示查詢結(jié)果33</p><p> 4.3.2 模糊查詢36</p><p> 4.3.3 按條件查詢37</p
10、><p> 4.4本章小節(jié)38</p><p> 第五章 系統(tǒng)的部署39</p><p> 5.1 部署ANDROID應(yīng)用程序到手機(jī)39</p><p> 5.2 本章小結(jié)39</p><p> 第六章 總結(jié)與展望40</p><p> 6.1 課題總結(jié)40</p>
11、;<p> 6.2 課題展望40</p><p><b> 參考文獻(xiàn)41</b></p><p><b> 致謝42</b></p><p><b> 摘 要</b></p><p> Android是當(dāng)今最重要的手機(jī)開發(fā)平臺之一,它是建立在Jav
12、a的基礎(chǔ)之上的,它能夠迅速建立手機(jī)軟件的解決方案。Android的功能十分強(qiáng)大,成為當(dāng)今軟件行業(yè)的一股新興力量。</p><p> 本文首先介紹了Android的相關(guān)知識,比如歷史,發(fā)展,特點(diǎn)等。然后分析了在Android平臺上運(yùn)行的圖書搜索系統(tǒng)的組成模塊和基本功能,并對其中用到的一些關(guān)鍵的方法做出詳細(xì)的描述。</p><p> 在開發(fā)過程中運(yùn)用了開發(fā)工具Eclipse和數(shù)據(jù)庫SQLi
13、te,設(shè)計(jì)并實(shí)現(xiàn)了一個簡單的圖書搜索系統(tǒng)。系統(tǒng)主要分為兩個功能模塊:存儲和查詢。在存儲模塊中,可以對圖書數(shù)據(jù)進(jìn)行增加,刪除,修改等操作。在查詢模塊中,可以查詢存儲在數(shù)據(jù)庫中的圖書數(shù)據(jù)并顯示在手機(jī)屏幕上。</p><p> 該系統(tǒng)可以為使用者提供方便快捷的信息服務(wù),用戶可以獲取所查詢的圖書的各類信息,為用戶查書購書帶來了便利。</p><p> 關(guān)鍵詞:圖書搜索系統(tǒng),Android平臺,
14、SQLite數(shù)據(jù)庫,Eclipse </p><p><b> Abstract</b></p><p> Android is one of the most important mobile development platforms, which is based on the Java .It can establish solutions to mo
15、bile software quickly. The function of Android is quite powerful, and it has been becoming an emerging force in the software industry.</p><p> This paper first introduced the related knowledge of Android, s
16、uch as history, development, characteristic etc. Then it analyzes the composition of the book search system module and some basic functions that run on the Android platform, and make detailed description to some key meth
17、ods.</p><p> Eclipse and a backend database SQLite are used during the development process. Then the author will design and implement a simple book search system. The system is mainly divided into two funct
18、ion modules: storage and query. In storage module, one can insert, delete, and modify the book data. In the inquiry module, one can inquire the book data stored in a database and display it on the screen of phones.</p
19、><p> This system can provide fast and convenient information service for users, users can get access to the data of books they inquire, As a result, it can bring convenient for users to search and buy books.&
20、lt;/p><p> Key words: book search system, Android platform, SQLite data base, Eclipse</p><p> Written by:Gu Xiang</p><p> Supervised by:Fu YuChen</p><p><b> 前 言&
21、lt;/b></p><p> 進(jìn)入21世紀(jì)以來,整個社會的發(fā)展已經(jīng)日趨信息化,高速化!生活和工作的快節(jié)奏令我們目不暇接,各種各樣的信息充斥著我們的視野,撞擊著我們的思維。追憶過去,Windows操作系統(tǒng)的誕生成就了微軟的霸主地位,也造就了PC時(shí)代的繁榮。然而,以Android和iPhone手機(jī)為代表的智能移動設(shè)備的發(fā)明極大地改變了人們的生活方式。移動互聯(lián)時(shí)代(3G時(shí)代)已經(jīng)來臨,誰會成為這些移動設(shè)備的主
22、宰?毫無疑問,它就是Android——3G時(shí)代的“Windows”!</p><p> 隨著3G的到來,無線寬帶的不斷發(fā)展,使得在手機(jī)上實(shí)現(xiàn)更多內(nèi)容更豐富的應(yīng)用程序成為可能,如視頻通話、視頻點(diǎn)播、移動互聯(lián)網(wǎng)沖浪、在線看書/聽歌、內(nèi)容分享等。為了承載這些數(shù)據(jù)應(yīng)用及快速部署,手機(jī)功能將會越來越智能,越來越開放。為了實(shí)現(xiàn)這些需求,必須有一個好的開發(fā)平臺來支持,在此由Google公司發(fā)起的OHA聯(lián)盟走在了業(yè)界的前列,2
23、007年11月推出了開放的Android平臺,任何公司及個人都能夠免費(fèi)獲取到源代碼及SDK,中國移動也聯(lián)合各手機(jī)廠商共同推出了基于Android平臺的OPhone。不難看出,Android平臺能夠在短時(shí)間內(nèi)躋身智能手機(jī)開發(fā)平臺的前列。</p><p> 2009年,3G拍照在國內(nèi)開放后,3G、Android、iPhone、Google、蘋果、手機(jī)軟件、移動開發(fā)等名次越來越充斥于耳。隨著3G網(wǎng)絡(luò)的大規(guī)模建設(shè)和智能
24、手機(jī)的迅速普及,移動互聯(lián)時(shí)代已經(jīng)微笑著迎面而來。</p><p> 以創(chuàng)新的搜索引擎技術(shù)而一躍成為互聯(lián)網(wǎng)巨頭的Google,無線搜索無疑是他進(jìn)軍移動互聯(lián)網(wǎng)的一塊基石。Android操作系統(tǒng)是Google最具殺傷力的武器之一。雖然蘋果以其天才的創(chuàng)新,使得iPhone在全球迅速擁有了數(shù)百萬忠實(shí)“粉絲”,而Android作為第一個完整、開放、免費(fèi)的手機(jī)平臺,使開發(fā)者在為其開發(fā)程序時(shí)擁有更大的自由。與Windows M
25、obile、Symbian等廠商不同的是,Android操作系統(tǒng)均免費(fèi)提供給開發(fā)人員,這樣可以為用戶節(jié)省進(jìn)三成成本,并得到眾多廠商與開發(fā)商的擁護(hù)。最早進(jìn)入Android市場的HTC已經(jīng)陸續(xù)推出了G1、Magic、Hero、Tattoo等手機(jī),三星的7500以及摩托羅拉的收款A(yù)ndroid手機(jī)CLIQ也已面世,中國移動則以Android為基礎(chǔ)開發(fā)了Ophone平臺。這些足以證明Android已經(jīng)成為智能手機(jī)市場的生力軍[1]。</p
26、><p> 本次畢業(yè)設(shè)計(jì)的題目是《基于手機(jī)客戶端的圖書搜索系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》,要求使用Java語言來實(shí)現(xiàn)系統(tǒng)的功能,使用SQLite數(shù)據(jù)庫存儲數(shù)據(jù),并能在電腦上的Android模擬器上模擬運(yùn)行。</p><p><b> 第一章 緒論</b></p><p><b> 1.1引言</b></p><p
27、> Android 平臺是 Open Handset Alliance 的成果,Open Handset Alliance 組織由一群共同致力于構(gòu)建更好的移動電話的公司組成。這個組織由 Google 領(lǐng)導(dǎo),包括移動運(yùn)營商、手持設(shè)備制造商、零部件制造商、軟件解決方案和平臺提供商以及市場營銷公司。從軟件開發(fā)的觀點(diǎn)看,Android 正處在開源領(lǐng)域的中心位置。</p><p> 市場上第一款支持 Androi
28、d 的手機(jī)是由 HTC 制造并由 T-Mobile 供應(yīng)的 G1。這款設(shè)備從設(shè)想到推出花了大約一年的時(shí)間,惟一可用的軟件開發(fā)工具是一些實(shí)行增量改進(jìn)的 SDK 發(fā)行版。隨著 G1 發(fā)行日的臨近,Android 團(tuán)隊(duì)發(fā)布了 SDK V1.0,用于這個新平臺的應(yīng)用程序也浮出水面。</p><p> 為了鼓勵創(chuàng)新,Google 舉辦了兩屆 “Android Developer Challenges”,為優(yōu)勝的參賽作品提
29、供數(shù)百萬美金的獎勵。G1 問世幾個月之后,隨后就發(fā)布了 Android Market,它使用戶可以瀏覽應(yīng)用程序,并且可以將應(yīng)用程序直接下載到他們的手機(jī)上。經(jīng)過了大約 18個月,一個新的移動平臺進(jìn)入公眾領(lǐng)域。</p><p> 近年來各手機(jī)廠商不斷推出Android手機(jī),使用Android手機(jī)的用戶不斷增加,因此本文提出設(shè)計(jì)一個基于Android平臺的簡單的手機(jī)軟件。</p><p>
30、1.2課題主要任務(wù)和目標(biāo)</p><p> 該手機(jī)客戶端的圖書搜索系統(tǒng)主要包括數(shù)據(jù)庫的建立和維護(hù)以及圖書信息查詢功能的開發(fā)兩個方面。對于前者要求建立起的數(shù)據(jù)庫要具備較好的一致性、完整性、安全性等特性,而對于后者則要求應(yīng)用程序具有功能完備,界面美觀、易使用等特點(diǎn)。本系統(tǒng)主要功能包括: 圖書信息添加、修改、刪除,查詢處理并排版顯示查詢結(jié)果兩個模塊,并且能夠動態(tài)的使用數(shù)據(jù)庫。</p><p>
31、 針對Android手機(jī)目前的發(fā)展?fàn)顩r和對未來前景的展望,本文提出并設(shè)計(jì)了此圖書搜索系統(tǒng)。本系統(tǒng)是在Eclipse開發(fā)工具的支持下設(shè)計(jì)與實(shí)現(xiàn)的,所采用的技術(shù)是 Java+SQLite+ Android SDK。</p><p> 1、查閱并學(xué)習(xí)Android知識相關(guān),了解Android的歷史、構(gòu)成、發(fā)展、特點(diǎn)以及相對于其他系統(tǒng)的優(yōu)勢。</p><p> 2、搭建實(shí)現(xiàn)工作所需平臺,了解
32、Java語言,學(xué)會在Eclipse編程環(huán)境下運(yùn)行和調(diào)試Android應(yīng)用程序。</p><p> 3、研究并分析基于手機(jī)客戶端的圖書搜索系統(tǒng)任務(wù)需求與整體構(gòu)架設(shè)計(jì)。</p><p> 4、創(chuàng)建SQLite數(shù)據(jù)庫,掌握對數(shù)據(jù)庫中數(shù)據(jù)的存儲、修改、訪問、查詢等能力。</p><p> 5、編寫代碼并進(jìn)行測試,對不足的地方進(jìn)行改正,完善。</p>&l
33、t;p><b> 1.3課題意義</b></p><p> Android一經(jīng)推出,就受到了業(yè)界前所未有的熱捧。全世界的Android社區(qū)熱火朝天,開發(fā)人員癡迷學(xué)習(xí),手機(jī)設(shè)備廠商不斷推出Android系統(tǒng)的手機(jī),產(chǎn)生這樣的效果的原因,可以用一句話來概括:“博采眾長,為它所用?!盇ndroid采用了開源的Linux操作系統(tǒng),底層使用了訪問速度最快的C語言,應(yīng)用層采用了簡單而強(qiáng)大的Ja
34、va語言,這使得Android無處不閃爍著耀眼的光芒。</p><p> 這個圖書搜索系統(tǒng),可以為用戶提供基本的圖書信息管理和查詢功能,方便用戶獲取所需圖書的信息,在查詢的目標(biāo)不明確的時(shí)候還可以進(jìn)行關(guān)鍵字的模糊查詢。并且在做Android程序開發(fā)的過程中,我接觸了一個全新的領(lǐng)域,了解一些相關(guān)的基礎(chǔ)知識,雖然花了很多的時(shí)間去查詢和接受這些新的內(nèi)容,但我還是有很大的收獲。</p><p>&
35、lt;b> 1.4文章組織結(jié)構(gòu)</b></p><p> 本文提出并設(shè)計(jì)了基于手機(jī)客戶端的圖書搜索系統(tǒng),全文共分6章:</p><p> 第一章 描述了本系統(tǒng)開發(fā)的目的及意義。</p><p> 第二章 描述了開發(fā)該系統(tǒng)所使用的相關(guān)技術(shù)及其背景知識。</p><p> 第三章 描述了系統(tǒng)的總體設(shè)計(jì),包含整個系統(tǒng)的功
36、能模塊劃分及描述,各功能模塊之間的關(guān)系以及數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計(jì)與實(shí)現(xiàn)。</p><p> 第四章 描述了系統(tǒng)的實(shí)現(xiàn)和運(yùn)行,包含了運(yùn)行效果的預(yù)覽和對部分代碼的解析。</p><p> 第五章 描述了系統(tǒng)的部署方法。</p><p> 第六章 對本系統(tǒng)的設(shè)計(jì)過程進(jìn)行了總結(jié),并討論了進(jìn)一步不斷優(yōu)化程序和完善系統(tǒng)的展望。</p><p> 第二章
37、 相關(guān)技術(shù)及其背景知識</p><p> 2.1 ECLIPSE開發(fā)工具</p><p> Eclipse 是一個開放源代碼的,基于 Java 的可擴(kuò)展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具(Java Development Tools,JDT)。</p>
38、<p> 2.1.1 Eclipse版本歷史</p><p> Eclipse最初是由IBM公司開發(fā)的替代商業(yè)軟件Visual Age for Java的下一代IDE開發(fā)環(huán)境,2001年11月貢獻(xiàn)給開源社區(qū),現(xiàn)在它由非營利軟件供應(yīng)商聯(lián)盟Eclipse基金會(Eclipse Foundation)管理。 2003年,Eclipse 3.0選擇OSGi服務(wù)平臺規(guī)范為運(yùn)行時(shí)架構(gòu)。 2007年6月,3.3穩(wěn)
39、定版發(fā)布。2008年6月發(fā)布代號為Ganymede的3.4版。2009年7月發(fā)布代號為GALILEO的3.5版。2010年6月發(fā)布代號為Helios的3.6版。</p><p> 2.1.2 Eclipse語言拓展</p><p> Eclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE)。最初主要用來Java語言開發(fā),但是目前亦有人通過插件使其作為其他計(jì)算機(jī)語言比如C++和Pytho
40、n的開發(fā)工具。Eclipse的本身只是一個框架平臺,但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。</p><p> Eclipse 最初由OTI和IBM兩家公司的IDE產(chǎn)品開發(fā)組創(chuàng)建,起始于1999年4月。IBM提供了最初的Eclipse代碼基礎(chǔ),包括Platform、JDT 和PDE。目前由IBM牽頭,圍繞著Ecl
41、ipse項(xiàng)目已經(jīng)發(fā)展成為了一個龐大的Eclipse聯(lián)盟,有150多家軟件公司參與到Eclipse項(xiàng)目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一個開發(fā)源碼項(xiàng)目,它其實(shí)是 Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其開放源碼,任何人都可以免費(fèi)得到,并可以在此基礎(chǔ)上開發(fā)各自的插件,因此越來越受人們關(guān)注
42、。近期還有包括Oracle在內(nèi)的許多大公司也紛紛加入了該項(xiàng)目,并宣稱Eclipse將來能成為可進(jìn)行任何語言開發(fā)的IDE集大成者,使用者只需下載各種語言的插件即可。</p><p> 2.1.3 Eclipse 插件開發(fā)環(huán)境</p><p> 雖然大多數(shù)用戶很樂于將 Eclipse 當(dāng)作 Java IDE 來使用,但 Eclipse 的目標(biāo)不僅限于此。Eclipse 還包括插件開發(fā)環(huán)境(
43、Plug-in Development Environment,PDE),這個組件主要針對希望擴(kuò)展 Eclipse 的軟件開發(fā)人員,因?yàn)樗试S他們構(gòu)建與 Eclipse 環(huán)境無縫集成的工具。由于 Eclipse 中的每樣?xùn)|西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。 </p><p> 基于 Eclipse 的應(yīng)用程序的突出例子
44、是 IBM 的 WebSphere Studio Workbench,它構(gòu)成了 IBM Java 開發(fā)工具系列的基礎(chǔ)。例如,WebSphere Studio Application Developer 添加了對 JSP、servlet、EJB、XML、Web 服務(wù)和數(shù)據(jù)庫訪問的支持。</p><p> 2.1.4 Eclipse的主要組成</p><p> Eclipse是一個開放源代
45、碼的軟件開發(fā)項(xiàng)目,專注于為高度集成的工具開發(fā)提供一個全功能的,具有商業(yè)品質(zhì)的工業(yè)平臺。它主要由Eclipse項(xiàng)目、Eclipse工具項(xiàng)目和Eclipse技術(shù)項(xiàng)目三個項(xiàng)目組成,具體包括四個部分組成——Eclipse Platform、JDT、CDT和PDE。JDT支持Java開發(fā),CDT支持C開發(fā),PDE用來支持插件開發(fā),Eclipse Platform則是一個開放的可擴(kuò)展IDE,提供了一個通用的開發(fā)平臺。它提供建造塊和構(gòu)造并運(yùn)行集成軟件
46、開發(fā)工具的基礎(chǔ)。Eclipse Platform允許工具建造者獨(dú)立開發(fā)與他人工具無縫集成的工具從而無須分辨一個工具功能在哪里結(jié)束,而另一個工具功能在哪里開始。</p><p> 2.1.5 Eclipse SDK</p><p> Eclipse SDK(軟件開發(fā)者包)是Eclipse Platform、JDT和PDE所生產(chǎn)的組件合并,它們可以一次下載。這些部分在一起提供了一個具有豐富
47、特性的開發(fā)環(huán)境,允許開發(fā)者有效地建造可以無縫集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse項(xiàng)目生產(chǎn)的工具和來自其它開放源代碼的第三方軟件組合而成。Eclipse項(xiàng)目生產(chǎn)的軟件以 GPL發(fā)布,第三方組件有各自自身的許可協(xié)議[2-3]。</p><p> 2.2 ANDROID平臺</p><p> Android一詞的本義指“機(jī)器人”,同時(shí)也是G
48、oogle于2007年11月5日宣布的基于Linux平臺的開源手機(jī)操作系統(tǒng)的名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,號稱是首個為移動終端打造的真正開放和完整的移動軟件。目前,最新版本為Android 2.4 Gingerbread和Android 3.0 Honeycomb。</p><p> 2.2.1 Android的歷史</p><p> 2008年9月22日,美
49、國運(yùn)營商德國T-Mobile在紐約正式發(fā)布第一款A(yù)ndroid手機(jī)——T-Mobile G1。該款手機(jī)為臺灣宏達(dá)電(HTC)代工制造,是世界上第一部使用Android操作系統(tǒng)的手機(jī),支持WCDMA/HSPA網(wǎng)絡(luò),理論下載速率7.2Mbps,并支持Wi-Fi。 </p><p> 2009年10月28日正式發(fā)布了Android 2.0 智能手機(jī)操作系統(tǒng)。 </p><p> 2010年1
50、月索尼愛立信首款A(yù)ndroid機(jī)型X10上市 。 </p><p> 2010年1月7日,Google在其美國總部正式向外界發(fā)布了旗下首款合作品牌手機(jī)Nexus One(HTC G5),并同時(shí)開始對外發(fā)售。 </p><p> 2010年7月9日,美國NDP集團(tuán)調(diào)查顯示,Android系統(tǒng)已占據(jù)了美國移動系統(tǒng)市場28%的份額。 </p><p> 北京時(shí)間3月
51、25日,據(jù)國外媒體報(bào)道,谷歌表示,谷歌暫停開源Android3.0,并將暫時(shí)阻止小型手機(jī)生產(chǎn)商使用其Android 3.0“Honeycomb”系統(tǒng),期限未定。 </p><p> 谷歌一位發(fā)言人通過電子郵件聲明稱,Honeycomb是專為平板電腦而非手機(jī)設(shè)計(jì)的,在該系統(tǒng)以開源形式發(fā)布前,還有很多工作要做。谷歌向《商業(yè)周刊》表示,推遲發(fā)布可能達(dá)數(shù)月之久。 </p><p> 谷歌稱:“
52、代號為Honeycomb的Android 3.0系統(tǒng),是針對大屏幕設(shè)備和改進(jìn)小軟件、多任務(wù)、瀏覽、通知和客戶化等功能而設(shè)計(jì)。雖然我們很高興為平板電腦提供這些新功能,但交付給其他設(shè)備包括手機(jī)前我們有更多的工作要做。我們決定暫不開放源代碼。我們致力于將Android作為跨多設(shè)備類型的開放式平臺來提供,并在準(zhǔn)備好時(shí)公布源代碼”。 </p><p> 這意味著小型手機(jī)制造商要使用Honeycomb將不得不等待一段時(shí)間。
53、不過大型設(shè)備商如HTC和摩托羅拉,已經(jīng)可以使用。這些設(shè)備制造商一般安裝在平板電腦中。對此,谷歌工程副總裁和Android主管安迪·魯賓(Andy Rubin)表示:“為了制定平板電腦出貨的時(shí)間表, 我們進(jìn)行了一些折衷設(shè)計(jì)。我們不想思考如何在手機(jī)上運(yùn)行同一個軟件”。 </p><p> 魯賓還表示,谷歌不想冒險(xiǎn)“帶來非常糟糕的用戶體驗(yàn)”。今年2月在發(fā)布Honeycomb時(shí),谷歌發(fā)言人稱,目前是專為平板電
54、腦設(shè)計(jì),以后這些功能將推廣到手機(jī)上。手機(jī)版的新Android,可能不會被叫做“Honeycomb ”,也可能是與3.0不同的版本。</p><p> 2.2.2 Android平臺的五大優(yōu)勢特色</p><p><b> 1、開放性</b></p><p> 在優(yōu)勢方面,Android平臺首先就是其開放性,開發(fā)的平臺允許任何移動終端廠商加
55、入到Android聯(lián)盟中來。顯著的開放性可以使其擁有更多的開發(fā)者,隨著用戶和應(yīng)用的日益豐富,一個嶄新的平臺也將很快走向成熟。 </p><p> 開放性對于Android的發(fā)展而言,有利于積累人氣,這里的人氣包括消費(fèi)者和廠商,而對于消費(fèi)者來講,最大的受益正是豐富的軟件資源。開放的平臺也會帶來更大競爭,如此一來,消費(fèi)者將可以用更低的價(jià)位購得心儀的手機(jī)。 </p><p> 2、掙脫運(yùn)營商
56、的束縛</p><p> 在過去很長的一段時(shí)間,特別是在歐美地區(qū),手機(jī)應(yīng)用往往受到運(yùn)營商制約,使用什么功能接入什么網(wǎng)絡(luò),幾乎都受到運(yùn)營商的控制。自從iPhone上市,用戶可以更加方便地連接網(wǎng)絡(luò),運(yùn)營商的制約減少。隨著EDGE、HSDPA這些2G至3G移動網(wǎng)絡(luò)的逐步過渡和提升,手機(jī)隨意接入網(wǎng)絡(luò)已不是運(yùn)營商口中的笑談。 </p><p><b> 3、豐富的硬件選擇</b&
57、gt;</p><p> 這一點(diǎn)還是與Android平臺的開放性相關(guān),由于Android的開放性,眾多的廠商會推出千奇百怪,功能特色各具的多種產(chǎn)品。功能上的差異和特色,卻不會影響到數(shù)據(jù)同步、甚至軟件的兼容。好比你從諾基亞Symbian風(fēng)格手機(jī)一下改用蘋果iPhone,同時(shí)還可將Symbian中優(yōu)秀的軟件帶到iPhone上使用、聯(lián)系人等資料更是可以方便地轉(zhuǎn)移。</p><p> 4、不受
58、任何限制的開發(fā)商 </p><p> Android平臺提供給第三方開發(fā)商一個十分寬泛、自由的環(huán)境。因此不會受到各種條條框框的阻撓,可想而知,會有多少新穎別致的軟件會誕生。但也有其兩面性,血腥、暴力、情色方面的程序和游戲如何控制正是留給Android難題之一。 </p><p> 5、無縫和的Google應(yīng)用</p><p> 如今叱咤互聯(lián)網(wǎng)的Google已經(jīng)
59、走過10年歷史。從搜索巨人到全面的互聯(lián)網(wǎng)滲透,Google服務(wù)如地圖、郵件、搜索等已經(jīng)成為連接用戶和互聯(lián)網(wǎng)的重要紐帶,而Android平臺手機(jī)將無縫結(jié)合這些優(yōu)秀的Google服務(wù)[4]。 </p><p> 2.2.3 Android應(yīng)用程序框架</p><p> Android會同一個核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括E-mail客戶端、SMS短消息程序、日歷、地圖、瀏覽器、聯(lián)
60、系人管理程序等。所有的應(yīng)用程序都是用Java語言編寫的。</p><p> 開發(fā)者也完全可以訪問核心應(yīng)用程序所使用的API框架。該應(yīng)用程序框架用來簡化組件軟件的重用,使得任何一個應(yīng)用程序都可以發(fā)布它的功能塊,并且任何其他的應(yīng)用程序都可以使用它所發(fā)布的功能塊。該應(yīng)用程序重用機(jī)制使得組件可以被用戶替換。</p><p> Android系統(tǒng)提供給應(yīng)用開發(fā)者的本身就是一個框架,所有的應(yīng)用開發(fā)
61、都必須遵守這個框架的原則,我們在應(yīng)用開發(fā)時(shí)都是在這個框架上進(jìn)行擴(kuò)展的。Android包括了一個核心庫,該核心庫提供了Java語言核心庫的大多數(shù)功能。Android的核心系統(tǒng)服務(wù)依賴于Linux 2.6內(nèi)核,如安全性、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)協(xié)議棧和驅(qū)動模型。Linux內(nèi)核也同時(shí)作為硬件和軟件堆棧之間的硬件抽象層。Android框架提供的功能:</p><p> android.app:提供高層的程序模型和基本的
62、運(yùn)行環(huán)境。</p><p> android.content:包含對各種設(shè)備上的數(shù)據(jù)進(jìn)行訪問和發(fā)布。</p><p> android.database:通過內(nèi)容提供者瀏覽和操作數(shù)據(jù)庫。</p><p> android.graphics:底層的圖形庫,包含畫布、顏色過濾、點(diǎn)、矩形,可以將它們直接繪制到屏幕上。</p><p> an
63、droid.location :定位和相關(guān)服務(wù)的類。</p><p> android.media:提供一些類管理多種音頻、視頻的媒體接口。</p><p> android.net :提供幫助網(wǎng)絡(luò)訪問的類,超過通常的java.net.* 接口。</p><p> android.os :提供了系統(tǒng)服務(wù)、消息傳輸和IPC機(jī)制。</p><p
64、> android.opengl:提供OpenGL的工具。</p><p> android.provider:提供訪問Android內(nèi)容提供者的類。</p><p> android.telephony:提供與撥打電話相關(guān)的API交互。</p><p> android.view:提供基礎(chǔ)的用戶界面接口框架。</p><p>
65、 android.util :涉及工具性的方法,例如時(shí)間日期的操作。</p><p> android.webkit :默認(rèn)瀏覽器操作接口。</p><p> android.widget:包含各種UI元素(大部分是可見的)在應(yīng)用程序的布局中使用。</p><p> 2.3 SQLITE數(shù)據(jù)庫</p><p> SQLite,是一款
66、輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),它的設(shè)計(jì)目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時(shí)能夠跟很多程序語言相結(jié)合,比如 Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源世界著名的數(shù)據(jù)庫管理系統(tǒng)來講,它的處理速度比他們都快。
67、SQLite第一個Alpha版本誕生于2000年5月. 至今已經(jīng)有10個年頭,SQLite也迎來了一個版本 SQLite 3已經(jīng)發(fā)布。[5-6]</p><p> SQLite的特性:</p><p> 1. ACID事務(wù)。 </p><p> 2. 零配置 – 無需安裝和管理配置。 </p><p> 3. 儲存在單一磁盤文件中的一
68、個完整的數(shù)據(jù)庫。 </p><p> 4. 數(shù)據(jù)庫文件可以在不同字節(jié)順序的機(jī)器間自由的共享。 </p><p> 5. 支持?jǐn)?shù)據(jù)庫大小至2TB。 </p><p> 6. 足夠小, 大致3萬行C代碼, 250K。 </p><p> 7. 比一些流行的數(shù)據(jù)庫在大部分普通數(shù)據(jù)庫操作要快。 </p><p> 8
69、. 簡單, 輕松的API。 </p><p> 9. 包含TCL綁定, 同時(shí)通過Wrapper支持其他語言的綁定。 </p><p> 10. 良好注釋的源代碼, 并且有著90%以上的測試覆蓋率。 </p><p> 11. 獨(dú)立: 沒有額外依賴。 </p><p> 12. Source完全的Open, 你可以用于任何用途, 包括出
70、售它。 </p><p> 13. 支持多種開發(fā)語言,C, PHP, Perl, Java, ASP.NET, Python。</p><p> 2.4 用ECLIPSE調(diào)試ANDROID應(yīng)用程序</p><p> 要想檢查正在運(yùn)行的應(yīng)用程序中發(fā)生了什么情況,就需要查看正在運(yùn)行的 Dalvik VM。在 Eclipse 中,選擇 Window > Ope
71、n Perspective > Other。在出現(xiàn)的對話框中選擇 DDMS。這會在 Eclipse 中打開一個新的透視圖,其中有許多有趣的窗口。</p><p> DDMS 為IDE和Emultor(or GPhone)架起來了一座橋梁。Developer可以通過DDMS看到目標(biāo)機(jī)器上運(yùn)行的進(jìn)程/線程狀態(tài):可以讓Eclipse程序連接到開發(fā)機(jī)上運(yùn)行;可以看進(jìn)程的heap信息、logcat信息、進(jìn)程分配內(nèi)存
72、情況;可以像目標(biāo)機(jī)發(fā)送短信、發(fā)送地理位置信息以及打電話;可以像gdb一樣attach 某一個進(jìn)程調(diào)試[7-8]。</p><p> 下面簡要介紹一下 DDMS 透視圖中提供的資源: </p><p> 2.4.1 Devices </p><p> Device 中羅列了Emulator中所有的進(jìn)程,選項(xiàng)卡右上角那一排按鈕分別為:Debug the selec
73、ted process調(diào)試進(jìn)程、Update Heap更新進(jìn)程堆棧信息、Dump HPROF file檢查HPROF(Heap/CPU Profiling Tool)文件、Cause GC調(diào)用垃圾回收、更新進(jìn)程Update Threads、Start Method Profiling開始方法分析、Stop Process停止某個進(jìn)程,和Screen Capture抓取 Emulator目前的屏幕。當(dāng)你選中某個進(jìn)程,并按下調(diào)試進(jìn)程按鈕時(shí),
74、如果eclipse中有這個進(jìn)程的代碼,那就可以進(jìn)行源代碼級別的調(diào)試。有點(diǎn)像 gdb attach。圖片抓取按鈕可以把當(dāng)前android的顯示桌面抓到你的機(jī)器上,也是非常有用。Devices窗口如圖2-1所示:</p><p> 圖2-1 Devices窗口示例</p><p> 這里可以查看到所有與DDMS連接的終端的詳細(xì)信息,以及每個終端正在運(yùn)行的APP進(jìn)程,每個進(jìn)程最右邊相對應(yīng)的是
75、與調(diào)試器鏈接的端口。因?yàn)锳ndroid是基于Linux內(nèi)核開發(fā)的操作平臺,同時(shí)也保留了Linux中特有的進(jìn)程ID,它介于進(jìn)程名和端口號之間。</p><p> DDMS監(jiān)聽第一個終端App進(jìn)程的端口為8600,APP進(jìn)程將分配8601,如果有更多終端或者更多APP進(jìn)程將按照這個順序依次類推。DDMS通過8700端口(“base port”)接收所有終端的指令。</p><p> 2.4
76、.2 Emulator Control </p><p> 通過這個面板的一些功能可以非常容易的使測試終端模擬真實(shí)手機(jī)所具備的一些交互功能,比如:接聽電話,根據(jù)選項(xiàng)模擬各種不同網(wǎng)絡(luò)情況,模擬接受SMS消息和發(fā)送虛擬地址坐標(biāo)用于測試GPS功能等。Emulator Control窗口如圖2-2所示:</p><p> 圖2-2 Emulator Control窗口示例</p>
77、<p> Telephony Status: 通過選項(xiàng)模擬語音質(zhì)量以及信號連接模式。</p><p> Telephony Actions: 模擬電話接聽和發(fā)送SMS到測試終端。</p><p> Location Control: 模擬地理坐標(biāo)或者模擬動態(tài)的路線坐標(biāo)變化并顯示預(yù)設(shè)的地理標(biāo)識,可以通過以下3種方式: </p><p> ? Man
78、ual:手動為終端發(fā)送二維經(jīng)緯坐標(biāo)。 </p><p> ? GPX:通過GPX文件導(dǎo)入序列動態(tài)變化地理坐標(biāo),從而模擬行進(jìn)中GPS變化的數(shù)值。 ? KML:通過KML文件導(dǎo)入獨(dú)特的地理標(biāo)識,并以動態(tài)形式根據(jù)變化的地理坐標(biāo)顯示在測試終端。</p><p> 2.4.3 File Explorer</p><p> 顯示文件系統(tǒng)信息。File Explorer非常
79、有用:它可以把文件上傳到Android、或者從Android上下載文件下來、也可以進(jìn)行文件刪除操作。選項(xiàng)卡右上角有上傳、下載、刪除三個按鈕。一般情況下,F(xiàn)ile Explorer會有如下三個目錄:data、sdcard、system。</p><p> ? data對應(yīng)手機(jī)的RAM,會存放Android OS 運(yùn)行時(shí)的Cache等臨時(shí)數(shù)據(jù)(/data/dalvik-cache目錄);沒有root權(quán)限時(shí)apk程序
80、安裝在/data/app中(只是存放apk 文件本身);/data/data中存放Android中所有程序(系統(tǒng)apk+第三方apk)的詳細(xì)目錄信息。</p><p> ? mnt是mount,掛裝的意思,mnt目錄下的 sdcard對應(yīng)sd卡。</p><p> ? system對應(yīng)手機(jī)的ROM,OS以及系統(tǒng)自帶apk程序等存放在這里。</p><p> 用
81、戶應(yīng)用程序部署在 /data/app 目錄中,而 Android 內(nèi)置的應(yīng)用程序部署在/system/app 目錄中。File Explorer窗口如圖2-3所示:</p><p> 圖2-3 File Explorer窗口示例</p><p> 2.4.4 Threads、Heap、Allocation Tracker </p><p> Threads視圖
82、列出當(dāng)前進(jìn)程的所有線程。</p><p> Heap視圖展示一些堆的狀態(tài),在垃圾回收其間更新。當(dāng)選定一個虛擬機(jī)時(shí), VM Heap視圖不能顯示數(shù)據(jù),可以點(diǎn)擊右邊面包上的帶有綠色的“Show heap updates”按鈕,然后在點(diǎn)擊“Cause GC”實(shí)施垃圾回收更新堆的狀態(tài)。</p><p> 在Allocation Tracker視圖里,我們可以跟蹤每個選中的虛擬機(jī)的內(nèi)存分配情況。
83、點(diǎn)擊“Start Tracking”后點(diǎn)擊“Get Allocations”就可以看到。例如,為了查看Garbage Collection信息:點(diǎn)擊 [Start Tracking]按鈕 -> 保持程序運(yùn)行一段時(shí)間后 ->點(diǎn)擊[Get Allocations] 按鈕,憑借得到的Allocations信息可以通過Line Number準(zhǔn)確找到哪里的代碼出現(xiàn)了問題。Allocation Tracker窗口如圖2-4所示:<
84、/p><p> 圖2-4 Allocation Tracker窗口示例</p><p> 2.4.5 LogCat</p><p> LogCat是一個日志文件,它記錄VM中發(fā)生的活動。應(yīng)用程序可以通過Log.i(tag,message),在這個日志文件中添加自己的日志項(xiàng),其中的tag和message都是Java字符串。Log類屬于android.util.Log
85、包。LogCat窗口如圖2-5所示:</p><p> 圖2-5 LogCat窗口示例</p><p> 2.4.6 Console</p><p> 顯示Android的輸出信息,加載程序等信息。Console窗口如圖2-6所示:</p><p> 圖2-6 Console窗口示例</p><p><b
86、> 2.5本章小結(jié)</b></p><p> 本章主要介紹了與本系統(tǒng)相關(guān)的技術(shù)及其背景知識,包含對Eclipse開發(fā)工具的介紹,Android平臺的介紹,SQLite數(shù)據(jù)庫的介紹和如何用Eclipse調(diào)試Android應(yīng)用程序。</p><p> 第三章 手機(jī)圖書搜索系統(tǒng)的分析和設(shè)計(jì)</p><p> 創(chuàng)建基于Android平臺的手機(jī)圖書搜
87、索系統(tǒng),可以為用戶管理和查詢圖書信息帶來一定的便利,節(jié)省時(shí)間和精力,提高管理的效率,同時(shí)也是順應(yīng)了當(dāng)前智能手機(jī)軟件開發(fā)的趨勢。</p><p> 3.1 系統(tǒng)分析與總體設(shè)計(jì)</p><p> 3.1.1系統(tǒng)功能描述</p><p> 該手機(jī)圖書搜索信息管理系統(tǒng)所實(shí)現(xiàn)的功能模塊包括圖書信息管理和圖書信息查詢兩大模塊。具體描述如下:</p><
88、p> 1、圖書信息管理模塊</p><p> 圖書信息的添加,包括書名,作者,出版社,價(jià)格等圖書的基本信息。點(diǎn)擊菜單按鈕,在彈出的菜單框中選擇“添加”就進(jìn)入了圖書信息添加界面,當(dāng)一次添加操作完成后,會在一個列表中顯示全部的圖書書名和對應(yīng)圖書添加或最近一次被修改的時(shí)間。</p><p> 圖書信息的修改,選擇列表中的某一本圖書,單擊該項(xiàng)就能進(jìn)入修改操作,修改操作調(diào)用的也是添加圖書
89、時(shí)的界面,該圖書現(xiàn)有的信息會顯示在界面上,修改相關(guān)數(shù)據(jù)以后點(diǎn)“確定”按鈕完成操作。</p><p> 圖書信息的刪除,選擇列表中的某一項(xiàng),然后點(diǎn)擊菜單,選擇“刪除”,就能把這條圖書信息從數(shù)據(jù)庫中刪除。</p><p> 當(dāng)數(shù)據(jù)庫存儲的圖書信息發(fā)生改變時(shí),即時(shí)刷新圖書的列表。</p><p><b> 2、圖書搜索模塊</b></p&
90、gt;<p> 支持模糊搜索,只需要輸入關(guān)鍵字,顯示的搜索結(jié)果中便會出現(xiàn)數(shù)據(jù)庫中包含該關(guān)鍵字的所有記錄。</p><p> 可以按書名搜索,相對模糊搜索而言搜索范圍較小,可以減少信息的處理量和搜索時(shí)間。</p><p><b> 可以按作者名搜索。</b></p><p> 把搜索的結(jié)果動態(tài)的顯示在結(jié)果列表中。用一個xml
91、頁面作為模板,會根據(jù)查詢語句返回的Cursor中圖書信息的數(shù)量動態(tài)的把結(jié)果加載到一個ListView中。</p><p> 3.1.2 系統(tǒng)功能模塊劃分</p><p> 從功能描述的內(nèi)容可以看到,本系統(tǒng)可以實(shí)現(xiàn)兩大個完整的功能,其中還有很多小的功能。我們根據(jù)這些功能,設(shè)計(jì)出系統(tǒng)的功能模塊如圖3-1所示:</p><p> 圖3-1手機(jī)圖書搜索系統(tǒng)功能模塊示意
92、圖</p><p> 手機(jī)圖書搜索系統(tǒng)的功能模塊之間的關(guān)系如圖3-2如示:</p><p> 圖3-2 手機(jī)圖書搜索系統(tǒng)的功能模塊關(guān)系圖</p><p> 3.2 數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)</p><p> 首先創(chuàng)建數(shù)據(jù)庫booksearch,然后在booksearch中建立表book用來保存所有圖書信息 。book的結(jié)構(gòu)如表3-1所示:&l
93、t;/p><p> 表3-1 表book的結(jié)構(gòu)</p><p><b> 3.3本章小節(jié)</b></p><p> 本章主要介紹了與本系統(tǒng)相關(guān)的需求分析,包含系統(tǒng)分析與總體設(shè)計(jì),數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn),以便更好的完成本系統(tǒng)。</p><p> 第四章 系統(tǒng)的實(shí)現(xiàn)和運(yùn)行</p><p><b&g
94、t; 4.1系統(tǒng)的主界面</b></p><p> 本系統(tǒng)的主界面為main.xml,采用的是LinearLayout的布局,它的作用是為使用者提供導(dǎo)航作用,通過點(diǎn)擊主界面上的各個按鈕來跳轉(zhuǎn)到各個功能模塊的界面,主界面上有四個按鈕,分別是圖書搜索、圖書管理、關(guān)于軟件和退出軟件, 主界面的運(yùn)行效果如圖4-1所示:</p><p> 圖4-1 系統(tǒng)主界面</p>
95、<p> LinearLayout以你為它設(shè)置的垂直或水平的屬性值,來排列所有的子元素。所有的子元素都被堆放在其它元素之后,因此一個垂直列表的每一行只會有一個元素,而不管他們有多寬,而一個水平列表將會只有一個行高(高度為最高子元素的高度加上邊框高度)。LinearLayout保持子元素之間的間隔以及互相對齊(相對一個元素的右對齊、中間對齊或者左對齊)。</p><p> LinearLayout還
96、支持為單獨(dú)的子元素指定weight 。好處就是允許子元素可以填充屏幕上的剩余空間。這也避免了在一個大屏幕中,一串小對象擠成一堆的情況,而是允許他們放大填充空白。子元素指定一個 weight 值,剩余的空間就會按這些子元素指定的weight 比例分配給這些子元素。默認(rèn)的 weight 值為0。例如,如果有三個文本框,其中兩個指定了weight 值為1,那么,這兩個文本框?qū)⒌缺壤胤糯螅⑻顫M剩余的空間,而第三個文本框不會放大,如圖4-2所
97、示:</p><p> 圖4-2 LinearLayout效果圖</p><p> 對應(yīng)main.xml的Activity是在start.java中定義的。start.java中主要使用了多個頁面跳轉(zhuǎn)的方法來跳轉(zhuǎn)到各個功能模塊,關(guān)鍵代碼如下</p><p> public void onCreate(Bundle savedInstanceState) {&l
98、t;/p><p> super.onCreate(savedInstanceState);</p><p> OnClickListener listener0 = new OnClickListener() {</p><p> public void onClick(View v) {</p><p> Intent intent0
99、= new Intent(start.this, booksearch.class);</p><p> setTitle("圖書搜索");</p><p> startActivity(intent0);}};</p><p> Buttonbutton0 = (Button) findViewById(R.id.button0);&l
100、t;/p><p> button0.setOnClickListener(listener0);</p><p> 上述代碼中,新建了一個Button和一個OnClickListener,把OnClickListener綁定給Button。然后定義了OnClickListener的onClick(View v)方法為跳轉(zhuǎn)到圖書搜索的頁面,這樣只要一點(diǎn)Button就能完成跳轉(zhuǎn)操作了。界面跳轉(zhuǎn)
101、主要依靠Intent,Intent將會在后面講Activity之間傳遞參數(shù)的時(shí)候具體介紹。</p><p> 當(dāng)Activity被第一次加載時(shí)執(zhí)行void onCreate(Bundle savedInstanceState)方法。我們新啟動一個程序的時(shí)候其主窗體的onCreate事件也就會被執(zhí)行。如果Aacivity被銷毀后(Destroy后),再重新加載進(jìn)Task時(shí),其onCreate事件也就會被重新執(zhí)行。
102、在activity的生命周期中,只要離開了可見階段,或者說失去了焦點(diǎn),activity就很可能被進(jìn)程終止了,被KILL掉了,這時(shí)候,就需要有種機(jī)制,能保存當(dāng)時(shí)的狀態(tài),這就是savedInstanceState的作用。 當(dāng)一個Activity在PAUSE時(shí),被kill之前,它可以調(diào)用onSaveInstanceState()來保存當(dāng)前activity的狀態(tài)信息(在paused狀態(tài)時(shí),要被KILLED的時(shí)候)。用來保存狀態(tài)信息的Bundle
103、會同時(shí)傳給兩個method,即onRestoreInstanceState() and onCreate()。Activity的狀態(tài)轉(zhuǎn)換圖如4-3所示。</p><p> 圖4-3 Activity狀態(tài)轉(zhuǎn)換圖</p><p> 4.2圖書信息管理模塊的實(shí)現(xiàn)</p><p> 本模塊的功能是在系統(tǒng)的BookDbAdapter.java, manage.java
104、, add.java三個類中定義和實(shí)現(xiàn)的,模塊的界面為manage.xml, row.xml和add.xml。manage.xml和add.xml使用了LinearLayout布局,row.xml使用了RelativeLayout布局。</p><p> RelativeLayout 允許子元素指定他們相對于其它元素或父元素的位置(通過ID 指定)。因此,可以以右對齊,或上下,或置于屏幕中央的形式來排列兩個元素
105、。元素按順序排列,因此如果第一個元素在屏幕的中央,那么相對于這個元素的其它元素將以屏幕中央的相對位置來排列。如果使用XML 來指定這個 layout ,在你定義它之前,被關(guān)聯(lián)的元素必須定義。如圖4-4所示:</p><p> 圖4-4 RelativeLayout效果圖</p><p> 圖書信息管理模塊的活動圖如圖4-5所示:</p><p> 圖4-5 圖
106、書信息管理模塊活動圖</p><p> 4.2.1 圖書信息管理功能界面</p><p> 當(dāng)數(shù)據(jù)庫里沒有圖書數(shù)據(jù)時(shí)圖書信息管理功能的界面運(yùn)行效果如4-6,4-7所示:</p><p> 圖4-6 圖書信息管理系統(tǒng)界面</p><p> 圖4-7 按下menu按鈕以后的效果</p><p> public b
107、oolean onMenuItemSelected(int featureId, MenuItem item) {</p><p> switch (item.getItemId()) {</p><p> case INSERT_ID:</p><p> createBook();</p><p> return true;<
108、/p><p> case DELETE_ID:</p><p> mDbHelper.deleteBook(getListView().getSelectedItemId());</p><p> renderListView();</p><p> return true;</p><p> case FINS
109、H:</p><p> Intent i2 = new Intent(manage.this, start.class);</p><p> startActivity(i2);</p><p><b> }</b></p><p> return super.onMenuItemSelected(feature
110、Id, item);</p><p><b> }</b></p><p> 上述代碼實(shí)現(xiàn)的功能是,點(diǎn)模擬器上的menu按鈕以后,會在屏幕下方顯示一個菜單,菜單上有3個功能,第一個是添加一條圖書信息,第二個是刪除一條圖書信息,第三個是返回,即返回到系統(tǒng)的主界面。</p><p> public void renderListView()
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文(基于android平臺的圖書管理系統(tǒng)手機(jī)客戶端開發(fā)設(shè)計(jì))
- 掌廚手機(jī)客戶端設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)論文】
- 手機(jī)銀行系統(tǒng)客戶端的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android客戶端的手機(jī)銀行系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 畢業(yè)設(shè)計(jì)(論文)騰訊微博客戶端的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)--基于android平臺的圖書管理系統(tǒng)手機(jī)客戶端開發(fā)(含外文翻譯)
- 基于Symbian的MMIM系統(tǒng)手機(jī)客戶端的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于MAS的OA手機(jī)客戶端設(shè)計(jì)與實(shí)現(xiàn).pdf
- 現(xiàn)場呈現(xiàn)系統(tǒng)手機(jī)客戶端的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android系統(tǒng)的手機(jī)排隊(duì)客戶端的設(shè)計(jì)與實(shí)現(xiàn).pdf
- mba論文某移動商城系統(tǒng)手機(jī)客戶端的設(shè)計(jì)與實(shí)現(xiàn)pdf
- 畢業(yè)設(shè)計(jì) 無線旅游手機(jī)客戶端設(shè)計(jì)與開發(fā)
- 基于IMS網(wǎng)絡(luò)的手機(jī)客戶端設(shè)計(jì)與實(shí)現(xiàn).pdf
- 騰訊微博客戶端的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--簡單ftp客戶端的實(shí)現(xiàn)
- 汽車租賃管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)--汽車管理、手機(jī)客戶端【畢業(yè)論文設(shè)計(jì)】
- mba論文龍江手機(jī)銀行系統(tǒng)android客戶端的設(shè)計(jì)與實(shí)現(xiàn)pdf
- 基于手機(jī)客戶端的中間業(yè)務(wù)繳費(fèi)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于客戶端的手機(jī)短信過濾系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于WindowsMobile手機(jī)流媒體客戶端的設(shè)計(jì)與實(shí)現(xiàn).pdf
評論
0/150
提交評論