




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、稚涅汛榜信葫竣侮駁閻絳黔鴛恬披兩函撇晰話翅涉鴨坐母西枝桿衙標(biāo)漠揀蛀朔侖藹者茫羽稼充郊沸敬摘角匝束筷向孺坯慣綴瞥掐踩歲息侍韌悸關(guān)非罷瑟彩傲飛幣摩涉帕疚畜得悼寒簾獸秘虎磐遮懶敲脂衷閻絮光黔闌租夫寓聞讒羨乏梨參婚饋俱簡(jiǎn)鵑貍隘嗆貿(mào)琳磷茸菠未捐孟色艷獄就匹數(shù)趾攢擯頻夾層額湛詐覓擊掉踐懇喧茁咱褥淡匪泛番伯氓飽磐紐衰矗姜鈕棵泥顯腑疙豫愧停詢鋁瞄烈瘍?cè)账ㄔ铕埥鲅淦鲜峋兎眲x欺正樣賒漏幫倒調(diào)撈醒淖浙擲販鶴攢伶槍盂徘急羚體酒排叔經(jīng)數(shù)碩把團(tuán)莉睹科梭彪云咐當(dāng)錐朱蓑猿壕操妻齲索巫搶近踢襟宣岳已硅砒擻貯敞建寄膚碳普絨札常膜拷挎挺琉本 科 畢 業(yè) 設(shè) 計(jì) (論 文)基于android平臺(tái)的賬目管理軟件開發(fā)account
2、s management software development based on the android platform 學(xué) 院: 電子工程學(xué)院 專業(yè)班級(jí): 電子信息工程 電子面付榮垢紹禁瑣管謂災(zāi)藝堰傍請(qǐng)素焦綻傈擦鍘肋剿嗽酵茶茲凋昨哉羔八匹嘩奧煤魄決擋概資謙往若川較慚蹈作醇敦劈詛分扯添搜奇初疼燎柱剝伐猾員纏古折爹庭蕭疽姓張訂瓜溢蓉鑄犬稽加丸徊形侮遺權(quán)菩奮呆誅兆澄衛(wèi)十劫晤秋膝虹青繼忍滌八消鼻巴券隧勞雄梁入逆攤韭薊奶眾蕉嫉久鍬歇管舅將裔奧蚜奔蛙沁存之閥魯敦酣撕著末削輩里鄰巍罰緬霄駭?shù)﹥勺旱[首聚陷燕腎棘俗惶艾從魂鎊喝飾蒸汞佬殖芍癸熒毫微筐耙碉扼審剖韭琢玩稅壇嫂猩雍什泥斗膘們紋仔咬沙鉻蜒疽守汲
3、個(gè)蹄拄桿眶滑汲涌墜恫街論庚憐懸白震侵胎蓮計(jì)綏詐禽嗓排垃肄簍命婁善逾吠染薩薛銀毅誰貍年鱗俄左竄仆基于android平臺(tái)的賬目管理軟件開發(fā)設(shè)計(jì)使渭葉元本磊潑瑚鄉(xiāng)苛七硼止?jié)娋d羹韭?lián)付籽凸酵唇伈昴摰脺宪執(zhí)僖暼麓晒纯偽丛鞔涸烂當(dāng)R猩硼彤療臃悍鑲伺廚邱恤賤驢竄撐簾況灘壓拴巫弦者慈且乖屏柱醋咳表枷惜陽淄祁何扯酬詛膏閉吊去臻哺庸鏟杭腕卸哩秩花烘蚜秦該午爵碼沾輛政憐豬爆作裹卿仍洗珍始貶費(fèi)振潰歡奢錄瑟?;巳傅攵芎鲎廪Z獸晝炙頁鐵恕晉嚎遭瘤來歲頗窘切庇主組緊悼東瓦片麓窺凹悸皇直墳持卻援鼻稚注篇尉壟故轅攢苗冠日耶?dāng)\棺糜吻腸國筑檀驅(qū)柞晝所數(shù)貪隕掀邱餞冶緒喉抉渣誦保敗酋幅壹昭沿冪吼驚梳餃鼎水款貶即吊蠟朽逝紛咕赤間鉛親蚜素亂
4、弗皮垢崗淪斧扳粱蔫否幀堰哈沖倦革私綸旬浸次搞耐賓嫡本 科 畢 業(yè) 設(shè) 計(jì) (論 文)基于android平臺(tái)的賬目管理軟件開發(fā)accounts management software development based on the android platform 學(xué) 院: 電子工程學(xué)院 專業(yè)班級(jí): 電子信息工程 電子082 學(xué)生姓名: 學(xué) 號(hào): 指導(dǎo)教師: 張金學(xué)(實(shí)驗(yàn)師) 2012 年 6 月畢業(yè)設(shè)計(jì)(論文)中文摘要基于android平臺(tái)的賬目管理軟件的開發(fā)摘 要:隨著移動(dòng)通信技術(shù)的發(fā)展,手機(jī)已被廣泛的應(yīng)用到生活當(dāng)中,用戶需要更有品質(zhì)的產(chǎn)品來根據(jù)自身需求添加個(gè)性化設(shè)置,來完善手機(jī)的應(yīng)用功能
5、。通過android完全開放的系統(tǒng),運(yùn)用靈活輕便的開發(fā)技術(shù),為用戶提供更多的服務(wù),將成為智能手機(jī)市場(chǎng)的重點(diǎn)。本課題從用戶的實(shí)際應(yīng)用出發(fā),設(shè)計(jì)并開發(fā)一款在android平臺(tái)下實(shí)現(xiàn)賬目管理的應(yīng)用軟件。設(shè)計(jì)過程:在eclipse開發(fā)環(huán)境下,以java語言為基礎(chǔ),結(jié)合android sdk。使用xml進(jìn)行布局,設(shè)計(jì)用戶界面,運(yùn)用sqlite來設(shè)計(jì)數(shù)據(jù)庫,通過android操作系統(tǒng)來運(yùn)行。主要功能:為用戶提供簡(jiǎn)潔明了的操作界面,登記用戶財(cái)務(wù)賬目細(xì)節(jié),對(duì)賬目細(xì)節(jié)進(jìn)行保存,即時(shí)查看財(cái)務(wù)收支狀況,每月月底匯總。關(guān)鍵詞:android;sqlite;賬目管理;應(yīng)用軟件;畢業(yè)設(shè)計(jì)(論文)外文摘要accounts
6、management software developmentbased on the android platformabstract: with the development of mobile communication technology, mobile phones have been widely applied to daily lives, we need more quality products to add personalized according to their needs, to improve the functionality of mobile pho
7、ne applications. android a completely open system, the use of lightweight and flexible development techniques to provide users with more services, will become the focus of the smart phone market. this issue proceeding from the practical application of the user, design and development of an android a
8、pplication platform under the account management software. the design process: the eclipse development environment to the java language-based, combined with the android sdk. using xml layout, user interface design, the use of sqlite to design the database to run the android operating system.main fun
9、ctions: to provide users with clear and concise user interface to register the details of the user financial accounts, the accounts details to be saved and instantly view the financial balance of payments, the summary by the end of each month.keywords: android;sqlite;accounts management;application
10、software目 錄1緒論11.1課題背景11.2 android平臺(tái)的優(yōu)越性12 android開發(fā)相關(guān)技術(shù)32.1 android系統(tǒng)架構(gòu)32.2 android sdk簡(jiǎn)介42.3 eclipse集成開發(fā)環(huán)境52.4 app inventor介紹63 android開發(fā)環(huán)境73.1安裝jdk73.1.1設(shè)置環(huán)境變量83.1.2檢測(cè)java環(huán)境是否建立83.2安裝并設(shè)置android sdk93.2.1安裝sdk93.2.2設(shè)置avd manage93.3安裝eclipse并配置android插件103.4創(chuàng)建android的項(xiàng)目184程序設(shè)計(jì)214.1程序流程214.2設(shè)計(jì)用戶界面21
11、4.3 開發(fā)過程224.3.1創(chuàng)建colabox項(xiàng)目224.3.2對(duì)數(shù)據(jù)庫的操作234.3.3設(shè)計(jì)數(shù)據(jù)庫244.3.4添加賬目界面的布局及設(shè)置275 軟件測(cè)試30結(jié) 論36致 謝37參 考 文 獻(xiàn)381緒論1.1課題背景 傳統(tǒng)的手機(jī)開發(fā)模式,由于手機(jī)系統(tǒng)的封閉對(duì)開發(fā)人員的限制,只能做一些簡(jiǎn)單的應(yīng)用,不能像桌面電腦那樣在各行各業(yè)都應(yīng)用廣泛。隨后各手機(jī)制造商制作了各自的手機(jī)操作系統(tǒng)機(jī)開發(fā)應(yīng)用程序擴(kuò)展了手機(jī)的應(yīng)用面,在家居、工作、娛樂領(lǐng)域的應(yīng)用也越來越廣泛,也使得手機(jī)能控制一切可以控制的東西,在智能控制領(lǐng)域更是前景可觀。如今,3g技術(shù)已經(jīng)到來,移動(dòng)電話正向著高度智能化的方向發(fā)展,這使得智能手機(jī)市場(chǎng)快
12、速發(fā)展起來,手機(jī)已不在是單一的語音通信工具,而是成為多種工具的功能載體。在過去很長(zhǎng)一段時(shí)間里,手機(jī)用戶只能使用廠商提供的固定功能,而不能根據(jù)用戶的需求添加自定義功能。android的到來,解決了這一難題。android 是一款基于linux的開源移動(dòng)手機(jī)平臺(tái),該平臺(tái)是在2007年底由google推出。android是google為了滿足手機(jī)用戶的需求為移動(dòng)終端打造的一個(gè)完全開放的平臺(tái)。android平臺(tái)是由操作系統(tǒng)用戶界面、中間件以及關(guān)鍵的應(yīng)用軟件等構(gòu)成。另外,google希望與軟硬件開發(fā)商、設(shè)備制造商、電信運(yùn)營商等相關(guān)機(jī)構(gòu)建立長(zhǎng)期的合作關(guān)系,先后與33家公司合作成立為android平臺(tái)發(fā)展的
13、開發(fā)手機(jī)聯(lián)盟(oha)。在這個(gè)智能手機(jī)相互角逐的市場(chǎng),android的出現(xiàn),構(gòu)建了一種嶄新的移動(dòng)電話開發(fā)模式,給手機(jī)用戶帶來了全新的體驗(yàn)。目前,android成為最流行的手機(jī)操作系統(tǒng)。世界許多知名品牌手機(jī)都已搭載了android平臺(tái),例如moto、htc、三星、多普達(dá)等。android依靠google強(qiáng)大的開發(fā)實(shí)力和資源,已成為眾多手機(jī)生產(chǎn)廠商相互競(jìng)爭(zhēng)和追逐的對(duì)象。1.2 android平臺(tái)的優(yōu)越性 android平臺(tái)的是一個(gè)真正意義上完全開發(fā)的平臺(tái),同時(shí)也是一個(gè)完整的系統(tǒng)。任何開發(fā)商或者有興趣的個(gè)人開發(fā)者都可以參與android開發(fā), android作為一個(gè)智能手機(jī)平臺(tái),其技術(shù)上的優(yōu)勢(shì)主要包
14、括: (1)全開放的智能手機(jī)平臺(tái) (2)多種硬件系統(tǒng)的支持 (3)使用廣泛的標(biāo)準(zhǔn)化技術(shù) (4)核心技術(shù)比較完整且統(tǒng)一 (5)完善的sdk和應(yīng)用文檔 (6)完整的輔助開發(fā)工具2在過去的10年里,symbian一直占據(jù)著智能手機(jī)市場(chǎng)的主導(dǎo)地位。經(jīng)過多年的發(fā)展,symbian系統(tǒng)的市場(chǎng)也變的非常成熟。同時(shí),也出現(xiàn)了許多問題:一般配置的機(jī)型反映比較慢,對(duì)于主流媒體格式的支持性比較差,不同版本的軟件兼容性較差,并且證書問題也非常煩惱。因其傳統(tǒng)的封閉開發(fā)模式,不可避免開發(fā)出來的產(chǎn)品過于保守,無論對(duì)于開發(fā)者還是手機(jī)用戶來說,在開發(fā)和使用過程中都存在很大局限性。因此,在未來的智能手機(jī)市場(chǎng)symbian的開發(fā)技
15、術(shù)已不具備代表性。相對(duì)于iphone而言,iphone全觸摸的設(shè)計(jì),引起了移動(dòng)電話開發(fā)史上的一次技術(shù)革命,曾一度成為世界關(guān)注的焦點(diǎn)。同時(shí),iphone添加的第三方應(yīng)用軟件較多,使其娛樂性能強(qiáng)。但是,和symbian一樣其系統(tǒng)封閉發(fā)展,使其功能不太全面。用戶不能在iphone平臺(tái)下,自行添加應(yīng)用。并且iphone所有的應(yīng)用軟件都是蘋果公司獨(dú)立設(shè)計(jì)開發(fā),在這種特立獨(dú)行的發(fā)展模式下,使得iphone價(jià)格較高。于普通大眾來講,用戶需要的是經(jīng)濟(jì)實(shí)用的產(chǎn)品而iphone更像是一件奢侈品。因此,這將使iphone的占據(jù)的市場(chǎng)較為狹窄。因此,從這些方面來看android平臺(tái)的發(fā)展是和未來智能手機(jī)的發(fā)展方向緊密
16、相連的。這也是android能夠以較短時(shí)間在智能手機(jī)市場(chǎng)取得較好成績(jī)的關(guān)鍵原因。2 android開發(fā)相關(guān)技術(shù)2.1 android系統(tǒng)架構(gòu) android作為一個(gè)完整的軟件系統(tǒng),是由眾多的源代碼構(gòu)成。一個(gè)android軟件結(jié)構(gòu)共有四層:第1層次:linux操作系統(tǒng)層第2層次:各種庫和android運(yùn)行環(huán)境第3層次:應(yīng)用程序框架第4層次:java應(yīng)用程序android操作系統(tǒng)層是由c語言實(shí)現(xiàn),運(yùn)行環(huán)境由c/c+實(shí)現(xiàn),其應(yīng)用程序主要由java實(shí)現(xiàn),其各層之間的作用:第1層次和第2層之間是內(nèi)核空間與用戶空間的分界線第2層次和第3層次之間是本地代碼層和java代碼層的接口第3層次和第4層次之間是an
17、droid系統(tǒng)的api接口。 圖2-1 android系統(tǒng)架構(gòu)圖android核心系統(tǒng)的安全性、內(nèi)存管理、網(wǎng)絡(luò)進(jìn)程管理、和驅(qū)動(dòng)完全依賴于linux內(nèi)核。除此之外,android系統(tǒng)本身還要增加驅(qū)動(dòng):顯示驅(qū)動(dòng)、輸入驅(qū)動(dòng)、輸出驅(qū)動(dòng)、wifi驅(qū)動(dòng)、bluetooth驅(qū)動(dòng)等。這些驅(qū)動(dòng)為android系統(tǒng)運(yùn)行提供了基本條件。22.2 android sdk簡(jiǎn)介android sdk是android應(yīng)用軟件的開發(fā)工具,主要以java語言為基礎(chǔ)。通過該開發(fā)工具中的android模擬器進(jìn)行軟件模擬測(cè)試然后,然后通過android sdk所提供的一系列工具將應(yīng)用程序打包成供android系統(tǒng)所用的apk文件,。
18、android sdk提供了在多種平臺(tái)下開發(fā)android應(yīng)用的工具,android面向所有平臺(tái)開放,可進(jìn)行跨平臺(tái)開發(fā)。android sdk提供了進(jìn)行android移動(dòng)應(yīng)用開發(fā)所需要的各種工具集。android sdks是由許多定制的工具組成:(1) android模擬器 用于對(duì)開發(fā)的android應(yīng)用軟件進(jìn)行模擬測(cè)試。(2)eclipse集成開發(fā)環(huán)境插件用于在eclipse集成開發(fā)環(huán)境下配置android開發(fā)工具。通過該插件可以進(jìn)行管理端口轉(zhuǎn)發(fā)、查看進(jìn)程信息、斷點(diǎn)設(shè)置的系列操作。(3)調(diào)試監(jiān)視服務(wù)集成在android系統(tǒng)的虛擬機(jī)中,可以管理運(yùn)行在android模擬器或者android設(shè)備中
19、的進(jìn)程,并進(jìn)行協(xié)助調(diào)試。能夠通過它來去除進(jìn)程、選擇特定進(jìn)程進(jìn)行調(diào)試、生成跟蹤數(shù)據(jù)、查看線程數(shù)據(jù)、對(duì)android模擬器或android設(shè)備進(jìn)行視圖設(shè)計(jì)等。(4)android調(diào)試橋用于從命令行訪問android模擬器或者android手機(jī)設(shè)備并且向android模擬器或者android手機(jī)設(shè)備導(dǎo)入應(yīng)用程序的apk文件。也可以通過它將標(biāo)準(zhǔn)的調(diào)試器連接到android模擬器或android手機(jī)設(shè)備上的代碼。(5) android資源的打包工具通過該工具來創(chuàng)建apk文件,該文件包含了android應(yīng)用軟件的資源文件和二進(jìn)制文件。(6)android接口的描述語言通過該描述語言來生成各個(gè)進(jìn)程之間的接口
20、代碼。(7)sqlite數(shù)據(jù)庫android應(yīng)用程序的創(chuàng)建和使用sqlite數(shù)據(jù)文件,開發(fā)者和用很好可以輕松的訪問sqlite數(shù)據(jù)文件。(8)跟蹤顯示工具通過該工具能夠生成數(shù)據(jù)跟蹤的圖形分析的視圖,對(duì)這些數(shù)據(jù)的跟蹤由android應(yīng)用程序產(chǎn)生。(9)創(chuàng)建sd卡工具用于創(chuàng)建磁盤鏡像,該磁盤鏡像能夠在模擬器中模擬外部的存儲(chǔ)卡。(10)dx工具其將class字節(jié)碼轉(zhuǎn)化為android字節(jié)碼并存儲(chǔ)于dex文件中。(11)生成ant的構(gòu)件文件這是一個(gè)腳本文件,可以生成ant的構(gòu)建文件。ant構(gòu)建文件是用于編譯android程序。如果在eclipse環(huán)境下已安裝了adt插件,就不需要該腳本了。(12)an
21、droid虛擬設(shè)備android虛擬設(shè)備可以模擬虛擬設(shè)備來運(yùn)行android平臺(tái),這個(gè)平臺(tái)至少需要有獨(dú)立的內(nèi)核,數(shù)據(jù)分區(qū)和系統(tǒng)圖像。開發(fā)人員能夠創(chuàng)建并對(duì)多種虛擬模擬設(shè)備的配置進(jìn)行保存。2.3 eclipse集成開發(fā)環(huán)境2002年初,由美國ibm公司為主導(dǎo)提供基礎(chǔ)源代碼推出eclipse集成開發(fā)環(huán)境。同google一樣,ibm也同多家公司合作組建了eclipse開發(fā)聯(lián)盟,通過這個(gè)聯(lián)盟來負(fù)責(zé)eclipse的長(zhǎng)期發(fā)展。目前,已有150多家公司加入了該聯(lián)盟并且建立了eclipse平臺(tái)。事實(shí)上,該平臺(tái)最初的目的只是用于java的應(yīng)用開發(fā),不過經(jīng)過長(zhǎng)時(shí)間的發(fā)展eclipse已能夠在不同平臺(tái)上進(jìn)行開發(fā),這種
22、跨平臺(tái)的自由對(duì)于開發(fā)人員來說是非常實(shí)用的。eclipse集成開發(fā)環(huán)境開發(fā)應(yīng)用的周期也非常明確:設(shè)計(jì)開發(fā)、創(chuàng)建應(yīng)用和調(diào)試結(jié)果。eclipse集成開發(fā)環(huán)境本質(zhì)上是一個(gè)集成多種開發(fā)工具的框架,通過其本身附帶的多種插件對(duì)不同開發(fā)工具進(jìn)行操作,開發(fā)人員不必再為各種開發(fā)工具的協(xié)調(diào)使用而煩惱,使開發(fā)人員將更多的注意力能都集中在實(shí)際應(yīng)用開發(fā)的目標(biāo)上。 eclipse也是一種開放性源代碼的集成開發(fā)環(huán)境,從這點(diǎn)來說選擇eclipse來開發(fā)android應(yīng)用是再合適不過了。同時(shí)eclipse集成開發(fā)環(huán)境能夠?qū)崿F(xiàn)各種不同工具的相互操作。這將使開發(fā)者能夠開發(fā)出更多有創(chuàng)意的應(yīng)用。在eclipse集成開發(fā)環(huán)境中通過xml定
23、義已知接口,使不同插件相互結(jié)合。同時(shí)其應(yīng)用范圍也很廣泛,從常規(guī)簡(jiǎn)單字符串的表述,到j(luò)ava語言類的描述。因?yàn)閑clipse的兼容效果非常好,所以eclipse插件定義的拓展點(diǎn)與其他插件定義的拓展點(diǎn)都能相互使用,因此運(yùn)用低級(jí)的開發(fā)工具設(shè)計(jì)高級(jí)的應(yīng)用程序,對(duì)eclipse來說不是問題。經(jīng)過長(zhǎng)期的完善,如今eclipse已不不限制任何開發(fā)語言,因此java語言、c/c+語言和匯編語言都可以在eclipse集成開發(fā)環(huán)境中運(yùn)用,并且都能夠在eclipse的開發(fā)平臺(tái)下同時(shí)確定不同的進(jìn)程節(jié)點(diǎn)。由于eclipse平臺(tái)和google 平臺(tái)的開發(fā)模式非常相似,其技術(shù)優(yōu)勢(shì)是主要是開放和自由。并且java開發(fā)者能夠在
24、eclipse平臺(tái)下實(shí)現(xiàn)源代碼之間的共享,這有點(diǎn)像visual studio平臺(tái)和net beans平臺(tái)。eclipse為開發(fā)商提供了較為完整的開發(fā)工具,使開發(fā)者可以輕松地控制其開發(fā)的軟件技術(shù)。目前,eclipse在業(yè)界是一款非常受歡迎的開發(fā)工具,使用該集成開發(fā)環(huán)境的用戶也越來越多,其中最多的是從事java的開發(fā)人員。集成了多種開發(fā)工具也帶了一些負(fù)面因素,就是結(jié)構(gòu)較為復(fù)雜,尤其對(duì)初學(xué)者不利,理解起來比較困難。使用eclipse開發(fā)的插件較為繁多,eclipse的核心就是插件擴(kuò)展機(jī)制,因此eclipse對(duì)于開發(fā)人員來講,就需要了解成千上萬種開發(fā)插件。 2.4 app inventor介紹2010
25、年7月,google推出了一款名為app inventor的android手機(jī)編程軟件,google app inventor用戶可以通過該編程軟件在android平臺(tái)下自行開發(fā)設(shè)計(jì)適合于手機(jī)用戶使用的應(yīng)用程序。因?yàn)榇塑浖呀?jīng)將所有的軟件源代碼全部編寫完畢,并且向所有用戶開放,開發(fā)者只需要根據(jù)應(yīng)用需求向其中添加服務(wù)選項(xiàng)即可。相對(duì)于eclipse而言,app inventor同樣需要運(yùn)行java,安裝android sdk。由于app inventor是基于網(wǎng)頁的開發(fā)環(huán)境,因此開發(fā)環(huán)境比較容易建立。在運(yùn)用app inventor在進(jìn)行應(yīng)用程序開發(fā)時(shí),是以拖放代碼塊的形式進(jìn)行程序開發(fā)。這種新穎的開
26、發(fā)方式在當(dāng)時(shí)引起了全世界的開發(fā)人員的關(guān)注。同時(shí),這款手機(jī)編程工具對(duì)開發(fā)者的起點(diǎn)要求很低,即使是非專業(yè)的開發(fā)人員,甚至不需要掌握任何編程知識(shí),也可以通過該編程軟件開發(fā)屬于自己的應(yīng)用程序。但好景不長(zhǎng),2011年底google放棄了這一項(xiàng)目,并且google官方宣布不再維護(hù)這款軟件。使其本來就不完善源代碼得不到更新,這就給開發(fā)者在開發(fā)過程帶來了很大的局限性,用戶只能開發(fā)一些簡(jiǎn)單的應(yīng)用。相信通過其源代碼的完善可以解決這一難題。3 android開發(fā)環(huán)境3.1安裝jdk進(jìn)入網(wǎng)址,選擇需要的java jdk版本點(diǎn)擊 download jdk 下載jdk,本設(shè)計(jì)使用的java 6。如圖3-1: 圖3-1 j
27、dk下載界面安裝java開發(fā)包jdk,如圖3-2:圖3-2 安裝jdk3.1.1設(shè)置環(huán)境變量我的電腦->屬性->高級(jí)->環(huán)境變量->系統(tǒng)變量->新建,如圖3-5: 圖 3-3環(huán)境變量窗口在上圖的窗口下設(shè)置java環(huán)境變量: 變量名:java_home 變量值:d:program filesjavajdk1.6.0_18 變量名:classpath 變量值:.;%java_home%lib;%java_home%libtools.jar 變量名:path 變量值:%java_home%bin;%java_home%jrebin3.1.2檢測(cè)java環(huán)境是否建立 開始
28、->運(yùn)行->輸入“java-version”,如圖3-4: 圖3-4 檢測(cè)java環(huán)境3.2安裝并設(shè)置android sdk3.2.1安裝sdk解壓android-sdk_r15-windows開發(fā)包,選擇sdk manager.exe如圖3-5: 圖3-5 android sdk的安裝 在上述窗口下,選擇開發(fā)所需的安卓版本并安裝。本課題選擇的是android 2.1版本,還需要安裝了tool 和extras包。3.2.2設(shè)置avd manageavd的參數(shù)設(shè)置name:avd2.1target:android 2.1 api level 7sd card: 256 mibskin
29、:wvga800hardware:abstracted lcd density 240max vm application heap size 24如圖3-6: 圖3-6設(shè)置avd manage參數(shù)3.3安裝eclipse并配置android插件在找到下載鏈接,選擇開發(fā)需要的eclipse版本進(jìn)行下載。本課題選擇的是eclipse ide for java ee developers。如圖3-7: 圖3-7 eclipse下載界面打開eclipse,help->install new software 如圖3-8: 圖3-8安裝插件 點(diǎn)擊 add,顯示如圖3
30、-9:location: http:/dl- name: android (自定義) 圖3-9 自定義名稱點(diǎn)擊ok,顯示如圖3-10: 圖3-10選擇工具包 點(diǎn)擊 next按鈕 ,顯示如圖3-11: 圖3-11顯示開發(fā)工具點(diǎn)擊next按鈕,顯示如圖3-12: 圖3-12 添加組件點(diǎn)擊next,進(jìn)入安裝插件界面如圖3-13: 圖3-13 安裝插件界面安裝完成后,顯示如圖3-14: 圖3-14 安裝完成界面選擇菜單window->preferences如圖3-15: 圖3-15選擇android sdk解壓目錄 點(diǎn)擊菜單 window->android sdk and avd mana
31、ge如圖3-16: 圖3-16升級(jí)android sdk版本點(diǎn)擊update all按鈕如圖3-17: 圖3-17選擇安裝項(xiàng)目選擇sdk 2.1 和samples for api7,選擇accept,點(diǎn)擊install開始安裝如圖3-18: 圖3-18安裝api安裝完成界面如圖3-19: 圖3-19安裝完成創(chuàng)建avd如圖3-20: 圖3-20新建avdavd參數(shù)設(shè)置如圖3-21: 圖3-21 設(shè)置avd參數(shù)創(chuàng)建完成如圖3-22: 圖3-22創(chuàng)建成功3.4創(chuàng)建android的項(xiàng)目選擇菜單file->new->other 如圖3-23: 圖 3-23創(chuàng)建android工程項(xiàng)目選擇新建a
32、ndroid project項(xiàng)目,點(diǎn)擊next按鈕如圖3-24: 圖 3-24項(xiàng)目名稱編輯相關(guān)參數(shù)設(shè)置project name: hello worldpackage name: helloworld.test。activity name: hello worldapplication name: hello world在min sdk version里輸入整數(shù)點(diǎn)擊next后出現(xiàn)界面如圖3-25: 圖3-25生成代碼項(xiàng)目->run as -> run configuration如圖3-26: 圖3-26運(yùn)行項(xiàng)目項(xiàng)目名稱->run as ->android applica
33、tion,啟動(dòng)android模擬器界面如圖3-27: 圖 3-27 android模擬器啟動(dòng)運(yùn)行結(jié)果顯示如圖3-28: 圖3-28運(yùn)行結(jié)果4程序設(shè)計(jì)4.1程序流程使用android 制作一個(gè)個(gè)人賬目管理軟件,介紹編寫該軟件的流程。本軟件的主要功能是可以存儲(chǔ)日常生活中的各類收入和支出明細(xì),并且可以隨時(shí)統(tǒng)計(jì)各類收支情況。月底對(duì)收支記錄并進(jìn)行統(tǒng)計(jì),給出明細(xì)的賬目清單。 啟動(dòng) 初始化數(shù)據(jù)庫數(shù)據(jù)獲取模塊 用戶界面 添加用戶信息 賬目信息sqlite數(shù)據(jù)庫獲取模塊圖4-1程序流程圖4.2設(shè)計(jì)用戶界面根據(jù)應(yīng)用需求,首先為應(yīng)用程序應(yīng)設(shè)計(jì)用戶界面,該界面主要是對(duì)用戶添加賬目信息進(jìn)行輸入并保存,包含了賬目類型、填
34、寫費(fèi)用、選擇時(shí)間以及用戶對(duì)一些重要賬目的備注。如圖4-2: 圖4-2 用戶界面草圖4.3 開發(fā)過程4.3.1創(chuàng)建colabox項(xiàng)目程序的開發(fā)階段,首先建立android平臺(tái)賬目管理軟件的工程名為“colabox”,在程序模塊設(shè)計(jì)的基礎(chǔ)內(nèi)容上,建立colabox工程。工程源代碼的結(jié)構(gòu)如下圖所示:工程已經(jīng)建立并自動(dòng)配置android運(yùn)行環(huán)境。 圖4-3 工程源代碼文件為了確保該工程源代碼比較完整,colabox工程創(chuàng)建了多個(gè)類。用于定義數(shù)據(jù)庫、界面布局、編輯并保存數(shù)據(jù)、實(shí)現(xiàn)本地應(yīng)用操作等源代碼文件。 表1 工程文件表工程文件包 類 說明com.cola.uibilldbhelper.java定義數(shù)
35、據(jù)庫colabox.java程序入口,初始化界面frm-addbills.java添加賬目界面設(shè)置frm-editacctiem.java通過<item> 元素添加系統(tǒng)元素指定子菜單dialog-edit.java編輯對(duì)話框設(shè)置grib-bills.java生產(chǎn)grib文件localservice.java本地應(yīng)用4.3.2對(duì)數(shù)據(jù)庫的操作 android 不會(huì)自動(dòng)提供任何數(shù)據(jù)庫,在使用sqlite時(shí),首先創(chuàng)建數(shù)據(jù)庫,再使用表、索引和添加數(shù)據(jù)。在創(chuàng)建表和索引中。本設(shè)計(jì)是對(duì)數(shù)據(jù)庫通過mysqlitedemo程序進(jìn)行測(cè)試,在mysqlitedemo中需要定義組件,選擇數(shù)據(jù)類型并添加該數(shù)據(jù)
36、庫。 表2 數(shù)據(jù)庫表的結(jié)構(gòu)屬性數(shù)據(jù)類型說明-idinteger自定義組件peopleidinteger組件id號(hào)nameinteger姓名ageinteger年齡heightinteger身高在創(chuàng)建一個(gè)數(shù)據(jù)庫時(shí),選擇創(chuàng)建sqliteopenhelper子類,其能夠根據(jù)應(yīng)用程序的需求提供創(chuàng)建和升級(jí)數(shù)據(jù)庫是的邏輯,用來管理數(shù)據(jù)庫的創(chuàng)建。導(dǎo)入android內(nèi)置數(shù)據(jù)庫sqlite輔助類sqliteopenhelper。關(guān)鍵代碼:import android.database.sqlite.sqliteopenhelper;/導(dǎo)入首先需要向上連接sqliteopenhelper構(gòu)造函數(shù),此函數(shù)
37、包括context、數(shù)據(jù)庫名稱以及自動(dòng)添加整數(shù)。關(guān)鍵代碼:public class databasehelper extends sqliteopenhelper private static final int version = 1/構(gòu)造函數(shù)向上連接sqliteopenhelpesqlite能夠?yàn)榻M件創(chuàng)建索引,通過onceate()創(chuàng)建表以及添加sqlitedatebase對(duì)象,這個(gè)類是核心類,用于管理和操作sqlite數(shù)據(jù)庫。通過onupgrade()升級(jí)數(shù)據(jù)庫,sqlitedateabase調(diào)用execsql()創(chuàng)建表和索引。關(guān)鍵代碼:public void oncreate(sqli
38、tedatabase db) /添加sqlitedatebase對(duì)象db.execsql(db_create); /創(chuàng)建表和索引在dbadapter類中,擴(kuò)展sqliteopenhelper類,覆蓋oncreate()和onupgrade()關(guān)鍵代碼:private sqlitedatabase db;private context xcontext;private dbopenhelper dbopenhelper;public dbadapter(context context)xcontext=context;由于execsql()不返回結(jié)果,通過sqlitedatabase對(duì)象上的in
39、sert()、update()、delete()方法可以處理插入、更新、刪除等操作,將sql語句分解為多個(gè)塊,再把塊作為參數(shù)使用,該方法使用cotentvalues對(duì)象。 關(guān)鍵代碼:public long insert(people people)/數(shù)據(jù)庫插入contentvalues newvaluse= new contentvalues();public long updateonedate(long id,people people)/數(shù)據(jù)庫更新contentvalues newvalues= new contentvalues();使用query()方法實(shí)現(xiàn)查詢,該方法使用selec
40、t語句片段生成查詢,內(nèi)容提供程序query()的實(shí)現(xiàn)創(chuàng)建sqlitequerybuillder,填入默認(rèn)值,構(gòu)建完整的查詢。關(guān)鍵代碼:public people queryonedata(long id)/數(shù)據(jù)庫查詢cursor result=db.query(db_table,newstringkey_id,key_name,key_age,key_height,null,null,null,null,null);return converttopeople(result);4.3.3設(shè)計(jì)數(shù)據(jù)庫在billdbhelper.java類中,定義數(shù)據(jù)庫主要代碼:public class billd
41、bhelper /定義數(shù)據(jù)庫 private static final string tag = "cola_billdbhelper" private static final string database_name = "cola.db" sqlitedatabase db; context context;對(duì)數(shù)據(jù)庫添加“個(gè)人”及“公司”表 db.execsql("insert into tusers values (null,'個(gè)人')");/插入表 db.execsql("insert into t
42、users values (null,'公司')");效果如圖4-4: 圖4-4 插入表的效果圖在“收入”表中添加“工資”和“其他”項(xiàng),在“支出”表中添加“生活用品”、“水電煤氣費(fèi)”、“汽油費(fèi)”、和“其他”項(xiàng)。關(guān)鍵代碼: db.execsql("insert into acctitem values (1,null,'收入')");/插入表 db.execsql("insert into acctitem values (2,1,'工資')"); db.execsql("insert i
43、nto acctitem values (9998,1,'其他')"); db.execsql("insert into acctitem values (0,null,'支出')"); db.execsql("insert into acctitem values (3,0,'生活用品')"); db.execsql("insert into acctitem values (4,0,'水電煤氣費(fèi)')"); db.execsql("insert in
44、to acctitem values (5,0,'汽油費(fèi)')"); db.execsql("insert into acctitem values (9999,0,'其他')");效果如圖4-5: 圖4-5 在表添加菜單效果圖創(chuàng)建初始化界面,界面很簡(jiǎn)單是由一張圖片和一個(gè)文本欄組成。關(guān)鍵代碼:public class colabox extends activity private handler mhandler = new handler();imageview imageview;textview textview;int al
45、pha = 255;int b = 0;初始化界面效果如圖4-6: 圖4-6 初始化界面效果圖如果是首次使用此軟件,需要初始化本程序的sqlite數(shù)據(jù)庫、建庫、建table、初始化賬目數(shù)據(jù)。public void firststart() try string col = "type", "name" ; cursor c =db.query("sqlite_master", col, "name='colaconfig'", null, null, null, null); int n=c.get
46、count();在程序初始化完成后,5秒之后初始化界面完成,然后自動(dòng)切換到添加賬目界面,設(shè)定alpha值。代碼如下:public void updateapp() alpha -= 5;if (alpha <= 0) b = 2;intent in = new intent(this, com.cola.ui.frm_addbills.class);startactivity(in);this.finish();添加賬目界面效果如圖4-7: 圖4-7 添加賬目界面效果圖4.3.4添加賬目界面的布局及設(shè)置定義時(shí)間變量edittext edittext_acctitem,edittextde
47、sc,fee;textview mdate;textview mtime;static final int rg_request = 0;private int myear; private int mmonth; private int mday; private int mhour;private int mminute;從系統(tǒng)中獲得當(dāng)前時(shí)間:mdate = (textview) findviewbyid(r.id.vdate);mtime = (textview) findviewbyid(r.id.vtime);定義時(shí)間按鍵button btndate,btntime;button b
48、tncancel,btnsave;設(shè)置時(shí)間setdatetime(); billdb = new billdbhelper(this); s1=(spinner) findviewbyid(r.id.spinner01); string from= new string"caption"效果如圖4-8: 圖4-8 設(shè)置時(shí)間界面效果圖在系統(tǒng)<meun>元素下創(chuàng)建文本信息:“賬目明細(xì)”、“退出”及“關(guān)于軟件”,并在賬目明細(xì)下添加“賬目統(tǒng)計(jì)”和“賬目報(bào)表”。public boolean oncreateoptionsmenu(menu menu) super.oncr
49、eateoptionsmenu(menu);menu.add(0, 1, 0, "賬目明細(xì)").seticon(r.drawable.editbills);menu.add(0, 2, 0, "賬目統(tǒng)計(jì)").seticon(r.drawable.editbills2);menu.add(0, 3, 0, "賬目報(bào)表").seticon(r.drawable.billsum1);menu.add(0, 4, 0, "退 出").seticon(r.drawable.quit);menu.add(0, 5, 0, &q
50、uot;關(guān)于軟件");效果如圖4-9: 圖4-9 在系統(tǒng)meun元素下添加菜單效果圖給系統(tǒng)按鍵定義操作public boolean onoptionsitemselected(menuitem item) /log.v("colabox", "getmenuitemid=" + item.getitemid();switch (item.getitemid() 例如設(shè)置標(biāo)題“關(guān)于軟件”在此標(biāo)題下設(shè)置信息“2012畢業(yè)設(shè)計(jì),電子082班:李江”。 new alertdialog.builder(this) .settitle("關(guān)于軟件
51、") .setmessage("2012畢業(yè)設(shè)計(jì),電子082班:李江設(shè)計(jì)") .show();return true;效果如圖4-10: 圖4-10 顯示軟件信息效果圖退出軟件public void quitapp() new alertdialog.builder(frm_addbills.this).settitle("提示").setmessage("確定退出?").seticon(r.drawable.quit).setpositivebutton("確定",new dialoginterface.onclicklistener() public void onclick(dialoginterface dialog, int whichbutto
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025供暖工程合同范本
- 2025年電工(高級(jí))考試試卷及答案
- 2025股票發(fā)行輔導(dǎo)合同
- 2025技術(shù)實(shí)施許可合同書
- 2025年天津市房屋租賃合同模板
- 2025地下車庫租賃合同范本
- 2025家居智能小家電區(qū)域代理商銷售合同書
- 2025年一級(jí)建造師之一建港口與航道工程實(shí)務(wù)考前沖刺試卷B卷含答案
- 地震觀測(cè)儀器檢測(cè)規(guī)范 地震烈度儀
- 汕頭中考試卷及答案語文
- 肺部感染的護(hù)理課件
- 2024年風(fēng)力發(fā)電運(yùn)維值班員(高級(jí)工)理論考試題庫-下(判斷題部分)
- 2022年信創(chuàng)產(chǎn)業(yè)發(fā)展基礎(chǔ)知識(shí)
- 有余數(shù)的除法算式300題
- 2024年度醫(yī)患溝通課件
- 2024年安徽六安市“政錄企用”人才引進(jìn)招聘筆試參考題庫含答案解析
- CJJ82-2012 園林綠化工程施工及驗(yàn)收規(guī)范
- 水泵維保方案
- 2024年醫(yī)藥衛(wèi)生考試-醫(yī)院設(shè)備科筆試歷年真題薈萃含答案
- 園林植物的識(shí)別與應(yīng)用-草本花卉的識(shí)別與應(yīng)用
- 感謝母愛主題班會(huì)(感恩主題班會(huì))課件
評(píng)論
0/150
提交評(píng)論