




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 中醫(yī)藥大學(xué)本科生畢業(yè)論文信息技術(shù) 學(xué)院計算機(jī)科學(xué)與技術(shù)專業(yè)2010年級學(xué) 號 084210230 學(xué)生 溫建東 論文題目基于Android平臺的物流信息管理實習(xí)單位正融科技指導(dǎo)教師 曉梅起止時間2014年3月2014年6月 20014年 5 月 21 日摘 要隨著智能手機(jī)走進(jìn)普通人的生活,它將成為人們獲取信息的主要設(shè)備。因此,手機(jī)的應(yīng)用服務(wù)將會有很大的發(fā)展空間,手機(jī)物流信息管理服務(wù)就是其中的一項。Android平臺支持各種應(yīng)用的開發(fā),它是目前最流行的開源智能手機(jī)操作系統(tǒng),最新的版本是android4.0,提供了便捷靈活的開發(fā)接口。 隨著社會的發(fā)展特別是信息技術(shù)的迅猛發(fā)展,傳統(tǒng)的運(yùn)輸
2、方式已經(jīng)落后于信息化發(fā)展的要求,必將被全新的運(yùn)輸方式取代。國際互聯(lián)網(wǎng)的全球化熱潮使人類社會進(jìn)入了一個新的信息時代,因此通過計算機(jī)來獲取物流信息已是信息時代到來必然要發(fā)生的結(jié)果。所以我認(rèn)為建立一個物流平臺不管是對于物流事業(yè)還是人民群眾都有很大的幫助。 設(shè)計本系統(tǒng)的一個主要目的是方便物流管理系統(tǒng)的管理,提高物流公司的辦事效率。其次是方便用戶的使用,節(jié)約用戶的時間。物流管理系統(tǒng)帶給我們的不僅僅是運(yùn)輸上的便捷,實現(xiàn)貨物配送流程的全程計算機(jī)化。是信息時代發(fā)展的必然要的,是我們思維觸角的延伸。 智能移動終端所具有的實時傳輸物流信息帶來了極大的方便。本題目要求學(xué)生基于Android智能終
3、端開發(fā)出一個物流信息管理系統(tǒng),包括添加物流,分配物流,查看物流等。這些信息需要通過智能終端中的輸入功能獲取,同時應(yīng)建立后臺運(yùn)行的復(fù)制的信息傳輸。關(guān)鍵詞:Android;物流;信息; AbstractAs smart phones into the life of the ordinary people, it will become the main equipment of access to information. Therefore, the application of mobile phone services will have great development space,
4、mobile logistics information management service is one of them. Android platform to support the development of a variety of applications, it is by far the most popular open source smartphone operating system, the latest version is android4.0, provides a convenient and flexible development interface.
5、 With the development of the society, especially the rapid development of information technology, the traditional transportation mode has fallen behind the demands of the development of information technology will be replaced by a new mode of transportation. The globalization of the Internet boom ha
6、s the human society has entered a new era of information, so through the computer to get the logistics information is the result of the information age is bound to happen. So I think that to build a logistics platform for logistics industry and the people have very big help. Design the one of the ma
7、in purpose of this system is convenient the management of the logistics management system, improve the efficiency of the logistics company. Followed by the user is convenient to use, saves the time of the user. Logistics management system brings us not only on the transportation is convenient, reali
8、ze computerization in the whole process of the goods delivery process. Is inevitable in the development of the information age, an extension of the antenna is our thinking. Intelligent mobile terminal has the real-time transmission of logistics information has brought great convenience. This subject
9、 requires students based on the Android intelligent terminal developed a logistics information management system, including adding logistics, distribution logistics, check the logistics, etc. This information need through of the input function of intelligent terminal access, at the same time should
10、be running in the background copy information transmission.Keywords: Android. Logistics; Information;39 / 39目 錄摘 要2第1章 引言61.1 選題的目的與意義61.2 研究現(xiàn)狀61.3 本系統(tǒng)要實現(xiàn)的基本目標(biāo)和研究容72.1 經(jīng)濟(jì)上的可行性82.2 技術(shù)上的可行性82.3 操作上的可行性82.4 系統(tǒng)用例圖82.5 系統(tǒng)流程圖9第3章 需求分析113.1 軟件目標(biāo)113.2 功能需求113.3系統(tǒng)界面需求11第4章 系統(tǒng)的總體設(shè)計124.1 設(shè)計思想124.2 系統(tǒng)功能結(jié)構(gòu)圖124.3
11、 開發(fā)語言簡介134.3.1 Android簡介134.3.2 Android Features特性134.3.3 Android基本框架(Android Architecture)144.4.4 Android系統(tǒng)的四大組件154.4.5 SQLite簡介164.4 搭建Android開發(fā)環(huán)境174.5 Android的工程194.5.1 Android項目194.5.2 Android工程程序結(jié)構(gòu)204.5.3 AndroidManifest.xml文件204.6 數(shù)據(jù)庫表設(shè)計225.1 程序調(diào)試285.2 一般程序的測試285.2.1 系統(tǒng)測試的相應(yīng)步驟285.2.2 相應(yīng)系統(tǒng)測試的主要
12、容28第6章 系統(tǒng)詳細(xì)設(shè)計306.1手機(jī)端登錄界面詳細(xì)設(shè)計306.2客戶端物流首頁設(shè)計336.3物流信息設(shè)計366.3后臺設(shè)計37第7章 總結(jié)38參考文獻(xiàn)39致 40第1章 引言1.1 選題的目的與意義Android是谷歌于2007年所公布的open式源代碼只能手機(jī)端系統(tǒng),它的開放性真實因為它優(yōu)于其它很多封閉式的手機(jī)系統(tǒng),因此,不管什么人都可能按照自己不同喜好將自己的手機(jī)系統(tǒng)上所有的功能進(jìn)行重新編寫。這也使得不斷有越來越多的技術(shù)關(guān)注這個有潛力的操作系統(tǒng)。本次作品物流信息管理系統(tǒng)系統(tǒng)就是基于安卓平臺的。Android手機(jī)端操作系統(tǒng)現(xiàn)在很流行的手機(jī)端操作系統(tǒng)其中以個,它在每個智能手機(jī)的市場占有率高
13、達(dá)將近40%以上。很多的手機(jī)控都開始使用有Android系統(tǒng)的智能手機(jī),而在Android手機(jī)里都是自帶優(yōu)質(zhì)的攝像頭,它可以進(jìn)行拍照,也可以進(jìn)行錄像等強(qiáng)大功能。不過有的時候,拍的圖片或者手機(jī)里的影像在當(dāng)時僅僅只能用戶才能看到媒體。所以如果想去發(fā)給自己遠(yuǎn)方的親朋好友的話,就要通過傳統(tǒng)的彩信技術(shù)或者3G里的視頻等才能實現(xiàn),如果這樣做不僅收費(fèi)十分的高,而且?guī)砗芏嗖槐?。這里我所介紹的設(shè)計思想是想利用很多Android手機(jī)上的攝像頭,進(jìn)行調(diào)用系統(tǒng)多媒體的框架OpenCore去實現(xiàn)部的視頻采集和數(shù)據(jù)編碼,并而且還可以通過RTP協(xié)議去把視頻進(jìn)行打包然后發(fā)送到各個PC客戶端。然后利用手機(jī)里的3G傳輸網(wǎng)絡(luò),去
14、實現(xiàn)手機(jī)端拍攝和PC客戶端上觀看相應(yīng)的視頻功能。利用手機(jī)平臺和web后臺結(jié)合,變可達(dá)到事半功倍的效果,使用戶節(jié)省時間、方便操作,增加效率。1.2 研究現(xiàn)狀A(yù)ndroid這個詞的本來意思是指“安卓機(jī)器人”,同時也就是谷歌于2007年11月5日所宣布的可以基于Linux平臺上的open手機(jī)操作系統(tǒng)的名稱,這個平臺由安卓操作系統(tǒng)經(jīng)過中間件再經(jīng)過用戶界面和應(yīng)用軟件一起組成,可以說是全球第一個為手機(jī)端上打造的真正是開放的和完整的移動應(yīng)用軟件。Android是基于Linux核的軟件平臺和操作系統(tǒng),早期由谷歌開發(fā)(在華注冊商標(biāo)名為“安致”),后由開放手機(jī)聯(lián)盟(Open Handset Alliance)開發(fā)
15、。它采用了software stack,又名以軟件疊層的知識架構(gòu),主要分為這三個重要的三部分。低層以核工作為基礎(chǔ),只提供手機(jī)上很多的基本操作功能,以Java語言作為主力編寫程序的一部分的開發(fā)。而且,它為了去推廣這個技術(shù),Google和很多個手機(jī)的公司建立了良好的開放手機(jī)聯(lián)盟關(guān)系。Android在還沒去公開的好久之前就常被傳為Google里的或iPhone神機(jī)里的。一般傳聞了這個消息的都認(rèn)為Google開發(fā)是開發(fā)屬于自己的手機(jī),而不是一套完整完美軟件上的平臺。不過一直到了2010年1月的某一天,Google終于發(fā)表了自己原創(chuàng)的手機(jī),大家都知道的。1.3 本系統(tǒng)要實現(xiàn)的基本目標(biāo)和研究容本文要實現(xiàn)的
16、基本目標(biāo)和主要研究容有以下幾個方面:(1)安卓手機(jī)客戶端的物流信息管理系統(tǒng)的數(shù)據(jù)的錄入。(2)客戶端查看物流信息(3)后臺添加物流(4)手機(jī)端和web后臺進(jìn)行數(shù)據(jù)傳輸?shù)?章 系統(tǒng)的可行性研究當(dāng)今社會的生活節(jié)奏越來越快,人們對手機(jī)的要求也越來越高,由于手機(jī)市場發(fā)展迅速,是的手機(jī)操作系統(tǒng)也出現(xiàn)了不同各類,現(xiàn)在的市場主要有三個手機(jī)操作系統(tǒng),Windows mobile,symbian,以與谷歌的Android操作系統(tǒng),其中占有開發(fā)源代碼優(yōu)勢的Android系統(tǒng)有最大的發(fā)展前景。那么能否在手機(jī)上擁有自己編寫的個性物流信息管理系統(tǒng)系統(tǒng)呢?能的,谷歌Android系統(tǒng)就能做到。本文的物流信息管理系統(tǒng)系統(tǒng)就
17、是基于谷歌Android手機(jī)平臺的程序。2.1 經(jīng)濟(jì)上的可行性Android 是 Google 歷經(jīng)數(shù)年和投資數(shù)億美元開發(fā)出來的智能手機(jī)系統(tǒng),是基于 Linux的核的操作系統(tǒng),是 Google 公司在 2007 年 11 月 5 日公布的手機(jī)操 作系統(tǒng)。隨著各大移動終端生產(chǎn)商大力開發(fā)和生產(chǎn)基于安卓上的移動智能手機(jī)設(shè)備, Android飛速的得到了很多業(yè)界和使用者的認(rèn)可,并很快成為整個手機(jī)這個產(chǎn)業(yè)的上的熱點話題,在Android這個強(qiáng)力的平臺的成為了大家的焦點。 而且 這個Android 是一個open的系統(tǒng),不管是企業(yè)還是個人都可以參與來表達(dá)自己的創(chuàng)意和
18、想法。2.2 技術(shù)上的可行性Google 發(fā)起了圍繞 Android 的組織開放手機(jī)聯(lián)盟, 其英文全稱為 “Open Handset Alliance”。 它采用了軟件堆層(software stack,又名以軟件疊層) 的架構(gòu),主要分為三部分。底層 Linux 核只提供基本功能;其他的應(yīng)用軟件則 由各公司自行開發(fā),部分程序以 Java 編寫。 2.3 操作上的可行性本系統(tǒng)采用Android框架,可以在eclipse中安裝Android開發(fā)插件,使用Android模擬器也可以使用任意Android終端。模擬器和真正的Android手機(jī)沒有太大區(qū)別,人們對手機(jī)操作早已熟悉。綜
19、合以上三方面,該系統(tǒng)具有很高的開發(fā)可行性,無論是從技術(shù)上經(jīng)濟(jì)上還是操作上。故此,可以設(shè)計該系統(tǒng)流程圖,建立數(shù)據(jù)字典。2.4 系統(tǒng)用例圖用例圖定義:由參與者(Actor)、用例(Use Case)以與它們一起的關(guān)系構(gòu)成的系統(tǒng)功能的所有的靜態(tài)視圖一起稱為系統(tǒng)用例圖。下面為系統(tǒng)用例圖。手機(jī)端用例圖,如圖2-1所示。圖2-1手機(jī)端用戶用例圖后臺用例圖,如圖2-2所示。圖2-2后臺用例圖2.5 系統(tǒng)流程圖System Flowchart又叫系統(tǒng)里的流程圖,它是用來描繪整個系統(tǒng)里物理模型的傳統(tǒng)tool。而它的最根本的思想就是用圖形和符號以黑盒子方式去描繪該系統(tǒng)里面的所有部件,然后表達(dá)出相應(yīng)的信息在每個部件
20、所流動的狀況,相冊系統(tǒng)的流程圖如圖2-2所示。圖2-2物流信息管理系統(tǒng)流程圖第3章 需求分析軟件需求分析工作是軟件生存期中重要的一步,也是決定性的一步。軟件需求分析是一個不斷認(rèn)識和逐步細(xì)化的過程,該過程將軟件計劃階段所確定的軟件圍逐步細(xì)化到可詳細(xì)定義的程度。需求分析還是軟件開發(fā)的基礎(chǔ),假定在該階段發(fā)現(xiàn)一個錯誤,解決它需要用一小時的時間,到設(shè)計、編程、測試和維護(hù)階段解決,則要花幾倍甚至更多的時間。因此對于復(fù)雜系統(tǒng)而言,首先要進(jìn)行需求分析。開發(fā)人員應(yīng)該對用戶的要求與現(xiàn)實環(huán)境進(jìn)行調(diào)查和了解。3.1 軟件目標(biāo)本系統(tǒng)是物流信息管理系統(tǒng)系統(tǒng)??梢苑奖阌脩羝綍r對物流信息管理系統(tǒng)的統(tǒng)計。本系統(tǒng)應(yīng)達(dá)到以下目標(biāo):
21、 (1)軟件采用人機(jī)交互的方式,界面美觀友好,操作靈活、方便、富有個性化。(2)能夠?qū)ξ锪餍畔⒐芾硐到y(tǒng)的操作。(3)系統(tǒng)應(yīng)最大限度地實現(xiàn)易維護(hù)性和易操作性。3.2 功能需求功能需求定義了開發(fā)人員必須實現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿足了用戶的業(yè)務(wù)需求。用戶需求文檔描述了用戶使用產(chǎn)品必須要完成的任務(wù)。針對android手機(jī)物流信息管理系統(tǒng)系統(tǒng)分別對輸入功能、接受功能等功能進(jìn)行詳細(xì)的調(diào)研和分析,總結(jié)出如下的用戶需求信息。3.3系統(tǒng)界面需求手機(jī)屏幕下物流信息管理系統(tǒng)系統(tǒng)界面要求布局合理,顏色舒適,控制按鈕友好,要求整體有一個主要的元素標(biāo)準(zhǔn),統(tǒng)一的主題思想。第4章 系統(tǒng)的總體設(shè)計軟件功能
22、設(shè)計是使整個軟件能夠?qū)崿F(xiàn)物流信息管理系統(tǒng)的界面布局和物流信息管理系統(tǒng)提醒功能,能讓用戶更好的物流信息管理系統(tǒng)系統(tǒng)。4.1 設(shè)計思想(1)將物流信息管理系統(tǒng)去分成幾個相對與系統(tǒng)里各個模塊獨(dú)立的模塊。(2)在設(shè)計軟件時必須合理去對數(shù)據(jù)流這塊進(jìn)行設(shè)計,然后在他的應(yīng)用系統(tǒng)設(shè)計過程中,使每個模塊之間的兼容性較高,實現(xiàn)有利于方便系統(tǒng)的運(yùn)行和去提高整個系統(tǒng)的安全性。功能模塊:1、拍照保存、瀏覽的基本功能。2、照片的簡單編輯。3、將照片分享到新浪微博。4、分享時用到網(wǎng)絡(luò),要實現(xiàn)3G/WIFI自動切換。4.2 系統(tǒng)功能結(jié)構(gòu)圖根據(jù)上述需求分析,本Android手機(jī)物流信息管理系統(tǒng)系統(tǒng)可分為一下幾個模塊: 傳輸基本
23、功能如圖所示:物流信息管理查看物流上傳用戶管理商品管理從圖中可以看出參與者依然是用戶,這表達(dá)了客戶體驗的要求,當(dāng)用戶輸入添加所需要的信息后,會添加到系統(tǒng)里面。添加物流信息管理系統(tǒng)模塊如圖所示物流系統(tǒng)添加物流信息系統(tǒng)數(shù)據(jù)上傳傳輸查看物流存儲數(shù)據(jù)讀取數(shù)據(jù)添加物流信息管理系統(tǒng)模塊圖4.3 開發(fā)語言簡介4.3.1 Android簡介Android這個詞的本來意思是指“安卓機(jī)器人”,同時也就是谷歌于2007年11月5日所宣布的可以基于Linux平臺上的open手機(jī)操作系統(tǒng)的名稱,這個平臺由安卓操作系統(tǒng)經(jīng)過中間件再經(jīng)過用戶界面和應(yīng)用軟件一起組成,可以說是全球第一個為手機(jī)端上打造的真正是開放的和完整的移動應(yīng)
24、用軟件。Android是基于Linux核的軟件平臺和操作系統(tǒng),早期由谷歌開發(fā)(在華注冊商標(biāo)名為“安致”),后由開放手機(jī)聯(lián)盟(Open Handset Alliance)開發(fā)。它采用了software stack,又名以軟件疊層的知識架構(gòu),主要分為這三個重要的三部分。低層以核工作為基礎(chǔ),只提供手機(jī)上很多的基本操作功能,以Java語言作為主力編寫程序的一部分的開發(fā)。而且,它為了去推廣這個技術(shù),Google和很多個手機(jī)的公司建立了良好的開放手機(jī)聯(lián)盟關(guān)系。Android在還沒去公開的好久之前就常被傳為Google里的或iPhone神機(jī)里的。一般傳聞了這個消息的都認(rèn)為Google開發(fā)是開發(fā)屬于自己的手機(jī)
25、,而不是一套完整完美軟件上的平臺。不過一直到了2010年1月的某一天,Google終于發(fā)表了自己原創(chuàng)的手機(jī),大家都知道的。4.3.2 Android Features特性Android系統(tǒng)有如下的幾大特性:u 應(yīng)用程序框架 它可以支持許多組件的重復(fù)利用與相互替換u Dalvik虛擬機(jī) 專門去為手機(jī)端設(shè)備做很多優(yōu)化u 部系統(tǒng)結(jié)合的瀏覽器 這個瀏覽器是在open的WebKit引擎u 它還去優(yōu)化了系統(tǒng)的圖形庫 這里包括傳統(tǒng)的2D和現(xiàn)代的3D圖形庫,而現(xiàn)在的3D圖形庫都是在OpenGL ES上的u SQLite 是可以對部的數(shù)據(jù)進(jìn)行存儲的u 多媒體支持 包括日常生活中經(jīng)常見到的音頻music、視頻vi
26、dio和靜態(tài)圖片的各個文件格式u GSM手機(jī)端配置(它是依賴于很多硬件的組成)u 藍(lán)牙Bluetooth,EDGE,3G and WiFi (它是依賴這很多硬件上的支持的)u 照相機(jī),GPS,指南針,和加速度計 (它是依賴這很多硬件上的支持的)u 非常有趣的開發(fā)代碼環(huán)境 包括安卓的設(shè)備模擬器還有調(diào)試工具和一些存與各個性能的分析圖表,然后就是Eclipse的集成編譯開發(fā)環(huán)境的各個插件。4.3.3 Android基本框架(Android Architecture)Android平臺的基本框架如圖所示。 Android基本框架圖(1)ApplicationsApplication Android會同
27、一個主要的應(yīng)用程序開發(fā)包一并發(fā)布出來,這個app程序包包含了一下容email客戶端,SMS,日歷功能,地圖的查找,瀏覽器的查看,聯(lián)系人進(jìn)行管理等。這些的app程序必須要用JAVA編寫的。(2)Application FrameWork開發(fā)者完全可以去查看只要的應(yīng)用程序所用到的API framework。該application framework用來簡化很多組件的軟件起到重用的效果;任何一個application 都可以去發(fā)布它的相應(yīng)功能塊,而且任何other的application 都可以去使用其它發(fā)布的很多功能塊。該application 重用的機(jī)制使得很多組建可以被user替換。所有的a
28、pplication都由很多的服務(wù)功能和系統(tǒng)里起到的功能所組成,包括:l Views可以用來建application ,包括lists,網(wǎng)格(grids),文本框(text boxes),按鈕(buttons),甚至包括一個可以嵌到手機(jī)里的web瀏覽器l Content Providers使得application 可以去訪問另一個人的application 的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫),或者共享它們自己的數(shù)據(jù)。l 資源管理器可以去提供很多非代碼的資源查看,如localhost string的訪問,圖形,和分層文件(layout files)。l Notification 使得applicatio
29、n可以在狀態(tài)欄中顯示客戶通知信息。l 活動類管理器(Activity Manager)用來管理application 的activity并提供很多常用的導(dǎo)航進(jìn)行回退的功能。4.4.4 Android系統(tǒng)的四大組件在Android系統(tǒng)中,為我們提供了四大基本組件,每個組件是一個視圖,但是有些是可見的,有些是不可見的視圖,像Activity,ContentProvider是可見的視圖,Service和BroadcastReceiver是不可見的,它們只在系統(tǒng)的后臺運(yùn)行。下面分別介紹四大組件:(1)Activity 簡介在Android系統(tǒng)中Activity提供可視化的用戶界面,一個Android應(yīng)
30、用通常由多個Activity組成。多個Activity組成了Activity棧(Stack),當(dāng)前活動的Activity處于棧頂。Activity有自己的生命周期,由Android系統(tǒng)來控制。(2)Service 簡介顧名思義Service就是運(yùn)行在后臺的一種服務(wù)程序,一般很少和用戶交互,因此沒有可視化界面定義一個Service類比較簡單,只要繼承Service類,實現(xiàn)其生命周期中的方法就可以了。一個定義好的Service必須在AndroidManifest.xml配置文件注冊,通過<service>元素聲明才能使用.Service有自己的生命周期,我們可以調(diào)用startServi
31、ce()啟動一個Service或者bindService()方法來綁定一個存在的Service 。(3)Broadcast Receiver 簡介Broadcast Receiver 顧名思義廣播接收器,它和事件處理機(jī)制類似,只不過事件處理機(jī)制是程序組件級別的(例如,某個按鈕的單擊事件),而廣播事件處理機(jī)制是系統(tǒng)級別的。到目前為止我們可以使用Intent來啟動一個程序組件,我們還可以通過使用sendBroadcast()方法來發(fā)起一個系統(tǒng)級別的事件廣播來傳遞消息。我們可以在你的應(yīng)用程序中實現(xiàn)Broadcast Receiver來監(jiān)聽和響應(yīng)這些廣播的Intent。(4)ContentProvid
32、er簡介Content Provider 用來保存和檢索數(shù)據(jù),并且使應(yīng)用程序之間相互訪問數(shù)據(jù)成為可能。它是跨應(yīng)用程序共享數(shù)據(jù)的唯一方法。Android 為常用的數(shù)據(jù)類型(如:音視頻、圖片和聯(lián)系方式等)提供了大量的Content Provider。它們被定義在Avider包下面。通過這樣定義好的ContentProvider 我們可以方便的進(jìn)行數(shù)據(jù)操作。當(dāng)然我們必須擁有適當(dāng)?shù)臋?quán)限。每個人都也可以去自己來定每個容Provider共享我們的數(shù)據(jù),方便用戶的訪問。4.4.5 SQLite簡介由于它使用的資源非常少,而且在很多嵌設(shè)備都是用這個來存儲大量的數(shù)據(jù)。并且它現(xiàn)在還支持很多主流
33、的電腦操作系統(tǒng),兼容性這塊是非常不錯。大家也可以去用多種的開發(fā)語言去使用,比如C#、Java等來通過各種接口來操作SQLite數(shù)據(jù),十分方便。Android作為目前主流的移動操作系統(tǒng),完全符合SQLite占用資源少的優(yōu)勢,故在Android平臺上,集成了一個嵌入式關(guān)系型數(shù)據(jù)庫SQLite。如果你想要開發(fā) Android 應(yīng)用程序,一定需要在 Android 上存儲數(shù)據(jù),使用SQLite 數(shù)據(jù)庫是一種非常好的選擇。本數(shù)據(jù)庫支持功能如下:1.自動建表,支持屬性來自繼承類:可根據(jù)注解自動完成建表,并且對于繼承類中的注解字段也支持自動建表。2.自動支持增刪改,增改支持對象化操作:增刪改是數(shù)據(jù)庫操作的最
34、基本單元,不用重復(fù)寫這些增刪改的代碼,并且添加和更新支持類似于hibernate中的對象化操作。3.查詢方式靈活:支持android框架提供的方式,也支持原生sql方式。4.查詢結(jié)果對象化:對于查詢結(jié)果可自動包裝為實體對象,類似于hibernate框架。5.查詢結(jié)果靈活:查詢結(jié)果支持對象化,也支持結(jié)果為List<Map<String,String>>形式,這個方法在實際項目中很實用,且效率更好些。4.4 搭建Android開發(fā)環(huán)境任何事物要運(yùn)行,都要有它的環(huán)境,Android也有它的環(huán)境才能夠運(yùn)行,下面介紹Android的開發(fā)環(huán)境配置。搭建開發(fā)環(huán)境需要的軟件:1) 操作
35、系統(tǒng):window XP或linux2) 軟件包:Android SDK(Software Development kit Java Development kit) 、ADT(Android Develoopment Tool)3) IDE環(huán)境:Eclipse IDE+ADT Eclipse3.3以上4) JDK:Java Runtime Environment虛擬機(jī) 、(JDK)Java Development kit安裝步驟如下:第一步:安裝Java虛擬機(jī)sun-java6-jdk版本。第二步:安裝Eclipse3.5工具,到官網(wǎng)./downloads/,選擇版本下
36、載后進(jìn)行安裝。(如圖)Eclipse工具的版本如圖1-2所示:Eclipse工具的版本圖第三步:安裝Android SDK:首先要下載SDK,可以在這個網(wǎng)址下載 :/developer.Android./sdk ,選擇相應(yīng)的系統(tǒng)進(jìn)行安裝。sdk下載的地址圖如圖所示:sdk下載的地址圖第四步:安裝Android ADT插件。運(yùn)行Eclipse,選擇help->install new software 選擇add,將會彈出一個Add Site對話框。Add Site對話框如圖:Add Site對話框圖點擊OK,選擇要安裝的軟件,占next,然后選擇接受協(xié)議,直到安裝成功,重啟Eclipse軟
37、件,設(shè)置Android SDK Home,Window->refrence。設(shè)置Android SDK Home界面如圖所示:設(shè)置Android SDK Home界面圖在SDK location中輸入SDK Tools路D:AndroidsoftwareAndroid-sdk-windows 點擊OK,這樣Android環(huán)境就已經(jīng)搭建成功了。4.5 Android的工程4.5.1 Android項目Android的四大基本組件:Activity(活動),Service(服務(wù)),BroadcastReceiver(廣播),ContentProvider(容提供者),各組件之間要進(jìn)行切換需要
38、一個意圖或企圖Intent類,通過啟動StartIntent()方法來使各組件進(jìn)行跳轉(zhuǎn)Android的五大布局方式:LinearLayout(線性布局) FrameLayout(幀布局) TableLayout(表格布局) AbsoluteLayout(絕對布局) RelativeLayout(相對布局)五種布局方式可以相互嵌套,Android各種漂亮的界面都是通過嵌套布局而實現(xiàn)的。Android的線程,以與線程之間通信的中介:Handler類Android配置文件:AndroidManifest.Xml與res資源文件中各種屬性布局方式引用的資源等。Android系統(tǒng)將插件ADT集成到了Ec
39、lipse工具上,因此,一個Android程序啟動后,系統(tǒng)會啟動一個模擬器(Emulator)(如下圖),該模擬器是一款手機(jī)板的樣式,擁有手機(jī)硬件的基本操作。我們也可以將右邊的鍵盤通過代碼屬性設(shè)置將其隱藏,界面的大小可自由設(shè)定。模擬器圖4.5.2 Android工程程序結(jié)構(gòu)Android工程基本結(jié)構(gòu)目錄包括:src (源代碼)、gen(Android系統(tǒng)自動生成的常量)、Res(資源文件):主要存放程序界面的布局配置(.xml)文件和圖片資源。AndroidMainfes.xml 是四大組件的驅(qū)動配置文件,有它的存在,Android程序的四大組件才可以正常的跳轉(zhuǎn)。Android資源的類型和布局
40、(圖1-7)資源類型和布局圖4.5.3 AndroidManifest.xml文件Android系統(tǒng)的任何一個程序啟動都需要AndroidManifest.xml來啟動程序,任何一個新建的工程目錄都會自動生成一個AndroidManifest.xml文件,此配置文件是整個程序能夠正常運(yùn)行的核心,它里面包含了Android SDK的版本,程序運(yùn)行的默認(rèn)Activity,當(dāng)程序中的任何一個組件觸發(fā)事件后,系統(tǒng)都會自動的去AndroidManifest.xml中尋找標(biāo)識來作出相應(yīng)的操作。任何一個AndroidManifest.Xml文件的格式都應(yīng)為:<?xml version="1.
41、0" encoding="utf-8"?><manifest ><application ><activity ><intent-filter><action/><category/></intent-filter></activity></application><uses-sdk /><uses-permission /></manifest>Android系統(tǒng)有一個編碼的規(guī)定,支持的編碼是"utf-8
42、",當(dāng)程序中出現(xiàn)亂碼是,我們須將其編碼格式轉(zhuǎn)化為"utf-8".在 AndroidManifest.xml中會在第一行聲明一句:<?xml version="1.0" encoding="utf-8"?>。它是該系統(tǒng)支持的版本和編碼。在第二行定義了我們需要使用的架構(gòu),該架構(gòu)來自xmlns:Android=schemas.Android./apk/res/Android。xmlns(XML namespace)是一個命名空間,它就像一條河的源頭一樣能讓我們找到系統(tǒng)架構(gòu),每一個配置文件必須有這個xmlns,否則程序中
43、的所使用的所有資源將無法找到。在application元素我們定義Android:icon="drawable/icon"Android:label="string/app_name",Android:icon是程序在手機(jī)中顯示的圖片,我們運(yùn)用drawable/icon表示了對res/drawable目錄下的icon.png的引用。string/app_name表示了對res/value目錄下string.Xml中定義的app_name參數(shù)的引用。<activity Android:name=".PlayRackActivity"
44、;><intent-filter><action Android:name="Aent.action.MAIN"/><category Android:name="Aent.category.LAUNCHER" /></intent-filter></activity>這是系統(tǒng)確定的首先要啟動的Activity是PlayRackActivity。在intent-filter選項中,有action和category等等屬性,我們需要定義action的值
45、為Aent.action.MAIN,category的值為Aent.category.LAUNCHER,它們是系統(tǒng)的值,程序在解析到這些常用后就可以確定首先要啟動的Activity。當(dāng)我們需要通過一個組件觸發(fā)另一個組件時,我們將設(shè)定action和category的其它屬性值,系統(tǒng)會根據(jù)我們設(shè)定的屬性值去AndroidManifest.Xml的application 中尋找標(biāo)識,任何一個Activity的action和category是唯一,所以程序在任何時候都能唯一啟動一個Activity,這樣,不同的Activity之間的跳轉(zhuǎn)就實現(xiàn)了。在Android
46、Manifest.Xml中有一個根結(jié)點<uses-sdk>,它是我們需要定義的ADT版本,例如我們將其值設(shè)定為Android:minSdkVersion="10",則表示此Android工程所用的版本為2.3,Android還有1.1、1.5、1.6、2.0、2.1、2.2、2.3、3.0、4.0這幾個版本。如果我們需要對網(wǎng)絡(luò)進(jìn)行訪問,比如打開一個網(wǎng)頁,剛我還需要設(shè)置一個網(wǎng)絡(luò)訪問權(quán)限uses-permission,將其的值設(shè)置為Android:name="Android.permission.INTERNET,我們就可以訪問網(wǎng)絡(luò)了。當(dāng)然uses-per
47、mission還有很多其它的權(quán)限,例如GPS定位權(quán)限,瀏覽器數(shù)據(jù)存取權(quán)限com.Android.browser.permission.READ_HISTORY_BOOKMARKS等等。當(dāng)程序的任何一個組件要用到時,都必須在AndroidManifest.Xml文件中聲明。四大組件要使用前都需要聲明,其聲明方式如下:<service></service><provider></provider><activity></activity><receiver></receiver>其中聲明provider
48、時還需要聲明其授權(quán) authorities。每個組件里面還有很多的屬性,會根據(jù)程序的具體需要定義不同的屬性。過濾器intent-filter 有兩種啟動方式來啟動界面。1) 顯示方式顯示方式是在代碼中的直接啟動組件,啟動時會聲明Intent,在它的構(gòu)造方法Intent(組件1,組件2)中直接指定一個組件的名字,然后調(diào)用方法startIntent(intent)以啟動指定的組件。 2)隱式方式隱式方式是通過過濾器來過濾完成的,啟動的組件必須滿足action和category的條件才能夠啟動該組件。這些屬性是在AndroidManifest.Xml文件中聲明的。兩種啟動方式都可以通過程序setAc
49、tion(ACTION常量)和startActivity(intent)或配置文件兩種方式來實現(xiàn)組件的跳轉(zhuǎn)。4.6 數(shù)據(jù)庫表設(shè)計本系統(tǒng)采用mysql數(shù)據(jù)庫,下面為數(shù)據(jù)庫表。account表:序號字段名稱字段類型大小允許為空最大長度備注1IDInt4自增編號102commodity_idVarChar255是2553priceText16是2554buy_numVarChar50是2555user_nameVarChar50是2556user_phoneVarChar50是255car表:序號字段名稱字段類型大小允許為空最大長度備注1car_numInt4自增編號102max_weightVar
50、Char50是2553belong_corpVarChar50是2554work_yearVarChar50是255classify表:序號字段名稱字段類型大小允許為空最大長度備注1IDInt4自增編號102parent_idVarChar50是2553nameVarChar300是255commodity表:序號字段名稱字段類型大小允許為空最大長度備注1IDInt4自增編號102nameVarChar50是255stockpriceintrounitpicbuy_dateuseful_lifeawoke_dateclassify_idlogistics表:序號字段名稱字段類型大小允許為空最大
51、長度備注1logistics_numInt4自增編號102car_numVarChar50是2553start_placeVarChar50是2554arrive_placeVarChar300是2555create_dateVarChar500是2556stateVarChar500是255logistics_detail表:序號字段名稱字段類型大小允許為空最大長度備注1IDInt4自增編號102logistics_numVarChar50是2553current_placeVarChar50是2554next_placeVarChar50是2555logistics_current_dat
52、eVarChar50是2556logistics_next_dateVarChar50是255DROP TABLE IF EXISTS account;CREATE TABLE account ( id int(11) NOT NULL AUTO_INCREMENT, commodity_id int(11) NOT NULL, price int(11) NOT NULL, buy_num int(11) NOT NULL, user_name varchar(20) NOT NULL, user_phone varchar(20) DEFAULT NULL, PRIMARY KEY (id
53、) ENGINE=InnoDB DEFAULT CHARSET=gbk;- - Records of account- - - Table structure for car- -DROP TABLE IF EXISTS car;CREATE TABLE car ( car_num varchar(100) NOT NULL, max_weight varchar(10) DEFAULT NULL, belong_corp varchar(50) DEFAULT NULL, work_year varchar(10) DEFAULT NULL, PRIMARY KEY (car_num) EN
54、GINE=InnoDB DEFAULT CHARSET=gbk;- - Records of car- Table structure for classify- -DROP TABLE IF EXISTS classify;CREATE TABLE classify ( id int(11) NOT NULL AUTO_INCREMENT, parent_id int(11) NOT NULL, name varchar(50) NOT NULL, PRIMARY KEY (id) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=gbk;- - Records of classify- Table structure for commodity- -DROP TABLE IF EXISTS commodity;CREATE TABLE commodity ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(50) NOT NULL, stock int(11) NOT NULL, price float(11,0) NOT NULL, intro varchar(100) NOT NULL, unit varchar(100) NOT NULL, pic varc
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工藝整頓活動方案
- 小班勞動沙龍活動方案
- 小小兒童詩仿寫活動方案
- 少兒線下活動方案
- 師生元旦活動方案
- 小報繪制活動方案
- 小雞體能活動方案
- 小雪商家活動策劃方案
- 工會立秋活動方案
- 2023-2024學(xué)年全國初中七年級下語文人教版期末考試試卷(含答案解析)
- 有趣的圖形化編程
- 蘇教版六年級科學(xué)下冊期末測試卷及答案
- T-CECS120-2021套接緊定式鋼導(dǎo)管施工及驗收規(guī)程
- PPH術(shù)后護(hù)理查房
- 小學(xué)生體適能教育現(xiàn)狀調(diào)查與分析
- HG∕T 5229-2017 熱空氣老化箱
- 09SMS202-1埋地矩形雨水管道及附屬構(gòu)筑物(混凝土模塊砌體)
- 山東省泰安市2023-2024學(xué)年高二下學(xué)期7月期末數(shù)學(xué)試題(原卷版+解析版)
- 醫(yī)生簽約MCN機(jī)構(gòu)合同模版
- 重慶市沙坪壩區(qū)南開中學(xué)校2023-2024學(xué)年八年級下學(xué)期期末英語試題(無答案)
評論
0/150
提交評論