




已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
畢業(yè)設(shè)計(jì)(論文)論文題目基于ANDROID的短信攔截系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)THESISTOPICBASEONTHEREALIZATIONOFTHEANDROIDSSMSINTERCEPTIONSYSTEM2015年5月18日畢業(yè)設(shè)計(jì)(論文)任務(wù)書第1頁畢業(yè)設(shè)計(jì)(論文)題目基于ANDROID的短信攔截系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)(論文)要求及原始數(shù)據(jù)(資料)1綜述短信息發(fā)展及前景;2深入了解短信攔截系統(tǒng)的相關(guān)技術(shù);3分析短信攔截系統(tǒng)的實(shí)現(xiàn),訓(xùn)練編寫程序的能力;4設(shè)計(jì)并完成基于內(nèi)容的短信攔截功能;5深入分析短信攔截系統(tǒng)的關(guān)鍵技術(shù)與編寫語言;6訓(xùn)練檢索文獻(xiàn)資料和利用文獻(xiàn)資料的能力;7訓(xùn)練撰寫技術(shù)文檔與學(xué)位論文的能力。畢業(yè)設(shè)計(jì)(論文)主要內(nèi)容1綜述短信息發(fā)展及前景;2了解短信攔截系統(tǒng)的相關(guān)技術(shù);3熟悉基于ANDROID短信攔截系統(tǒng)的開發(fā)環(huán)境;4設(shè)計(jì)并完成基于內(nèi)容的短信攔截功能;5深入分析短信攔截系統(tǒng)的關(guān)鍵技術(shù)與編寫語言JAVA;6熟練掌握ECLIPSE的使用;7設(shè)計(jì)與實(shí)現(xiàn)基于ANDROID的短信攔截系統(tǒng)。學(xué)生應(yīng)交出的設(shè)計(jì)文件(論文)1內(nèi)容完整、層次清晰、敘述流暢、排版規(guī)范的畢業(yè)設(shè)計(jì)論文;所在院系軟件工程學(xué)院專業(yè)班級(jí)軟件工程1107班完成日期2015年5月18日2包括畢業(yè)設(shè)計(jì)論文、源程序等內(nèi)容在內(nèi)的畢業(yè)設(shè)計(jì)電子文檔及其它相關(guān)材料。主要參考文獻(xiàn)(資料)1胡成杰,靳新春3G網(wǎng)絡(luò)時(shí)代下的短信發(fā)展前景J科技傳播,20112黃日生淺議垃圾短信之規(guī)制J每周電腦報(bào)20053黃良友垃圾短信治理對(duì)策研究J重慶郵電大學(xué)學(xué)報(bào)社會(huì)科學(xué)版20104宋仁博,許開明,王海峻,孫大偉多舉措防治垃圾短信J電信工程技術(shù)與標(biāo)準(zhǔn)化20095徐英慧,劉梅彥基于內(nèi)容的手機(jī)端垃圾短信過濾策略研究J北京信息科技大學(xué)學(xué)報(bào)自然科學(xué)版20136張燕,傅建明垃圾短信的識(shí)別與追蹤研究J計(jì)算機(jī)應(yīng)用研究20067吳振奎,婁濤,田剛,賴曉龍,喬蕓垃圾短信攔截技術(shù)研究J電信工程技術(shù)與標(biāo)準(zhǔn)化20118ACKER,AMELIATHESHORTMESSAGESERVICESTANDATDS,INFRASTRUREANDINNOVATIONTELEMATICSANDINFORMATICS20149ZHOU,SHUMINTHEDEVELOPMENTOFSHORTMESSAGEPLATFORMBASEDONCMPPINTERNATIONALCOFERENCEONCOMMUNICATIONTECHOLOGYPROCEEDINGS200610PEERSMAN,GTUTORIALOVERVIEWOFTHESHORTMESSAGESERVICEWITHINGSMCOMPUTINGANDCONTROLENGINEERING2000專業(yè)班級(jí)軟件1107班學(xué)生要求設(shè)計(jì)(論文)工作起止日期2015年3月23日2015年7月3日指導(dǎo)教師簽字日期2015年3月23日教研室主任審查簽字日期系主任批準(zhǔn)簽字日期基于ANDROID的短息攔截系統(tǒng)的實(shí)現(xiàn)摘要隨著我國移動(dòng)通信業(yè)務(wù)的發(fā)展,人們之間的交流越加方便。其中手機(jī)短信業(yè)務(wù)因價(jià)格便宜、方便快捷,贏得了廣大手機(jī)用戶的青睞,即使微信等APP的出現(xiàn)也依舊沒能替代它的存在。但手機(jī)短信服務(wù)的廣泛使用,隨之而來“垃圾短信”問題也愈演愈烈,稱為一大社會(huì)公害。垃圾短信泛濫,已經(jīng)干擾到人們的正常生活和市場(chǎng)的正常運(yùn)行。而ANDROID作為手機(jī)平臺(tái)的一個(gè)主流操作系統(tǒng)面臨著巨大的市場(chǎng),基于ANDROID的短信攔截系統(tǒng)的出現(xiàn)也是必然趨勢(shì)。垃圾短信的有效治理事關(guān)短信服務(wù)業(yè)的健康發(fā)展和移動(dòng)運(yùn)營商的社會(huì)形象,是形成消費(fèi)者信任感的關(guān)鍵與保證,短信作為一種日益重要的創(chuàng)博媒介直接影響到社會(huì)誠信體系的建立,對(duì)維護(hù)人們的通信自由,生活安寧以及社會(huì)善良風(fēng)俗有著重要意義。關(guān)鍵詞移動(dòng)通信;傳播媒介;垃圾短信;短信攔截BASEONTHEREALIZATIONOFTHEANDROIDSSMSINTERCEPTIONSYSTEMABSTRACTWITHTHEDEVELOPMENTOFCHINASMOBILECOMMUNICATIONSBUSINESS,THECOMMUNICATIONBETWEENPEOPLEMORECONVENIENTTHESMSBUSINESSWONTHEMAJORITYOFMOBILEPHONEUSERSBECAUSEOFTHEPRICEISCHEAP,CONVENIENTANDQUICK,EVENTHEAPPEARANCEOFTHEAPPSUCHASMICROLETTERALSOSTILLCANTREPLACEITBUTTHEWIDESPREADUSEOFMOBILEPHONESMS,THEN“SPAM“PROBLEMALSOINTENSIFIED,REFERREDTOASAPUBLICNUISANCESPAMMESSAGES,HAVEINTERFEREWITHPEOPLESNORMALLIFEANDNORMALOPERATIONOFTHEMARKETBUTTHEANDROIDMOBILEPLATFORMAMAINSTREAMOPERATINGSYSTEMISFACINGTHEHUGEMARKET,BASEDONTHEANDROIDMESSAGEINTERCEPTIONSYSTEMISINEVITABLETRENDTHEEFFECTIVEGOVERNANCEOFTHESPAMMESSAGESABOUTTHEHEALTHYDEVELOPMENTOFTHESMSSERVICESANDTHEOPERATORSSOCIALIMAGE,ISTHEKEYTOTHEFORMATIONOFCONSUMERTRUSTANDASSURANCE,SMSASANINCREASINGLYIMPORTANTMEDIUMDIRECTLYAFFECTTHEESTABLISHMENTOFSOCIALCREDITSYSTEM,TOMAINTAINTHECOMMUNICATIONOFPEOPLEFREE,PEACEFULLIFEANDSOCIALGOODCUSTOMSHASIMPORTANTSIGNIFICANCEKEYWORDSTHEMOBILECOMMUNICATIONMEDIASPAMMESSAGESSMSBLOCKING目錄1緒論811研究內(nèi)容812研究意義8121垃圾短信的界定8122垃圾短信的類型8123垃圾短信的危害8124具體原因9125解決方法913研究現(xiàn)狀和發(fā)展趨勢(shì)102系統(tǒng)分析1221研究目標(biāo)1222需求分析1223性能分析1224靈活性分析123ANDROID開發(fā)環(huán)境1331ANDROID介紹13311ANDROID系統(tǒng)框架13312SDK提供的工具介紹1932ANDROID開發(fā)現(xiàn)狀2033ANDROID的特點(diǎn)2134ANDROID開發(fā)環(huán)境搭建224程序設(shè)計(jì)2541用戶界面設(shè)計(jì)2542數(shù)據(jù)庫設(shè)計(jì)2543程序模塊設(shè)計(jì)265程序開發(fā)2851文件結(jié)構(gòu)與用途2852廣播29521什么是廣播29522廣播有什么用30523廣播發(fā)送者閱讀垃圾短信會(huì)浪費(fèi)用戶時(shí)間,即使是刪除垃圾短信也會(huì)浪費(fèi)時(shí)間,打擾正常的工作和生活用戶接收到一些色情、謠言、恐怖信息等也會(huì)給個(gè)人情緒帶來困擾和影響。擾亂社會(huì)秩序不同類型的垃圾短信會(huì)擾亂不同的社會(huì)秩序,危害國家安全、顛覆國家政權(quán)和民族團(tuán)結(jié)的違法性垃圾短信會(huì)影響社會(huì)的安定與和諧,不利于社會(huì)的穩(wěn)定發(fā)展色情、謠言等垃圾信息對(duì)社會(huì)文化秩序帶來影響,破壞社會(huì)風(fēng)氣和社會(huì)道德商業(yè)廣告類垃圾短信會(huì)擾亂社會(huì)經(jīng)濟(jì)秩序,可能造成不正當(dāng)競爭或者侵犯消費(fèi)者權(quán)益。因此,垃圾短信會(huì)嚴(yán)重?cái)_亂社會(huì)秩序,對(duì)政治、經(jīng)濟(jì)、文化秩序均有消極影響。侵犯用戶合法權(quán)利垃圾短信在其性質(zhì)上本身就侵犯了公民的憲法等權(quán)利,泄露用戶手機(jī)號(hào)碼等信息侵犯了公民的隱私權(quán)以及個(gè)人信息保護(hù)權(quán)未經(jīng)用戶同意發(fā)送用戶不愿接受的信息侵犯了用戶的通信自由權(quán)以及手機(jī)消費(fèi)者接受信息服務(wù)的公平交易和選擇權(quán)垃圾短信干擾用戶正常生活,也侵犯了公民的生活安寧權(quán)。詐騙類的違法性垃圾短信對(duì)公民的財(cái)產(chǎn)權(quán)面對(duì)巨大的風(fēng)險(xiǎn)和威脅。而另外一些謠言、誹謗、恐嚇等垃圾短信也侵犯了用戶的人格權(quán)等人身權(quán)利。124具體原因第一,某些趣味低下的人傳播黃色短信以取悅他人;第二,一些不法分子利用短信詐取錢財(cái);第三,一些人利令智昏,輕易相信各種“天上掉餡餅”的好事;第四,在特定環(huán)境中,人們?nèi)菀茁犘趴昭▉盹L(fēng)的謠言;第五,更重要的原因是中國有關(guān)信息安全方面的立法不到位,相關(guān)部門的監(jiān)管機(jī)制不健全,社會(huì)主義道德觀沒有真正確立。125解決方法國家方面從國家方面來看,法律法規(guī)必不可少。2014年11月3日,工信部發(fā)布通信短信息服務(wù)管理規(guī)定(征求意見稿)。如果這一法規(guī)最終正式發(fā)布,消費(fèi)者對(duì)抗垃圾短信、政府部門監(jiān)管垃圾短信將有法律依據(jù)。個(gè)人方面從個(gè)人而言,我們也要學(xué)會(huì)自我保護(hù),因此短信攔截系統(tǒng)應(yīng)運(yùn)而出。ANDROID平臺(tái)短信攔截系統(tǒng),讓廣大ANDROID用戶免受垃圾短信的騷擾,為人民提供更好的生活環(huán)境。13研究現(xiàn)狀和發(fā)展趨勢(shì)相對(duì)于傳統(tǒng)的媒體,手機(jī)短信息具有以下特點(diǎn)短信收視率高手機(jī)用戶收到短信后都會(huì)去查閱,只有查看到短信息后,短信息才會(huì)消除,所以可以達(dá)到95以上甚至100的查看率,這是其他任何媒體都無法達(dá)到的。短信發(fā)布對(duì)象的含金量高手機(jī)用戶群體相對(duì)非手機(jī)用戶來說是有一定收入的群體,具有一定的消費(fèi)能力。短信發(fā)布快速傳統(tǒng)的媒體需要制作、排版及編輯,而且只能在固定的時(shí)間發(fā)布,受到時(shí)空的限制。而手機(jī)短信則可以隨時(shí)發(fā)布,速度快,手機(jī)用戶在全國各地都可以收到,遇有短評(píng)快或緊急的宣傳活動(dòng),手機(jī)短信非常適合。短信成本發(fā)布低電視、報(bào)紙及戶外等媒體,成本較高,而短信成本較低,在相同的廣告宣傳費(fèi)用下,手機(jī)短信的受眾用戶要比傳統(tǒng)媒體的受眾用戶要多出數(shù)倍。短信形式新穎短信與其他傳統(tǒng)媒體不同,它是一種基于現(xiàn)代移動(dòng)通訊的新型的媒體。由于手機(jī)是用戶隨身攜帶的個(gè)人通信工具,用戶可以在任何場(chǎng)所包括在出差旅途中輕松地接收信息,更容易被用戶接受,有更好的廣告效果,短信息相對(duì)語音通訊是一種非語音通訊方式,就像打電話推銷保險(xiǎn),所以不會(huì)引起法律糾紛。因此使用短信做廣告的越來越多。當(dāng)前,手機(jī)已經(jīng)成為日常生活必備工具,但因其帶來的騷擾問題也日趨嚴(yán)重。近日,360互聯(lián)網(wǎng)安全中心發(fā)布2014年二季度手機(jī)安全狀況報(bào)告,報(bào)告中指出,今年二季度360手機(jī)衛(wèi)士共為全國用戶攔截各類垃圾短信1768億條,平均每天攔截垃圾短信194億條;而從用戶舉報(bào)各類垃圾短信的內(nèi)容看,廣告推銷、地產(chǎn)、促銷占據(jù)了垃圾短信絕大部分。據(jù)了解,一季度垃圾短信攔截量為2088億條,相比之下二季度垃圾短信攔截量1768億條有明顯下降趨勢(shì),這很可能與今年工信部、電信運(yùn)營商加大力度整治垃圾短信有關(guān)。但報(bào)告顯示垃圾短信每天被攔截量為194億條的數(shù)值仍不容樂觀。從用戶舉報(bào)垃圾短信情況看,今年二季度,舉報(bào)各類垃圾短信5824萬條,平均每天舉報(bào)垃圾短信64萬條。通過舉報(bào)垃圾短信的內(nèi)容,廣告類垃圾短信依舊最多占比高達(dá)776;其次為違法信息、詐騙信息的垃圾短信,占比分別為121和46。而廣告類垃圾短信中,廣告推銷、地產(chǎn)廣告以及商家促銷占據(jù)了廣告類垃圾短信類別的前三位。據(jù)了解,為加快垃圾短信整治辦法,工信部目前正抓緊制定通信短信息服務(wù)管理規(guī)定及8項(xiàng)反垃圾短信技術(shù)標(biāo)準(zhǔn),以規(guī)范短信息服務(wù),特別是針對(duì)商業(yè)性短信的發(fā)送行為,將明確對(duì)違背用戶意愿濫發(fā)短信等違規(guī)行業(yè)的處罰措施,預(yù)計(jì)該項(xiàng)規(guī)定最快有望年內(nèi)出臺(tái)。而目前,部分商家也已做出努力,如用戶在收到該類商家的產(chǎn)品促銷、廣告短信時(shí),這類短信末端會(huì)注明“回復(fù)TD,退訂此業(yè)務(wù)”,從源頭避免了對(duì)用戶造成的打擾。此外,用戶也可使用防騷擾類軟件對(duì)垃圾短信實(shí)行攔截,這也是目前攔截垃圾短信最有效、最快捷的方式。通過智能識(shí)別、攔截、用戶舉報(bào)等防騷擾功能,全面抵制當(dāng)前垃圾短信給人們帶來的困擾。短信業(yè)務(wù)正以其短小、迅速、簡便、價(jià)格低廉等諸多優(yōu)點(diǎn)日益成為人們的一種重要通信和交流方式。移動(dòng)短信業(yè)務(wù)在飛速發(fā)展的過程中,一方而給廣大使用者帶來了各種方便和幫助另一方而也出現(xiàn)了諸多的問題,如垃圾短信的泛濫、短信詐騙、短信病毒、短信謠言等。我們可以把這些問題統(tǒng)一歸類到垃圾短信。據(jù)不完全統(tǒng)計(jì),去年全國垃圾短信總量約2000億條,垃圾短信的“產(chǎn)地”在全國呈現(xiàn)東高西低的趨勢(shì),廣東省所產(chǎn)短信最多,占21。而受騷擾最嚴(yán)重的是北京的手機(jī)用戶,平均每天會(huì)收到222條垃圾短信;其次是河南、吉林、江西、上海、天津等地用戶,平均每天會(huì)收到2條以上的垃圾短信。在內(nèi)容方面,65為廣告促銷內(nèi)容,15為房地產(chǎn)廣告,詐騙短信為樣本總量4。參照垃圾郵件的定義,一條短信是否是垃圾短信,只根據(jù)其內(nèi)容對(duì)短信接收者而言無任何價(jià)值進(jìn)行判斷,這類短信只會(huì)消耗接收者的時(shí)間、侵占手機(jī)的存儲(chǔ)空間。因此,短信攔截系統(tǒng)的出現(xiàn)是必然的趨勢(shì)。2系統(tǒng)分析21研究目標(biāo)熟悉基于ANDROID應(yīng)用程序的開發(fā)設(shè)計(jì)熟悉ANDROID的各種組件,并使用它們進(jìn)行開發(fā)。熟悉SQLITE數(shù)據(jù)庫的使用,應(yīng)用其在短信攔截系統(tǒng)中。22需求分析本軟件是基于ANDROID的應(yīng)用程序,開啟之后可以查看已經(jīng)攔截到的短信,它們都保存在數(shù)據(jù)庫中,而且可以對(duì)它們進(jìn)行操作(刪除),也可以對(duì)該軟件進(jìn)行設(shè)置,包括關(guān)鍵字設(shè)置,黑名單設(shè)置,白名單設(shè)置等。因此其功能需求有主界面查看當(dāng)前軟件運(yùn)行狀態(tài);短信攔截界面可以查看當(dāng)前已經(jīng)攔截到的短信,并可點(diǎn)擊查看具體信息;詳細(xì)短信查看界面可以通過短信攔截界面點(diǎn)擊進(jìn)入,查看當(dāng)前短信的具體信息;設(shè)置界面可以對(duì)軟件攔截的要求進(jìn)行設(shè)置,包括關(guān)鍵字,黑名單,白名單設(shè)置等;關(guān)于界面可以查看有關(guān)該軟件的具體信息,作者,版本等。23性能分析程序響應(yīng)迅速、處理速度快、安全性能高。24靈活性分析該軟件基于ANDROID平臺(tái),兼容ANDROID40以上各個(gè)版本。3ANDROID開發(fā)環(huán)境31ANDROID介紹ANDROID是一種基于LINUX的自由及開放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由GOOGLE公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。尚未有統(tǒng)一中文名稱,中國大陸地區(qū)較多人使用“安卓”或“安致”。ANDROID操作系統(tǒng)最初由ANDYRUBIN開發(fā),主要支持手機(jī)。2005年8月由GOOGLE收購注資。2007年11月,GOOGLE與84家硬件制造商、軟件開發(fā)商及電信營運(yùn)商組建開放手機(jī)聯(lián)盟共同研發(fā)改良ANDROID系統(tǒng)。隨后GOOGLE以APACHE開源許可證的授權(quán)方式,發(fā)布了ANDROID的源代碼。第一部ANDROID智能手機(jī)發(fā)布于2008年10月。ANDROID逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上,如電視、數(shù)碼相機(jī)、游戲機(jī)等。2011年第一季度,ANDROID在全球的市場(chǎng)份額首次超過塞班系統(tǒng),躍居全球第一。2013年的第四季度,ANDROID平臺(tái)手機(jī)的全球市場(chǎng)份額已經(jīng)達(dá)到781。2013年09月24日谷歌開發(fā)的操作系統(tǒng)ANDROID在迎來了5歲生日,全世界采用這款系統(tǒng)的設(shè)備數(shù)量已經(jīng)達(dá)到10億臺(tái)。311ANDROID系統(tǒng)框架ANDROID系統(tǒng)是基于LINUX和JAVA技術(shù),它在底層采用LINUX內(nèi)核和本地庫,在上層提供JAVA支持框架和開發(fā)接口。它借助于LINUX強(qiáng)大的穩(wěn)定性、開放性和可移植性,JAVA語言開發(fā)的廣泛性、簡單性和可移植性,一經(jīng)推出就受動(dòng)廣泛關(guān)注和歡迎,在嵌入式開發(fā)中產(chǎn)生比較深遠(yuǎn)的影響??紤]到性能的問題,GOOGLE沒有采用SUN的基于堆棧的虛擬機(jī),而是開發(fā)了一個(gè)基于寄存器的ANDROID虛擬機(jī)DALVIK虛擬機(jī)。當(dāng)然ANDROID系統(tǒng)提供了一個(gè)工具用來把JAVA虛擬機(jī)格式轉(zhuǎn)換為DALEIK虛擬機(jī)格式。不過ANDROID僅支持有限的JAVA運(yùn)行庫,因此不是所有的JAVA程序都可以在ANDROID里直接編譯運(yùn)行。當(dāng)然任何一個(gè)系統(tǒng)都有其固有個(gè)缺點(diǎn),而且它就隱藏在它的優(yōu)點(diǎn)之中,ANDROID也不例外。首先ANDROID系統(tǒng)的開放性導(dǎo)致任何廠家都可以修改定制而推出自己的ANDROID系統(tǒng),這就導(dǎo)致了盡管設(shè)備運(yùn)行的系統(tǒng)都是ANDROID,但運(yùn)行的程序就或多或少不兼容,這對(duì)第三方程序開發(fā)員人來說不是個(gè)好消息,標(biāo)準(zhǔn)的不統(tǒng)一勢(shì)必會(huì)影響的ANDROID程序的開發(fā)使用。其次,盡管ANDROID系統(tǒng)是基于LINUX和JAVA的,但由于它開發(fā)了一套獨(dú)立的UI系統(tǒng),它完全不兼容現(xiàn)有的LINUX和JAVA應(yīng)用程序,這不僅是浪費(fèi)了現(xiàn)有的開發(fā)資源,而且是極大的浪費(fèi)了未來的開發(fā)資源。不管ANDROID社區(qū)有多大,比起LINUX開源社區(qū)來說,它也是大海中的一點(diǎn)水,這是否會(huì)給對(duì)手以機(jī)會(huì)呢如INTEL的MOBLIN系統(tǒng)、NOKIA的MAEMO系統(tǒng)以及UBUNTU的上網(wǎng)本系統(tǒng),還有最新的由INTEL和NOKIA聯(lián)合開發(fā)的MEEGO系統(tǒng)?;氐紸NDROID系統(tǒng)本身,如圖11,它主要包括五個(gè)部分,分別是LINUX內(nèi)核(紅色部分)、本地庫(綠色部分)、DALVIK虛擬機(jī)(黃色部分)、應(yīng)用程序框架和應(yīng)用程序(藍(lán)色部分)。ANDROIDLINUX內(nèi)核最初的ANDROID內(nèi)核是基于2625的,但由于采用的同樣的版本管理系統(tǒng),ANDROID內(nèi)核緊跟LINUX內(nèi)核的進(jìn)度,目前最新的開發(fā)版本是2631,但版本其實(shí)已經(jīng)不重要了,你只要記住ANDROID內(nèi)核基本上同步于LINUX內(nèi)核就可以了,在此基礎(chǔ)上ANDROID對(duì)LINUX內(nèi)核做了些修改和功能添加使之ANDROID化,如著名的BINDER、匿名共享內(nèi)存(ASHMEM)等。目前在ANDROID的源代碼倉庫中有4個(gè)關(guān)于LINUX的項(xiàng)目,他們分別是KERNEL/COMMONGITCOMMONANDROIDKERNELTREEKERNEL/EXPERIMENTALGITEXPERIMENTALKERNELPROJECTSKERNEL/MSMGITKERNELTREEFORMSM7XXXFAMILYONANDROIDKERNEL/OMAPGITKERNELTREEFOROMAPFAMILYONANDROID本地庫說到本地庫,首先我們想到的一定是LIBC庫。是的,ANDROID也不例外,他支持C庫,但不是GLIBC或其他常見的小型倉庫,比如UCLIBC,而是一個(gè)額稱為BIONIC的C庫。盡管它不是很強(qiáng)大,但足夠用了。按照GOOGLE的說法,選擇BIONIC的原因是因?yàn)楸M量移除GPLLICENSE的模塊更小的代碼密度和更快的運(yùn)行速度但BIONICC庫也有它的局限性首先,不完全支持POSIX標(biāo)準(zhǔn);其次,不支持LIBM和LIBTHREAD_DB;第三,不能使用標(biāo)準(zhǔn)的TOOLCHAIN來編譯ANDROID本地應(yīng)用。ANDROID的編譯鏈也是依賴于BIONIC庫的,它的動(dòng)態(tài)鏈接庫加載使用的是LINKER,而不是LDSO。它的PRELINK使用的是APRIORIBUILD/TOOLS/APRIORI,STRIP工具使用的是SOSLIM(BUILD/TOOLS/SOSLIM)而不是STRIP。ANDROID的本地庫基本上位于源代碼樹的EXTERNAL和SYSTEM目錄下。DALVIK虛擬機(jī)DALVIK是GOOGLEANDROID平臺(tái)最重要的一個(gè)部分,是GOOGLE專門為ANDROID開發(fā)的JAVA虛擬機(jī),被稱為DALVIK虛擬機(jī)。按照GOOGLE的說法,DALVIK具有高效、簡潔、節(jié)省資源的特點(diǎn),非常適合資源有限的嵌入式系統(tǒng)。DALVIK是按照APACHELICENSEV2方式發(fā)布的,GOOGLE盡量把GPLLICNSE的軟件移除ANDROID系統(tǒng)。這就避免了非免費(fèi)的JAVAME版權(quán)問題,也移除了GPLV2的JAVASE。以前也有些公司搞過LINUX/JAVA平臺(tái),即底層支持LINUX系統(tǒng)、上層采用JAVA技術(shù),但都因?yàn)樾实膯栴}而放棄。GOOGLE的DALVIK虛擬機(jī)很好的解決了這個(gè)問題,同其他的JAVA虛擬機(jī)相比,DALVIK虛擬機(jī)有如下特點(diǎn)DALVIK虛擬機(jī)采用了基于寄存器的虛擬機(jī)技術(shù)。與JAVA虛擬機(jī)不同,DALVIK采用了基于寄存器(REGISTERBASED)的技術(shù),而不是基于堆棧(STACKBASED)的技術(shù)。我們不去爭論基于寄存器的虛擬機(jī)是不是更好,如果有興趣,你可以去比較他們的性能差異。DALVIK虛擬機(jī)使用自定義的字節(jié)碼格式(稱為DEX文件,DEX),不兼容現(xiàn)有JAVA字節(jié)碼格式。ANDROID里的DX工具負(fù)責(zé)把JAVA字節(jié)碼轉(zhuǎn)換成DALVIK字節(jié)碼。DALVIK虛擬機(jī)運(yùn)行效率高,同事代碼密度小,節(jié)省資源。DALVIK虛擬機(jī)常量池只使用32位的索引。DALVIK虛擬機(jī)不支持JIT編譯技術(shù)(JUSTINTIMECOMPILER)。對(duì)于ANDROID應(yīng)用程序開發(fā)者來說,我們必須清楚如何在ANDROIDDALVIK虛擬機(jī)上使用內(nèi)存,下面是內(nèi)存使用上的一些限制DALVIK默認(rèn)的棧大小是12K3個(gè)頁,每個(gè)頁4K。DALVIK堆(HEAP)默認(rèn)啟動(dòng)大小2M,默認(rèn)最大值16M。DALVIK堆(HEAP)支持的最小啟動(dòng)大小1M,支持的最大值1024M。DALVIK的堆和棧參數(shù)可以通過XMS和XMX更改。對(duì)于ANDROID的JAVA應(yīng)用程序來說,每一個(gè)應(yīng)用對(duì)對(duì)應(yīng)于一個(gè)獨(dú)立的DALVIK虛擬機(jī)實(shí)例進(jìn)程,當(dāng)然每個(gè)ANDROIDJAVA應(yīng)用程序的線程也對(duì)應(yīng)于一個(gè)LINUX線程。這相當(dāng)于每個(gè)ANDROIDDALVIK應(yīng)用程序都運(yùn)行在自己的沙盒里面從而保證DALVIK應(yīng)用程序的安全性。當(dāng)然ANDROID系統(tǒng)也充分利用了這個(gè)特性,每個(gè)ANDROIDDALVIK應(yīng)用程序都被賦予了一個(gè)獨(dú)立的LINUXPID(APP_)。應(yīng)用程序框架ANDROID應(yīng)用程序框架完全使用JAVA語言編寫,運(yùn)行在ANDROIDDALVIK虛擬機(jī)之上,它通過JAVAJNI接口調(diào)用本地庫的接口。ANDROID應(yīng)用程序框架向下封裝了系統(tǒng)的各種系統(tǒng)服務(wù)及硬件的訪問接口,向上提供統(tǒng)一的應(yīng)用程序開發(fā)接口,即ANDROIDAPI。ANDROID應(yīng)用程序通過調(diào)用ANDROID應(yīng)用程序框架接口來實(shí)現(xiàn)各種功能。ANDROID應(yīng)用程序框架封裝了大部分的系統(tǒng)服務(wù)功能,它們包括ACTIVITYMANAGERWINDOWSMANAGERCONTENTPROVIDERVIEWSYSTEMRESOURCEMANAGERNOTIFICATIONMANAGERPACKETMANAGERTELEPHONYMANAGERLOCATIONMANAGER對(duì)于ANDROID開發(fā)者來說,ANDROID應(yīng)用程序框架是最重要的一部分,只有真正理解了這個(gè)框架說包含的內(nèi)容,才能寫出高效的ANDROID應(yīng)用程序。應(yīng)用程序ANDROID是一個(gè)功能完全的移動(dòng)設(shè)備操作系統(tǒng),它自帶了核心應(yīng)用程序,這樣你就不需要額外的開發(fā)而直接在你的設(shè)備上使用ANDROID系統(tǒng)了,這些應(yīng)用程序開起來中規(guī)中矩,如果你想要一個(gè)更加絢麗的操作界面,你可以修改他們來實(shí)現(xiàn)自己的應(yīng)用程序。很明顯,ANDROID應(yīng)用程序都是用JAVA語言開發(fā)的,它依賴于ANDROID應(yīng)用框架(FRAMEWORKJAR),同時(shí)運(yùn)行在ANDROIDDALVIK虛擬機(jī)之上。ANDROID的系統(tǒng)架構(gòu)和其它操作系統(tǒng)一樣,采用了分層的架構(gòu)。ANDROID分為四個(gè)層,從高層到低層分別是應(yīng)用程序?qū)印?yīng)用程序框架層、系統(tǒng)運(yùn)行庫層和LINUX核心層。ANDROID是以LINUX為核心的手機(jī)操作平臺(tái),作為一款開放式的操作系統(tǒng),隨著ANDROID的快速發(fā)展,如今已允許開發(fā)者使用多種編程語言來開發(fā)ANDROID應(yīng)用程序,而不再是以前只能使用JAVA開發(fā)ANDROID應(yīng)用程序的單一局面,因而受到眾多開發(fā)者的歡迎,成為真正意義上的開放式操作系統(tǒng)。在ANDROID中,開發(fā)者可以使用JAVA作為編程語言來開發(fā)應(yīng)用程序,也可以通過NDK使用C/C作為編程語言來開發(fā)應(yīng)用程序,也可使用SL4A來使用其他各種腳本語言進(jìn)行編程(如PYTHON、LUA、TCL、PHP等等),還有其他諸如QT(QTFORANDROID)、MONO(MONOFORANDROID)等一些著名編程框架也開始支持ANDROID編程,甚至通過MONODROID,開發(fā)者還可以使用C作為編程語言來開發(fā)應(yīng)用程序。另外,谷歌還在2009年特別發(fā)布了針對(duì)初學(xué)者的ANDROIDSIMPLE語言,該語言類似BASIC語言。而在網(wǎng)頁編程語言方面,JAVASCRIPT,AJAX,HTML5,JQUERY、SENCHA、DOJO、MOBL、PHONEGAP等等都已經(jīng)支持ANDROID開發(fā)。而在ANDROID系統(tǒng)底層方面,ANDROID使用C/C作為開發(fā)語言。應(yīng)用程序早期的ANDROID應(yīng)用程序開發(fā),通常通過ANDROIDSDK(ANDROID軟件開發(fā)包)下使用JAVA作為編程語言來開發(fā)應(yīng)用程序,但通過不同的軟件開發(fā)包,則使用的編程語言也不同。例如開發(fā)者可以通過ANDROIDNDK(ANDROIDNATIVE開發(fā)包)使用C語言或者C語言來作為編程語言開發(fā)應(yīng)用程序。同時(shí)谷歌還推出了適合初學(xué)者編程使用的SIMPLE語言,該語言類似微軟公司的VISUALBASIC語言。此外,谷歌公司還推出了GOOGLEAPPINVENTOR開發(fā)工具,該開發(fā)工具可以快速地構(gòu)建應(yīng)用程序,方便新手開發(fā)者。開發(fā)人員可以使用和核心應(yīng)用程序使用的完全相同的API框架。應(yīng)用程序架構(gòu)的設(shè)計(jì)的目的是為了簡化組件的重用;任何應(yīng)用程序都可以發(fā)布它的功能,其他的應(yīng)用程序可能會(huì)利用到這些功能(需遵守框架提供的安全約束)。依靠同樣的機(jī)制,組件可以被用戶所取代。底層的所有的應(yīng)用程序是一組服務(wù)和子系統(tǒng),包括一組豐富并且可擴(kuò)展的VIEW,這組VIEW可以被用來構(gòu)建一個(gè)應(yīng)用程序,包括列表,表格,文本框,按鈕,甚至可嵌入的WEB瀏覽器一組CONTENTPROVIDER,可以使應(yīng)用程序訪問其它應(yīng)用程序的數(shù)據(jù)比如通訊錄,或者共享自己的數(shù)據(jù)。一個(gè)資源管理器,提供對(duì)非代碼資源的訪問,比如本地化的字符串,圖形和布局文件一個(gè)通知管理,可以使所有的應(yīng)用程序在狀態(tài)欄顯示定制的提醒一個(gè)ACTIVITY管理,它管理的應(yīng)用程序的生命周期,并且提供了一個(gè)通用的后臺(tái)切換棧庫ANDROID包括了一套C/C庫,這套庫被ANDROID系統(tǒng)的各個(gè)組件使用。這些能力通過ANDROID應(yīng)用框架展示給應(yīng)用開發(fā)人員。一些核心庫的如下系統(tǒng)C庫一個(gè)針對(duì)于標(biāo)準(zhǔn)C系統(tǒng)庫LIBC的BSD派生的實(shí)現(xiàn),針對(duì)于嵌入式LINUX設(shè)備進(jìn)行了調(diào)整媒體庫基于PACKETVIDEO的的OPENCORE;該庫支持回放和錄制許多流行的音頻和視頻格式,以及靜態(tài)圖像文件,包括MPEG4,H264,MP3,AAC,AMR,JPG和PNG格式SURFACE管理器管理訪問顯示子系統(tǒng)和從多個(gè)程序中無縫合成二維和三維圖形層LIBWEBCORE一個(gè)流行的WEB瀏覽器引擎,它對(duì)ANDROID瀏覽器和嵌入式WEB視圖具有良好的支持SGL底層的2D圖形引擎3D庫基于OPENGLES10API的一個(gè)實(shí)現(xiàn);該庫使用硬件3D加速(如果可用)或包含高度優(yōu)化的3D軟件光柵掃描器FREETYPE用于位圖和矢量字體渲染SQLITE一個(gè)提供給所有的應(yīng)用程序使用的強(qiáng)大的,并且輕量級(jí)的關(guān)系型數(shù)據(jù)庫引擎ANDROID的運(yùn)行ANDROID包括一組核心庫,這組核心庫提供了用于JAVA編程語言的核心庫可用的大多數(shù)功能。每個(gè)ANDROID應(yīng)用都運(yùn)行在它自己的進(jìn)程里,并依附一個(gè)單獨(dú)的DALVIK虛擬機(jī)實(shí)例。一個(gè)設(shè)備可以高效地運(yùn)行多個(gè)DALVIK虛擬機(jī)。DALVIK虛擬機(jī)執(zhí)行DALVIK可執(zhí)行文件(DEX)的格式,此格式做了最小的內(nèi)存占用優(yōu)化。DALVIK虛擬機(jī)是基于寄存器的,并運(yùn)行由DX工具將JAVA語言編譯器編譯完的CLASS文件轉(zhuǎn)換為的DEX格式文件。DALVIK虛擬機(jī)的底層功能依賴LINUX內(nèi)核,例如線程和底層的內(nèi)存管理。LINUX內(nèi)核ANDROID的核心系統(tǒng)服務(wù),比如安全,內(nèi)存管理,進(jìn)程管理,網(wǎng)絡(luò)協(xié)議棧和驅(qū)動(dòng)模塊都是依賴于LINUX26。內(nèi)核也作為在硬件和軟件棧之間的抽象層。312SDK提供的工具介紹ANDROIDSDK包含各種各樣的定制工具,其中最重要的工具是ANDROID模擬器和ECLIPSE的ANDROID開發(fā)工具插件(ADT)。1ANDROID模擬器(ANDROIDEMULATOREMULATOREXE)2集成開發(fā)環(huán)境插件(ANDROIDDEVELOPMENTTOOLSPLUGINFORTHEECLIPSEIDE,ADT)可以從ECLIPSE集成開發(fā)環(huán)境內(nèi)部訪問別的ANDROID開發(fā)工具。通過它可以進(jìn)行包括截屏、管理端口轉(zhuǎn)發(fā)(PORTFORWARDING)、設(shè)置斷點(diǎn)、查看線程和進(jìn)程信息的一系列操作它提供一個(gè)新的項(xiàng)目向?qū)?,用于快速?chuàng)建一個(gè)新的ANDROID應(yīng)用需要的所有基本文件它使構(gòu)件ANDROID應(yīng)用的過程自動(dòng)化和簡單化它提供一個(gè)ANDROID代碼編輯器,用于為ANDROID的MANIFEST和資源文件編寫有效的XML。3調(diào)試監(jiān)視服務(wù)(DALVIKDEBUGMONITORSERVICEDDMSBAT)它集成在DALVIK(ANDROID平臺(tái)的虛擬機(jī))中,用于管理運(yùn)行在模擬器或者設(shè)備上的進(jìn)程,并協(xié)助進(jìn)行調(diào)試??梢杂盟鼇砣コM(jìn)程、選擇一個(gè)特定進(jìn)程來調(diào)試、生成跟蹤數(shù)據(jù)、查看堆和線程數(shù)據(jù)、對(duì)模擬器和設(shè)備進(jìn)行屏幕快照等。4ANDROID調(diào)試橋(ANDROIDDEBUGBRIDGEADBEXE)它用于向模擬器或手機(jī)設(shè)備安裝應(yīng)用程序的APK文件和從命令行訪問模擬器或手機(jī)設(shè)備。也可以用于將標(biāo)準(zhǔn)的調(diào)試器連接到運(yùn)行在ANDROID模擬器或手機(jī)設(shè)備上的應(yīng)用代碼,5ANDROID資源打包工具(ANDROIDASSETPACKAGINGTOOLAAPTEXE)可以通過AAPT工具來創(chuàng)建APK文件,這些文件包含了ANDROID應(yīng)用程序的二進(jìn)制文件和資源文件。6ANDROID接口描述語言(ANDROIDINTERFACEDESCRIPTIONLANGUAGEAIDLEXE)它用來生成進(jìn)程間接口代碼,例如,在一個(gè)服務(wù)中可能就會(huì)用到。7SQLITE3數(shù)據(jù)庫(SQLITE3SQLITE3EXE)ANDROID應(yīng)用程序可以創(chuàng)建和使用SQLITE數(shù)據(jù)文件,而開發(fā)者和使用者也可以方便的訪問這些SQLITE數(shù)據(jù)文件。8跟蹤顯示工具(TRACEVIEWTRACEVIEWEXE)它可以生成跟蹤日志數(shù)據(jù)的圖形分析視圖,這些跟蹤日志數(shù)據(jù)由ANDROID應(yīng)用程序產(chǎn)生9創(chuàng)建SD卡工具(MKSDCARDMKSDCARDEXE)它幫助創(chuàng)建磁盤鏡像。這個(gè)磁盤鏡像可以在模擬器上模擬外部存儲(chǔ)卡。10DX工具(DXDXBAT)它將CLASS字節(jié)碼重寫為ANDROID字節(jié)碼(存儲(chǔ)在DEX文件中)11生成ANT構(gòu)件文件(ACTIVITYCREATORACTIVITYCREATORBAT)它是一個(gè)腳本,用來生成ANT構(gòu)建文件。ANT構(gòu)建文件用來編譯ANDROID應(yīng)用程序。如果在安裝了ADT插件的ECLIPSE環(huán)境下開發(fā),就不需要這個(gè)腳本了。12ANDROID虛擬設(shè)備(ANDROIDVIRTUALDEVICESAVD)每個(gè)ANDROID虛擬設(shè)備(AVD)模擬了單一的虛擬設(shè)備來運(yùn)行ANDROID平臺(tái),這個(gè)平臺(tái)至少要有自己的內(nèi)核,系統(tǒng)圖象和數(shù)據(jù)分區(qū)。開發(fā)者可以創(chuàng)建并保存多種虛擬模擬器配置。32ANDROID開發(fā)現(xiàn)狀目前國內(nèi)的ANDROID開發(fā)還是主要以應(yīng)用開發(fā)為主,主要分成3類為企業(yè)開發(fā)應(yīng)用、開發(fā)通用應(yīng)用(放到ANDROIDMARKET或者其他APPMARKET銷售)以及游戲開發(fā)(放到ANDROIDMARKET或者其他APPMARKET銷售)。第一類開發(fā)者一般身處規(guī)模較大的公司,這些公司主要為自有品牌或者其他品牌設(shè)計(jì)手機(jī)或者平板電腦的總體方案。除了根據(jù)需求對(duì)系統(tǒng)進(jìn)行定制外,更多的工作在于為這些系統(tǒng)編寫定制的應(yīng)用。第二類開發(fā)者,一般處于創(chuàng)業(yè)型公司或者是獨(dú)立開發(fā)者,他們的盈利方式主要是2種為國外公司進(jìn)行外包開發(fā),或者通過GOOGLE的移動(dòng)廣告(ADMOB)通過廣告點(diǎn)擊分成。而理論上的通過付費(fèi)下載的形式來盈利的,現(xiàn)在國內(nèi)鮮見成功者。第三類開發(fā)者,目前和第二類開發(fā)者類似。應(yīng)用構(gòu)成ANDROID的應(yīng)用一般由以下四個(gè)關(guān)鍵部分構(gòu)成ACTIVITY、INTENTRECEIVER、SERVICE、CONTENTPROVIDER。其中ACTIVITY是必要部分。應(yīng)用場(chǎng)合ACTIVITY每個(gè)應(yīng)用都是必須得,ACTIVITY代表一個(gè)應(yīng)用的一個(gè)具體的界面管理類,其本身并不顯示。INTENTRECEIVER可使應(yīng)用對(duì)外部事件做出響應(yīng),比如,當(dāng)應(yīng)用正在執(zhí)行,突然有了來電,這個(gè)時(shí)候可使用INTENTRECEIVER做出處理是應(yīng)用更健壯。SERVICEANDROID應(yīng)用的生命周期是由ANDROID系統(tǒng)來決定的,不由具體的應(yīng)用的線程左右。當(dāng)應(yīng)用要求在沒有界面顯示的情況還能正常運(yùn)行,(要求有后臺(tái)線程,而后臺(tái)線程是不會(huì)被系統(tǒng)回收,直到線程結(jié)束)這個(gè)時(shí)候就需要用到SERVICECONTENTPROVIDER可以說CONTENTPROVIDER封裝很多ANDROID當(dāng)中的上下文環(huán)境,包括SQLITE,這就使得在不同應(yīng)用之間交互成為可能。ANDROID特點(diǎn)之布局管理FRAMELAYOUT左上角只顯示一個(gè)組件。LINEARLAYOUT線性布局管理器,分為水平和垂直倆中,只能進(jìn)行單行布局。TABLELAYOUT任意行和列的表格布局管理器。其中TABLEROW代表一行,TABLEROW的每一個(gè)視圖組件代表一個(gè)單元格。ABSOLUTELAYOUT絕對(duì)布局管理器,坐標(biāo)軸的方式,左上角是(0,0)點(diǎn),往右X軸遞增,往下Y軸遞增。RELATIVELAYOUT相對(duì)布局管理器,更具最近一個(gè)視圖組件,或是頂層父組件來確定下一個(gè)組件的位置。ACTIVITY交互INTENT方式INTENT其實(shí)就是用來在ACTIVITY之間做交互用的,需要說明的是INTENT有個(gè)意圖說明,值得用深究,舉個(gè)簡單的例子,有種叫INTENTACTION_CALL,可直接撥打電話。SHAREDPREFERENCES是ANDROID平臺(tái)上一個(gè)輕量級(jí)的存儲(chǔ)類,主要是保存一些常用的配置。SHAREDPREFERENCES類似過去WINDOWS系統(tǒng)上的INI配置文件,但是它分為多種權(quán)限,可以全局共享訪問,最終是以XML方式來保存,效率不如INTENT,但是由于可以共享,所有可以再ACITIVITY之間交互。但其效率比SQLITE要高。SQLITE也就是數(shù)據(jù)庫,這種方式不推介,因?yàn)槠湫蕟栴},如果是在不同應(yīng)用之間交互,可以考慮SQLITE。或是永久存儲(chǔ)的情況下。SQLITESQLITE是ANDROID中提供的內(nèi)置數(shù)據(jù)庫,據(jù)說比MYSQL更輕巧。SQLITE也是開源產(chǎn)品。數(shù)據(jù)庫的操作方式主要有以下倆中SQL語句直接操作,插入、更新、刪除都可以直接寫SQL語句,調(diào)用EXECSQL就可以,而查詢需要使用RAWQUERY()來完成,查詢結(jié)果返回是一個(gè)可滾動(dòng)的結(jié)果集,CURSOR在對(duì)CURSOR操作前,需要將其游標(biāo)移動(dòng)到第一位,每取一個(gè)結(jié)果向下移一位。33ANDROID的特點(diǎn)開放性。GOOGLE與開放手機(jī)聯(lián)盟合作開發(fā)了ANDROID,GOOGLE通過與運(yùn)營商、設(shè)備制造商、開發(fā)商和其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,希望通過建立標(biāo)準(zhǔn)化、開放式的移動(dòng)電話軟件平臺(tái),在移動(dòng)產(chǎn)業(yè)內(nèi)形成一個(gè)開放式的生態(tài)系統(tǒng)。應(yīng)用程序無界限。ANDROID上的應(yīng)用程序可以通過標(biāo)準(zhǔn)API訪問核心移動(dòng)設(shè)備功能。通過互聯(lián)網(wǎng),應(yīng)用程序可以聲明它們的功能可供其他應(yīng)用程序使用。應(yīng)用程序是在平等的條件下創(chuàng)建的。移動(dòng)設(shè)備上的應(yīng)用程序可以被替換或擴(kuò)展,即使是撥號(hào)程序或主屏幕這樣的核心組件。應(yīng)用程序可以輕松地嵌入網(wǎng)絡(luò)。應(yīng)用程序可以輕松地嵌入HTML、JAVASCRIPT和樣式表,還可以通過WEBVIEW顯示網(wǎng)絡(luò)內(nèi)容。應(yīng)用程序可以并行運(yùn)行。ANDROID是一種完整的多任務(wù)環(huán)境,應(yīng)用程序可以在其中并行運(yùn)行。在后臺(tái)運(yùn)行時(shí),應(yīng)用程序可以生成通知以引起注意。34ANDROID開發(fā)環(huán)境搭建工具JDKECLIPSEADTJDK下載地址JDK下載地址HTTP/WWWORACLECOM/TECHNETWORK/JAVA/JAVASE/DOWNLOADS/INDEXHTMLJDKJAVADEVELOPMENTKIT是整個(gè)JAVA的核心,包括一系列JAVA開發(fā)的東西,安裝完畢需要配置一下環(huán)境變量。JAVA_HOMEJDK的安裝路徑,這個(gè)環(huán)境變量本身不存在,需要?jiǎng)?chuàng)建,創(chuàng)建完則可以利用JAVA_HOME作為統(tǒng)一引用路徑,其值為JDK在你電腦上的安裝路徑。PATHPATH屬性已存在,可直接編輯。作用是用于配置路徑,簡化命令的輸入,其值為JAVA_HOMEBIN。CLASSPATH用于編譯時(shí)JAVA類的路徑,注意這里設(shè)置的是兩個(gè)值,表示的是JVM先搜索當(dāng)前目錄。其值為JAVA_HOMELIBTOOLSJAR。配置完畢后,通過CMD運(yùn)行以下命令JAVAVERSION,JAVAC如果出現(xiàn)返回信息,則設(shè)置成功。ECLIPSE下載地址ECLIPSE下載地址HTTP/WWWECLIPSEORG/DOWNLOADS/選擇ECLIPSESTANDARD版本即可。ECLIPSE為JAVA及ANDROID開發(fā)的IDE。ECLIPSE不需要安裝,把解壓包解壓后,剪切ECLIPSE文件夾到你想安裝的地方,打開時(shí)設(shè)置你的工作目錄即可。ANDROIDSDK下載地址ANDROIDSDK下載地址HTTP/DEVELOPERANDROIDCOM/SDK/INDEXHTML。ANDORIDSDK為ANDROID管理開發(fā)包工具,提供了ANDROID各級(jí)平臺(tái)的開發(fā)包和工具。注意,因?yàn)槲覀兪仟?dú)立安裝,不是一體化集成系列工具所以需要單獨(dú)下載SDK。如圖運(yùn)行安裝文件,并把安裝目錄下TOOLS文件夾路徑設(shè)置進(jìn)PATH環(huán)境變量。去到安裝目錄運(yùn)行SDKMANAGER,一開始什么平臺(tái)和工具也沒有,需要下載回來。公司內(nèi)網(wǎng)的話需要使用代理來下載。到TOOLSOPTIONS把代理填上,點(diǎn)擊CLOSE后則會(huì)出現(xiàn)眾多平臺(tái)列表,把ANDROIDTOOLS選上安裝,另外建議把22以上的全部下載安裝。安裝ADT啟動(dòng)ECLIPSE,點(diǎn)擊HELP菜單INSTALLNEWSOFTWARE,點(diǎn)擊ADD,輸入地址HTTP/DLSSLGOOGLECOM/ANDROID/ECLIPSE/。選取要安裝的項(xiàng),一路NEXT完成安裝并重啟。這樣ADT就安裝完畢了。配置ADT選擇WINDOWPREFERENCES,在彈出面板中就會(huì)看到ANDROID設(shè)置項(xiàng),填上安裝的SDK路徑,則會(huì)出現(xiàn)剛才在SDK中安裝的各平臺(tái)包,按OK則完成配置。此時(shí)ANDROID的環(huán)境就搭建完畢,可以進(jìn)行ANDROID項(xiàng)目的開發(fā)了。4程序設(shè)計(jì)41用戶界面設(shè)計(jì)根據(jù)需求分析可以知道,應(yīng)用程序主要包含三個(gè)用戶界面,以及幾個(gè)詳細(xì)信息顯示界面,現(xiàn)在需要對(duì)每個(gè)界面中的內(nèi)容進(jìn)行設(shè)計(jì)。主頁面中,顯示有當(dāng)前軟件攔截狀態(tài),以及跳轉(zhuǎn)到攔截短信列表頁面及設(shè)置頁面的兩個(gè)按鈕。攔截短信列表頁面顯示攔截到的短信列表,并且點(diǎn)擊可跳轉(zhuǎn)到該短信詳細(xì)信息頁面。設(shè)置頁面中有一個(gè)LIST,分別對(duì)應(yīng)黑名單,白名單,關(guān)鍵字,及關(guān)于的列表項(xiàng),點(diǎn)擊可進(jìn)入相應(yīng)設(shè)置。詳細(xì)信息頁面包括,攔截短信列表跳轉(zhuǎn),及黑名單,白名單,關(guān)鍵字設(shè)置及關(guān)于中顯示的該短信攔截系統(tǒng)的信息。根據(jù)這些信息,繪制草圖圖41主要用戶界面42數(shù)據(jù)庫設(shè)計(jì)該軟件中有兩部分需要存儲(chǔ),分別是攔截到的垃圾短信,以及設(shè)置中的黑白名單,攔截關(guān)鍵字等。分別建立4張表SMS_SMS,SMS_BLACK_PHONE,SMS_WHITE_PHONE,SMS_KEY,以此存儲(chǔ)需要的數(shù)據(jù)。表41攔截短息存儲(chǔ)SMS_SMS的結(jié)構(gòu)屬性數(shù)據(jù)類型說明_IDINTEGER自動(dòng)增加的主鍵PHONECHAR攔截短信的號(hào)碼DATECHAR攔截短信發(fā)送日期MSGCHAR攔截短信的內(nèi)容表42黑名單存儲(chǔ)表SMS_BLACK_PHONE的結(jié)構(gòu)屬性數(shù)據(jù)類型說明_IDINTEGER自動(dòng)增加的主鍵PHONECHAR需要攔截的號(hào)碼表43白名單存儲(chǔ)表SMS_WHITE_PHONE的結(jié)構(gòu)屬性數(shù)據(jù)類型說明_IDINTEGER自動(dòng)增加的主鍵PHONECHAR需要放行的號(hào)碼表44攔截關(guān)鍵字存儲(chǔ)表SMS_KEY的結(jié)構(gòu)屬性數(shù)據(jù)類型說明_IDINTEGER自動(dòng)增加的主鍵KEYCHAR需要攔截的關(guān)鍵字43程序模塊設(shè)計(jì)從功能需求分析上可以看出,整個(gè)程序應(yīng)該分為3個(gè)模塊,分別是用戶界面、數(shù)據(jù)庫模塊、后臺(tái)服務(wù)模塊,各模塊之間的關(guān)系如圖所示圖41主要用戶界面用戶界面可以操作該APP及顯示其所反映的信息,可以再設(shè)置中對(duì)黑名單,白名單,攔截關(guān)鍵字進(jìn)行設(shè)置,也可以查看攔截到的短信息。后臺(tái)服務(wù)是整個(gè)的核心,對(duì)于發(fā)送來的短信是否攔截或放行,都由后臺(tái)服務(wù)來控制,與數(shù)據(jù)庫的交互也是后臺(tái)服務(wù)來完成。數(shù)據(jù)庫模塊貫穿整個(gè)軟件,不論是黑名單,白名單號(hào)碼設(shè)置,或攔截關(guān)鍵字的設(shè)置及攔截到的短信存儲(chǔ)都要用到該模塊。5程序開發(fā)51文件結(jié)構(gòu)與用途新建ANDROID工程“SMS”,根據(jù)分析結(jié)果,可建立該工程結(jié)構(gòu)如圖所示圖51SMS工程源代碼文件源代碼文件名稱及用途表51SMS工程文件用途說明文件名說明ABOUTACTIVITYJAVA關(guān)于軟件的說明BLACKACTIVITYJAVA黑名單設(shè)置與查看頁面KEYACTIVITYJAVA攔截關(guān)鍵字設(shè)置與查看頁面MAINACTIVITYJAVA主界面MYLISTACTIVITYJAVA攔截短信列表頁面MYSQLITEOPENHELPERJAVASQLITE數(shù)據(jù)庫幫助類SETACTIVITYJAVA設(shè)置頁面SMSITEMACTIVITYJAVA攔截短信詳細(xì)信息頁面SMSRECEIVERJAVA廣播頁面WHITEACTIVITYJAVA白名單設(shè)置頁面ANDROID的資源文件保存在/RES的子目錄中。其中/RES/LAYOUT中保存的是ACTIVITY的布局文件。文件名說明ACTIVITY_ABOUTXML關(guān)于頁面布局ACTIVITY_BLACKXML黑名單設(shè)置頁面布局ACTIVITY_KEYXML攔截關(guān)鍵字設(shè)置頁面布局ACTIVITY_MAINXML主界面布局ACTIVITY_MY_LISTXML攔截短信列表界面布局ACTIVITY_SETXML設(shè)置頁面布局ACTIVITY_SMSITEMXML攔截短信詳細(xì)信息布局ACTIVITY_WHITEXML白名單頁面布局LIST_ITEMSXML短信顯示列表項(xiàng)PHONELIST_ITEMSXML黑白名單號(hào)碼列表項(xiàng)SETLIST_ITEMSXML設(shè)置頁面列表項(xiàng)52廣播521什么是廣播在現(xiàn)實(shí)生活中,當(dāng)我們開車的時(shí)候,會(huì)聽到交通臺(tái)從廣播里說“某大街擁堵”,如從這里通過的車輛請(qǐng)繞行,這就是廣播,交通臺(tái)是發(fā)送方,我們個(gè)人是接收方,至于我們到底在沒在聽交通臺(tái),我們也許在聽郭德綱的相聲,又或者我們雖聽了交通臺(tái),要不要再走某大街是我們自己的事情了,所以在ANDROID中也是一樣的,廣播只管發(fā)送數(shù)據(jù),至于怎么接收數(shù)據(jù)和怎么處理數(shù)據(jù)就是接收方的事情了。在ANDROID中,BROADCAST是一種廣泛運(yùn)用的在應(yīng)用程序之間傳輸信息的機(jī)制。我們拿廣播電臺(tái)來做個(gè)比方。我們平常使用收音機(jī)收音是這樣的許許多多不同的廣播電臺(tái)通過特定的頻率來發(fā)送他們的內(nèi)容,而我們用戶只需要將頻率調(diào)成和廣播電臺(tái)的一樣就可以收聽他們的內(nèi)容了。ANDROID中的廣播機(jī)制就和這個(gè)差不多的道理。522廣播有什么用籠統(tǒng)一點(diǎn)講就是用來傳輸數(shù)據(jù)的。具體一點(diǎn)說就是實(shí)現(xiàn)了不同的程序之間的數(shù)據(jù)傳輸與共享,因?yàn)橹灰呛桶l(fā)送廣播的ACTION相同的接受者都能接受這個(gè)廣播。典型的應(yīng)用就是ANDROID自帶的短信,電話等等廣
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中醫(yī)按摩養(yǎng)生師承合同
- 拆除工程合同履行及施工許可證辦理承包合同范本
- 茶葉電商平臺(tái)入駐與營銷合作合同
- 吞咽治療護(hù)理
- 房產(chǎn)代持協(xié)議書(婚姻財(cái)產(chǎn)分割版)
- 和人有關(guān)的課件
- 撤資協(xié)議書標(biāo)準(zhǔn)模板
- 車貸抵押擔(dān)保業(yè)務(wù)專屬合同模板
- 城市出租車經(jīng)營權(quán)承包合作協(xié)議范本
- 高端汽車定制生產(chǎn)與售后服務(wù)協(xié)議
- 機(jī)化性肺炎治療方案
- 醫(yī)院用電安全知識(shí)培訓(xùn)
- 世界各國及其首都英文譯名Excel
- GB/T 44289-2024農(nóng)村公共法律服務(wù)基本規(guī)范
- GB/T 30819-2024機(jī)器人用諧波齒輪減速器
- 2024秋期國家開放大學(xué)《可編程控制器應(yīng)用實(shí)訓(xùn)》一平臺(tái)在線形考(形成任務(wù)1)試題及答案
- 古詩詞誦讀《臨安春雨初霽》課件+2023-2024學(xué)年統(tǒng)編版高中語文選擇性必修下冊(cè)
- 護(hù)理核心制度搶救制度
- 廣東省東莞市(2024年-2025年小學(xué)三年級(jí)語文)人教版期末考試(下學(xué)期)試卷(含答案)
- 電子化學(xué)品工廠設(shè)計(jì)規(guī)范(征求意見稿)
- ISOIEC38507-2022信息技術(shù)-IT治理-組織使用人工智能的治理影響(中文版-雷澤佳譯2024)
評(píng)論
0/150
提交評(píng)論