




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
程序設計課程設計報告學院:軟件學院專業:軟件工程時間:2015年5月畢業設計(論文)任務書畢業設計(論文)題目:基于Android的手機應用備忘錄的設計與實現畢業設計(論文)要求及原始數據(資料):在已有論文描述和背景知識下,實現手機app備忘錄的基本功能。1.完成畢業設計題目,參與需求分析,概要設計,詳細設計,編碼測試全過程,并能運行使用。論文符合設計要求和規范,具有科學性、邏輯性。具體完成記錄筆記、設置定時消息提醒、添加照片、分享心情等功能。2.系統完整、術語準確、語言清晰、內容充實、論述全面、有文檔設計的說明等。具體內容為:簡述手機備忘錄課題的背景意義及優缺點。介紹手機備忘錄的實現過程及主要功能、簡介開發工具、運行環境、重點介紹app的需求分析、總體設計、詳細設計及主要實現技術。3.圖紙(程序、實驗、外文翻譯)要求:軟件開發工作應完成相應的文檔,如:需求分析中的數據流程圖、總體設計中的軟件結構圖、詳細設計中的程序流程圖等。圖標符合軟件設計規范,所編主要程序應有詳細的注釋,通過模塊測試等并能運行。4.訓練檢索文獻資料和利用文獻資料的能力;5.訓練撰寫技術文檔與學位論文的能力。畢業設計(論文)主要內容:本設計主要完成以下幾方面的工作:手機備忘錄app的出現背景及意義。出門帶手機已經成了當今社會的普遍現象,手機的出現給人們的生活帶來了很大的便利,而手機軟件的出現則給人們帶來了方便與快捷。手機備忘錄則讓人們不再拘泥于紙張,而且可以隨時隨地記錄自己的心情,需要記錄的事務等。計算機網絡和移動互聯技術得到了飛速的發展,信息化成為不可抗拒的潮流。手機軟件是其中至關重要的一個環節。手機備忘錄也是手機軟件的很重要的一部分。這次畢業設計主要完成的就是基于Android的手機應用備忘錄的設計與實現。課題選自實際生活,有利于培養學生的理論與實踐結合的能力,解決問題的能力,完成此課題可以全面提高學生的軟件開發能力和綜合素質。學生應交出的設計文件(論文):1.內容完整、層次清晰、敘述流暢、排版規范的畢業設計論文;2.包括畢業設計論文、源程序等內容在內的畢業設計電子文檔及其它相關材料。主要參考文獻(資料):姚昱旻,劉衛國.Android的架構與應用開發研究[J].計算機系統應用,2008,17(11)孫衛琴,李洪成.Tomcat與JavaWeb開發技術詳解[M].電子工業出版社,2003.6郭愛芳.傳感器原理及應用[M].西安:西安電子科技大學出版社,2007韓兵.觸摸屏技術及應用[M].北京:化學工業出版社,2008楊豐盛.Android技術內幕.系統卷[M].北京:機械工業出版社,2011BruceEckel.Java編程思想[M].機械工業出版社,2003.10孫一林,彭波.Java數據庫編程實例[M].清華大學出版社,2002.8ohzakiR,MaeharaH.Asingle-shotgameofmulti-periodinspection[J].EuropeanJournalofOperationalResearch,2010,207(3)RetoMeier.ProfessionalAndroid2ApplicationDevelopment[M].Birmingham,UK:Wrox,2010Enck,William,Ongtang,Machigar,McDaniel,Patrick.UnderstandingAndroidSecurity[J].IEEEsecurity&privacy,2009,7(1)專業班級軟件1105班學生(2011005379)要求設計(論文)工作起止日期2015年3月23日~2015年7月3日指導教師簽字日期2015年3月23日教研室主任審查簽字日期系主任批準簽字日期基于android的手機備忘錄的設計與實現摘要隨著社會生活水平的不斷提高,社會對人們的要求也越來越高,每天走在大街上都能看見各種行色匆匆的人,有人是為了工作,有人是為了上學,有人是為了逛街等。我們每天要面對的事情越來越多,要面對的人也越來越多,而每天繁忙的生活很難讓人靜下心來想一想,看一看。在這樣的生活環境下,我們或多或少會忘記一些很重要的事情,而在現在的生活中,人們每天不離手的東西非智能手機莫屬了,它給人們帶來的方便和快捷是其他東西難以比擬的。隨著科學技術水平的不斷提高,智能手機已經成了人們生活中不可或缺的一部分,成為移動互聯網行業飛速發展的產物。其中Android系統的智能手機更是獨占鰲頭,在當下是非常受歡迎的,使用率非常高。因此開發一款以Android系統為基礎的手機備忘錄應用具有非常大的使用空間。關鍵字:Android;備忘錄;手機BasedonthedesignandimplementationoftheAndroidmobilephonememoabstractAlongwiththesociallifelevelunceasingenhancement,thesocietyisbecomingmoreandmorehightotherequirementofpeople,walkinginthestreeteverydaycanseepeopleofallhurrying,someoneistowork,andsomeonetogotoschool,someonetogoshopping,etc.Morethingswefaceeveryday,tofacemoreandmore,andeverydaythebusylifeisverydifficulttoletapersoncalmdownandthinkabout,takealook.Livinginsuchcircumstances,wewillmoreorlessforgetsomeimportantthings,inthepresentlife,peoplehandeverydaythingsmustbelongtoasmartphone,itbringsconvenienceandshortcutissomethingotherincomparable.Withconstantlyimprovethelevelofscienceandtechnology,intelligentmobilephonehasbecomeanintegralpartofpeople'slife,becometheproductoftherapiddevelopmentofmobileInternetindustry.TheAndroidsmartphoneisdominant,isverypopularinthemoment,utilizationrateisveryhigh.SodevelopingamemorandumonthebasisoftheAndroidmobilephoneapplicationhastheverybigusespace.Keywords:Android;memorandum;Mobilephone目錄摘要 vabstract vi1緒論 101.1安卓手機發展情況概述 101.2論文主要工作概述 101.3論文組織結構 102Android的架構概述及開發環境搭建 122.1什么是Android 122.2Android的架構描述 142.3Android開發環境的搭建 151.1.1 2.3.1Android軟件開發包下載 161.1.2 2.3.2其他注意事項 161.1.3 2.3.3環境安裝與搭配 162.4本章小結 213SQLite數據庫 224系統分析 234.1概述 234.1.1系統分析的原則 234.1.2系統分析的方法 234.1.3系統性能要求分析 244.2系統可行性分析 245系統設計 265.1系統設計目標 265.2系統功能模塊設計 265.3數據庫設計 275.4工程文件結構設計 276系統實現 306.1產品需求分析 306.2軟件功能模塊設計 306.2.1功能模塊結構設計 306.2.2主界面設計 317系統測試 427.1測試的重要性 427.2測試的目的 42總結 43致謝 44外文及翻譯 46前言隨著移動通信的發展以及互聯網向移動終端的普及,網絡和用戶對移動終端的要求越來越高,而Symbian,WindowsMobile,iOS等手機平臺過于封閉,不能很好的滿足用戶的需求,因此市場迫切需要一個開放性很強的平臺。首先看一下Symbian,它存在著以下的致命不足:Symbian的主導者為諾基亞、索尼愛立信等傳統的手機廠商,因此雖然Symbian非常成熟,但它基本上還帶有濃厚的保守色彩,應用軟件與我們日常的PC軟件有較大的理念差異。再者Symbian與互聯網的結合給人感覺實在不夠緊密,互聯網應用更多只是作為陪襯一樣存在,在互聯網時代,它顯得跟不上時代的步伐。另外,大多Symbian手機外觀實在是不敢恭維,與現代的普遍的Android和iPhone相比全然不及。Android平臺與此相反,移動互聯網是它最重要的應用,無論系統內核、應用軟件還是硬件設計,幾乎都是圍繞著快捷的移動互聯網應用所展開,同時Android與PC平臺存在先天的基因聯系,可以很好的實現與PC設備的信息互享,更容易獲得用戶的廣泛認可。與Android擁有相同屬性的還有微軟的Windowsmobile。至于iPhone,它只是蘋果公司的封閉平臺,用戶在iPhone中安裝的應用程序,都必須從其自己的應用商店中下載,直接或間接的從其應用商店中的每個開發者開發的軟件中獲取高額利潤。蘋果自己為iPhone開發了嵌入系統以及完整的應用,但它干脆都不宣揚iPhone的軟件設計,而是將iPhone作為一個包含軟硬件賣點的手機產品出售。同樣,蘋果式的奢華與時尚讓iPhone大獲成功,以至于成為手機市場的風向標。與蘋果相反,Android則是走完全開放的道路,這種模式的巨大優點在PC軟件領域已為業界所公認:自由軟件高度活躍,錯誤可以被快速修正,新的應用、新的創意可以不斷出現。Android平臺的另外一個優勢是標準化和跨平臺。Android和操作系統進行了緊密的整合,從而可以方便地使用操作系統的功能。這與難于使用操作系統功能的J2ME相比,無疑對開發者有很大的吸引力。并且從圖形應用界面的開發上面來看,Android可以使用配置文件來描述圖形控件的布局,用Java代碼編寫實際響應代碼,這樣方便得多。當然由于Android己經提供了大量現成的應用API和應用工具,使得常規智能手機功能的開發變得非常容易和簡單。Android是一套真正意義上的開放性移動設備綜合平臺,它包括操作系統、中間件和一些關鍵的平臺應用。Android是由Linux+Java構成的開源軟件,允許所有廠商和個人在其基礎上進行開發。Android平臺的開放性等特點既能促進技術(包括平臺自身)的創新,又有助于降低開發成本,還可以使運營商能非常方便地制定自己的特色化的產品。因此,它具有很大的市場發展潛力。經過多年的發展,第四代數字通信(4G)技術已經獲得了廣泛的接受,它為移動終端用戶帶來了更快的數據傳輸速率。隨著4G網絡的使用,移動終端不再僅是通訊網絡的終端,還將成為互聯網的終端。因此,移動終端的應用軟件和需要的服務將會有很大的發展空間。Google與包括中國移動、摩托羅拉在內的三十多家技術和無線應用的領軍企業組成的開發聯盟為此于2007年11月推出了一個專為移動設備設計的軟件平臺——Android。Android最大特點在于它是一個開放的體系架構,具有非常好的開發和調試環境,而且還支持各種可擴展的用戶體驗,Android里面具有非常豐富的圖形系統,以及對多媒體的支持功能和非常強大的瀏覽器。本課題的目的在于掌握Android手機應用開發技術和移動軟件平臺開發技術。在以Java語言為基礎,結合Android移動開發平臺,并利用Android提供的SDK,完成在Android平臺上運行的備忘錄軟件設計,形成一款具有一定功能的手機應用軟件。本課題的意義在于通過開發一款備忘錄手機應用軟件,熟練應用Android平臺提供的應用程序接口,掌握Android平臺上的應用開發流程。1緒論1.1安卓手機發展情況概述近幾年中國智能手機普及程度飛快,互聯網應用也逐漸普及到了移動終端上,手機終端越來越受到人們的歡迎,之前Symbian系統以及WindowsMobile等系統過于封閉,滿足不了用戶的更高需求,所以安卓系統呼之欲出Android系統是一個多元的基于移動設備的綜合性的平臺,它是基于Java構成的,允許任何人進行開發。Android平臺的開放性的特點和LINUX一樣,不僅促進了技術的不斷創新,還能夠開發成本大幅減少,除此之外,運營商個性化定制自己的產品也變得更加方便。所以,安卓平臺市場發展的潛力非常巨大。開放的體系架構是安卓最大的一個特點,這時的它的開發和調試環境別其他手機操作系統更好。支持多種可已加載的用戶體驗也是安卓的特點。安卓的另一個特點是支持多媒體的功能并支持非常強大的瀏覽器以及其非常豐富的圖形系統。1.2論文主要工作概述本文主要針對在安卓平臺的架構上的備忘錄軟件的設計進行了研究,該軟件具備簡單備忘的基本功能,根據實際情況加入很多特色,還可以對數據進行處理,此外更有鬧鐘提醒、分享內容等相對高級一些的功能。本文先對安卓系統的背景進行簡單的分析,介紹目前手機操作系統以及安卓軟件的開發情況,多個角度對本文的研究目的和研究意義進行分析論述,闡述本文主旨。然后設計了系統的基本架構,根據架構進行模塊設計,并詳細介紹了設計思路和設計理念,還簡單說明了實現的過程。最后是結論部分。對本文研究的主要內容進行了總結,并根據現狀對未來進行深入研究的方向進行了設想。1.3論文組織結構本文先對安卓系統的背景進行簡單的分析,簡述目前手機操作系統以及安卓軟件的發展情況,多角度對本文的研究目的和研究意義進行分析說明,闡述本文主旨。第二章,架構概述及開發環境搭建。第三章,SQLite數據庫第四章,系統分析第五章,系統設計第六章,系統實現第七章,系統測試2Android的架構概述及開發環境搭建2.1什么是AndroidAndroid一詞的本義指“機器人”,同時也是Google于2007年11月5日宣布的基于Linux平臺的開源手機操作系統的名稱,該平臺由操作系統、中間件、用戶界面和應用軟件組成。Android一詞最早出現于法國作家利爾亞當(AugusteVilliersdel'Isle-Adam)在1886年發表的科幻小說《未來夏娃》(L'èvefuture)中。他將外表像人的機器起名為Android。Android的Logo是由Ascender公司設計的,誕生于2010年,其設計靈感源于男女廁所門上的圖形符號,于是布洛克繪制了一個簡單的機器人,它的軀干就像錫罐的形狀,頭上還有兩根天線,Android小機器人便誕生了。其中的文字使用了Ascender公司專門制作的稱之為“Droid”的字體。Android是一個全身綠色的機器人,綠色也是Android的標志。顏色采用了PMS376C和RGB中十六進制的#A4C639來繪制,這是Android操作系統的品牌象徵。有時候,它們還會使用純文字的Logo。2012年7月美國科技博客網站BusinessInsider評選出二十一世紀十款最重要電子產品,Android操作系統和iPhone等榜上有名。2003年10月,AndyRubin等人創建Android公司,并組建Android團隊。2005年8月17日,Google低調收購了成立僅22個月的高科技企業Android及其團隊。安迪魯賓成為Google公司工程部副總裁,繼續負責Android項目。2007年11月5日,谷歌公司正式向外界展示了這款名為Android的操作系統,并且在這天谷歌宣布建立一個全球性的聯盟組織,該組織由34家手機制造商、軟件開發商、電信運營商以及芯片制造商共同組成,并與84家硬件制造商、軟件開發商及電信營運商組成開放手持設備聯盟(OpenHandsetAlliance)來共同研發改良Android系統,這一聯盟將支持谷歌發布的手機操作系統以及應用軟件,Google以Apache免費開源許可證的授權方式,發布了Android的源代碼。2008年,在GoogleI/O大會上,谷歌提出了AndroidHAL架構圖,在同年8月18號,Android獲得了美國聯邦通信委員會(FCC)的批準,在2008年9月,谷歌正式發布了Android1.0系統,這也是Android系統最早的版本。2009年4月,谷歌正式推出了Android1.5這款手機,從Android1.5版本開始,谷歌開始將Android的版本以甜品的名字命名,Android1.5命名為Cupcake(紙杯蛋糕)。該系統與Android1.0相比有了很大的改進。2009年9月份,谷歌發布了Android1.6的正式版,并且推出了搭載Android1.6正式版的手機HTCHero(G3),憑借著出色的外觀設計以及全新的Android1.6操作系統,HTCHero(G3)成為當時全球最受歡迎的手機。Android1.6也有一個有趣的甜品名稱,它被稱為Donut(甜甜圈)。2010年2月份,Linux內核開發者GregKroah-Hartman將Android的驅動程序從Linux內核“狀態樹”(“stagingtree”)上除去,從此,Android與Linux開發主流將分道揚鑣。在同年5月份,谷歌正式發布了Android2.2操作系統。谷歌將Android2.2操作系統命名為Froyo,翻譯完名為凍酸奶。2010年10月份,谷歌宣布Android系統達到了第一個里程碑,即電子市場上獲得官方數字認證的Android應用數量已經達到了10萬個,Android系統的應用增長非常迅速。在2010年12月,谷歌正式發布了Android2.3操作系統Gingerbread(姜餅)。2011年1月,谷歌稱每日的Android設備新用戶數量達到了30萬部,到2011年7月,這個數字增長到55萬部,而Android系統設備的用戶總數達到了1.35億,Android系統已經成為智能手機領域占有量最高的系統。2011年8月2日,Android手機已占據全球智能機市場48%的份額,并在亞太地區市場占據統治地位,終結了Symbian(塞班系統)的霸主地位,躍居全球第一。2011年9月份,Android系統的應用數目已經達到了48萬,而在智能手機市場,Android系統的占有率已經達到了43%。繼續在排在移動操作系統首位。谷歌將會發布全新的Android4.0操作系統,這款系統被谷歌命名為IceCreamSandwich(冰激凌三明治)。2012年1月6日,谷歌AndroidMarket已有10萬開發者推出超過40萬活躍的應用,大多數的應用程序為免費。AndroidMarket應用程序商店目錄在新年首周周末突破40萬基準,距離突破30萬應用僅4個月。在2011年早些時候,AndroidMarket從20萬增加到30萬應用也花了四個月。2013年11月1日,Android4.4正式發布,從具體功能上講,Android4.4提供了各種實用小功能,新的Android系統更智能,添加更多的Emoji表情圖案,UI的改進也更現代,如全新的HelloiOS7半透明效果。2.2Android的架構描述Android是一個包括操作系統,中間件以及一些重要應用程序的專門針對移動設備的層次結構的軟件集。作為一個層次結構的軟件集,一定一個層次的系統架構,Android的架構圖如下圖所示:圖2-2-1分析:第一層:Linux操作系統和驅動(Linuxkernel),由C語言實現。Android核心系統服務依賴于Linux2.6內核,包括:安全性、內存管理、進程管理、網絡協議、驅動模型。Linux內核也作為硬件和軟件棧之間的抽象層。除了標準的Linux內核外,Android還增加了內核的驅動程序:Binder(IPC)驅動、顯示驅動、輸入設備驅動、音頻系統驅動、攝像頭驅動、WiFi驅動、藍牙驅動、電源管理。第二層:本地框架和Java運行環境(LIBRARIES和ANDROIDRUNTIME)由C/C++實現。包含C/C++庫,被Android系統中不同組件使用,它們通過Android應用程序框架為開發者進行服務。系統C庫:(libc)從BSD繼承過來的標準的C系統函數庫,專門是為基于嵌入式Linux的設備定制的庫。多媒體庫:基于PackerVideo的OpenCore;該庫支持多種常用的音頻、視頻格式回放和錄制,支持多種媒體格式的編和解碼格式。SufaceManager:顯示子系統管理器,并且為多個應用程序提供2D和3D圖層的無縫融合。LibWebCore:一個最新的Web瀏覽器引擎,支持Android瀏覽器,以及一個可嵌入式的Web視圖。SGL:Skia圖形庫,底層的2D圖形引擎。3Dlibraries:基于OpenGLES1.0API的實現;該庫可以使用硬件3D加速(如果可用),或者使用高度優化的3D軟加速。FreeType:位圖(bitmap)和矢量(vector)字體顯示。Android運行環境(ANDROIDRUNTIME):提供了Java編程語言核心庫的大多數功能,由DalvikJava虛擬機和基礎的Java類庫組成。Dalvik是Android中使用的Java虛擬機,每個Android應用程序都在自己的進程中運行,都擁有一個獨立的Dalvik虛擬機實例。Dalvik被設計成一個可以同時高效運行多個虛擬機實例的虛擬系統。執行后綴名為.dex的Dalvik可執行文件,該格式的文件針對小內存使用做出了優化。同時虛擬機是基于寄存器的,所有的類都是有Java編譯器編譯,然后通過SDK中的“dx”工具轉化為.dex格式由虛擬機執行。Dalvik虛擬機依賴于Linux內核的一些功能,比如線程機制和底層內存管理機制。第三層:Android應用框架(ANDROIDFRAMEWORK)
在Android系統中,開發人員也可以完全訪問核心應用程序所使用的API框架。包含的框架入上圖(不在陳述)第四層:Android應用程序(APPLICATIONS)注意:Android應用程序都是有Java語言編寫的。用戶開發的Android應用程序和Android的核心應用程序是同一層次的,它們都是基于Android的系統API構建的。2.3Android開發環境的搭建工欲善其事必先利其器,下面介紹一下android開發環境的配置。2.3.1Android軟件開發包下載(1)JDK4.0請到網址/javasc/dowmloads/index.jsp下載。(2)Eclipse3.4(Europe)請到網址/downloads/下載。EclipseIDEforjavaDevelopers。(3)AndroidSDK1.5請到網址下載。(4)APT插件。2.3.2其他注意事項Android的Eclipse插件安裝需注意,Eclipse可以對應的網站下載安裝,如果通過網絡遠程安裝不成功,可以下載到本地安裝。2.3.3環境安裝與搭配安裝JDK將下載好的JDK安裝好以后,設置環境變量步驟如下:我的電腦->屬性->高級->環境變量->系統變量中添加以后環境變量:JAVA_HOME值為:D:\ProgramFiles\Java\jdk1.6.0_18(你安裝JDK的目錄)在開始追加
%JAVA_HOME%\bin;安裝完成后,可以檢查JDK是否安裝成功。打開cmd窗口,輸入java-version查看JDK版本信息,出現以后畫面表示安裝成功。圖2-3-1安裝Eclipse將根據上面給的地址下載后安裝即可,也可以選擇下載綠色版,解壓即可使用。安裝AndroidJDK運行SDKSetup.exe,點擊AvailablePackages。如果沒有出現可安裝的包,請點擊Settings,選中Misc中的"Forcehttps://..."這項,再點擊AvailablePackages。選擇希望安裝的SDK及其文檔或者其它包,點擊InstallationSelected、AcceptAll、InstallAccepted,開始下載安裝所選包。在用戶變量中新建PATH值為:AndroidSDK中的tools絕對路徑(本機為D:\AndroidDevelop\android-sdk-windows\tools)。圖2-3-2點擊“確定”重新啟動計算機,重啟之后進入cmd窗口,檢查SDK是不是安裝成功,運行android–h,如果有類似下面的輸出,表示安裝成功。圖2-3-3安裝ADT打開EclipseIDE,進入菜單中的”help”->”InstallNewSoftware”。點擊Add...按鈕,彈出對話框要求輸入Name和Location:Name自己隨便取,Location輸入\o"/android/eclipse"/android/eclipse。如下圖所示:圖2-3-4確定返回后,在workwith后的下拉列表中選擇我們剛才添加的ADT,我們會看到下面出有DeveloperTools,展開它會有AndroidDDMS和AndroidDevelopmentTool,勾選他們。如下圖所示:圖2-3-5完成之后就按提示一步一步next:=1\*romani、選擇Window>Preferences...=2\*romanii、在左邊的面板選擇Android,然后在右側點擊Browse...并選中SDK路徑,本機為:
D:\AndroidDevelop\android-sdk-windows=3\*romaniii、點擊Apply、OK。配置完成。創建AVD為使Android應用程序可以在模擬器上運行,必須創建AVD。在Eclipse中。選擇Windows>AndroidSDKandAVDManager。點擊左側面板的VirtualDevices,再右側點擊New。填入Name,選擇Target的API,SDCard大小任意,Skin隨便選,Hardware目前保持默認值。點擊CreateAVD即可完成創建AVD。注意:如果你點擊左側面板的VirtualDevices,再右側點擊New,而target下拉列表沒有課選項時,這時候你:1)點擊右側面板的AvailablePackages,在右側勾選/android/repository/repository.xml,如圖所示:圖2-3-62)然后點擊InstallSelected按鈕,接下來就是按提示做就行了要做這兩步,原因是在1.3、AndroidSDK安裝中沒有安裝一些必要的可用包(AvailablePackages)。HelloWorld通過File->New->Project菜單,建立新項目"AndroidProject"。然后填寫必要的參數,如下圖所示:(注意這里我勾選的是GoogleAPIs,你可以選你喜歡的,但你要創建相應的AVD。圖2-3-7點擊Finish后,點擊Eclipse的Run菜單選擇RunConfiguration。選擇“AndroidApplication”,點擊在左上角(按鈕像一張紙上有個“+”號)或者雙擊“AndroidApplication”,有個新的選項“New_configuration”(可以改為我們喜歡的名字)。在右側Android面板中點擊Browse…,選擇HelloWorld在Target面板的Automatic中勾選相應的AVD,如果沒有可用的AVD的話,你需要點擊右下角的Manager…,然后新建相應的AVD。如下圖所示:圖2-3-8然后點Run按鈕即可,運行成功的話會有Android的模擬器界面,如下圖所示圖2-3-9出現以上畫面后,你就可以開始開發屬于自己的Android程序了。2.4本章小結本章首先對Android的架構進行了全面的介紹,使讀者能夠對Android內部有了基本的認識和理解。工欲善其事必先利其器,然后全面詳細的介紹了Android開發平臺的搭建工作,使讀者在開發的時候,能夠順利的搭建好開發環境3SQLite數據庫Android采用SQLite這個輕量級數據庫工具來管理數據;SQLite,是一款輕型的數據庫,是遵守ACID的關系型數據庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它占用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。它能夠支Windows/Linux/Unix等等主流的操作系統,同時能夠跟很多程序語言相結合,比如Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源世界著名的數據庫管理系統來講,它的處理速度比他們都快。SQLite第一個Alpha版本誕生于2000年5月。至今已經有14個年頭,SQLite也迎來了一個版本SQLite3已經發布。SQLite是遵守ACID的關系型數據庫管理系統,它包含在一個相對小的C庫中。它是D.RichardHipp建立的公有領域項目。不像常見的客戶-服務器范例,SQLite引擎不是個程序與之通信的獨立進程,而是連接到程序中成為它的一個主要部分。所以主要的通信協議是在編程語言內的直接API調用。這在消耗總量、延遲時間和整體簡單性上有積極的作用。整個數據庫(定義、表、索引和數據本身)都在宿主主機上存儲在一個單一的文件中。它的簡單的設計是通過在開始一個事務的時候鎖定整個數據文件而完成的。SQLite雖然很小巧,但是支持的SQL語句不會遜色于其他開源數據庫,它支持的SQL包括:ATTACHDATABASE,BEGINTRANSACTION,COMMENT,COMMITTRANSACTION,COPY,CREATEINDEX,CREATETABLE,CREATETRIGGER,CREATEVIEW,DELETE,DETACHDATABASE,DROPINDEX,DROPTABLE,DROPTRIGGER,DROPVIEW,ENDTRANSACTION,EXPLAIN,expression,INSERT,ONCONFLICTclausePRAGMA,REPLACE,ROLLBACKTRANSACTION,SELECT,UPDATE。同時它還支持事務處理功能等等。也有人說它象Microsoft的Access,有時候真的覺得有點象,但是事實上它們區別很大。比如SQLite支持跨平臺,操作簡單,能夠使用很多語言直接創建數據庫,而不象Access一樣需要Office的支持。4系統分析4.1概述系統分析是在總體規劃的指導下,對某個或若干個子系統進行深入仔細地調查研究,確定新系統邏輯功能的過程。這一階段的主要任務是由系統分析員了解每個業務流程,工作流程,廣大用戶的需求,運用系統開發理論、開發方法和開發技術設計出一個計算機化的信息系統。4.1.1系統分析的原則在系統分析中存在很多困難,為了克服困難,做好分析工作,在進行系統分析時應遵循系統分析的原則,這樣才能保證分析工作能夠順利進行,系統分析的原則有:(1)邏輯設計與物理設計分開的原則(2)面向用戶的原則(3)結構化分析的原則通過實際調查并與相關用戶交流后,分析商品訂購網模擬網站的具體的要求,確定本網站系統的邏輯功能,以滿足用戶的各項要求,完成相應的各項功能,提高網站的實用水平。在近期目標完成后,該系統應該有很強的擴充性,便于在此基礎上進行擴充式開發,為以后的發展及擴充打好基礎。4.1.2系統分析的方法該系統采用以抽象和分解為手段,并且采用結構化分析方法進行系統分析,根據實際調查研究,對系統進行自頂向下的逐層分解,逐步細分,逐步求精,建立新系統的邏輯模型,這個邏輯模型將盡可能避免使用計算機術語,讓其盡可能的簡單化、通俗化,便于設計者和瀏覽者的溝通與交流經驗。結構化分析方法的基本思想是該系統采用結構化分析方法,以抽象和分解為手段,對系統進行自頂向下的逐層分解,逐步細分,逐步求精,從而達到易于理解的目的。4.1.3系統性能要求分析為了保證能夠長期、安全、穩定、可靠的運行,系統應滿足以下性能要求:(1)系統處理的準確性與及時性:系統處理的準確性和及時性是系統的必要性能。在系統設計和開發過程中,充分考慮當前和將來可能承受的工作量,使系統的處理能力和相應時間能夠滿足信息處理的要求。(2)系統的可擴充性及可維護性,系統的開發過程中,應該充分考慮以后的可擴充性相當于升級。當今企業對系統的可維護性也有了相當高的關注。例如添加新功能。所以本系統采用了CS開發模式,大幅提高了系統的可擴展性及可維護性。(3)系統的可兼容性,考慮到目前Android版本眾多、設備眾多,所以設計出的程序必需要求可以兼容各個主流版本。(4)系統的可靠性,可靠性是保證系統正常工作及抗故障、抗干擾的能力,它包括:保證系統正常工作的能力;對系統故障的預防、檢測以及自動糾錯的能力;出現故障時,保證系統不發生崩潰,并使系統重新恢復、重新啟動的能力等.安全性是保證合法用戶能夠正確使用信息系統,并防止非法用戶訪問信息系統的能力.適應性是信息系統對外部環境和需求變化的適應能力。4.2系統可行性分析可行性研究的目的,就是用最小的代價在盡可能短的時間內確定問題是否能夠解決。要達到這個目的,必須分析幾種主要的可能解法的利弊,從而判斷原定的系統規模和目標是否現實,系統完成后所能帶來的效益是否大到值得投資開發這個系統的程度。因此,可行性研究實質上是對進行了一次較大壓縮簡化后的系統進行分析和設計的過程,也就是在較高層次上以較抽象的方式進行的系統分析和設計的過程。系統的可行性分析主要包括經濟上的可行性,技術上的可行性,操作上的可行性和法律上的可行性。經濟可行性目標系統開發經濟需求的比較低,加上具有成熟的Android平臺以及十分普及手機設備,所以在軟硬件的支出上十分有限。而且,目標系統并是十分的復雜,開發的周期較短,人員經濟支出有限。當系統開發成后,通過測試和、試運行和實際應用后,將很大程度上提高移動公交查詢系統的科學性和高效性,在為人們帶來便利的同時,也為系統的進一步推廣、創新創造了條件,這帶來的經濟回報將遠超過支出,并且最重要的一點是通過該系統的開發,可以使我們進一步理解軟件工程思想和軟件開發流程,為從事軟件開發工作打下很好的基礎,從長遠利益來考慮,本課題的設計開發還是具有相當大的經濟可行性的。技術可行性本系統使用Android技術進行開發,發展到現在,Android已經算是一個較成熟的平臺了,現在有越來越多的企業及技術人員選擇它作為開發平臺。因此,在技術上.NET是完全可以勝任這個平臺的開發。Android
開發平臺是由谷歌與開放手機聯盟合作開發的一個開放、自由的移動終端平臺,它由操作系統、中間件、應用軟件三部分組成。該平臺備有完善的程序開發環境,包括模擬器、除錯工具、程序執行所耗用存儲器、性能評介等功能。操作可行性本系統用戶只要有一臺Android手機,就可以使用了,系統是由的操作都是用戶熟悉的選擇框或者按鈕等等。所有的操作通過手機就可以完成,,用戶不需培訓,只要稍微提示一下即可。因此,在操作使用上,本系統簡單、方便,易于使用戶接受,因而是十分可行的。⑷法律可行性由于本系統是在相關法律法規下實施完成的,所以不存在任何法律問題,在法律上是完全可行的。綜合考慮經濟、技術、操作和法律等方面的因素,該系統可以立即開始進行。5系統設計5.1系統設計目標在系統分析的基礎上,設計出能滿足預定目標的系統的過程。系統設計內容主要包括:確定設計方針和方法,將系統分解為若干子系統,確定各子系統的目標、功能及其相互關系,決定對子系統的管理體制和控制方式,對各子系統進行技術設計和評價,對全系統進行技術設計和評價等。本系統是設計目標是建立一個基于Android的健手機備忘錄軟件,基本可以的滿足人們隨時記錄筆記,系統具有上手簡單、操作方便快捷的特點。用戶界面漂亮、操作簡單,每個設計都具有人性化的特點,具有使用簡單,功能全面的特點,通過合理而先進的優化,保證了系統的可靠性與容錯性。系統的設計主要考慮了用戶需求,大大為用戶著想,為用戶提供簡單完善實用的飲食搭配建議。5.2系統功能模塊設計本系統包括新建筆記、內容展示、數據存儲、數據分析、照片選擇、和背景設置模塊,模塊架構設計如圖5-2-1所示。圖5-2-1系統功能模塊圖5.3數據庫設計本系統用到的數據庫為Android自帶的SQLite數據庫,系統采用一個數據表來記錄信息,即筆記信息表。筆記信息表記錄的是輸入的筆記內容,及所選的圖片路徑。表5-3-1為數據庫設定。表5-3-1tbl_note筆記信息表序號列名數據類型主鍵說明1_idint是2noteVarchar2筆記內容3picpathVarchar2圖片路徑5.4工程文件結構設計在程序開發階段,首先確定“基于Android的手機備忘錄軟件”的工程名稱為Memoridum,根據程序模塊設計的內容,建立HealthFood項目,HealthFood項目的文件結構如圖5-4-1所示。圖5-4-1工程結構圖為了使代碼文件結構更加清晰,HealthFood工程設置了多個包,分別保存了食物搭配、BMI指數和信息儲存多個包,源代碼的名稱以及說明如表5-4-2所示。表5-4-2系統代碼結構包名稱文件名說明com.karida.memorandumMainActivity主界面視圖com.karida.memorandumNoteActivity新建筆記界面com.karida.memorandumShowNoteActivity顯示筆記詳細內容界面com.karida.memorandumSelectPicActivity圖片選擇界面com.karida.memorandumMySqliteOpenHelperSqlite數據庫工具類Android的資源文件保存在/res的子目錄中。其中、/res/anim目錄中保存的是產生動畫效果的XML文件,/res/drawable/目錄中保存的是圖像文件,/res/values目錄中保存的是用來自定義字符串和顏色的文件,/res/xml目錄中保存的是XML格式的數據文件。所有在程序開發階段可以被調用的資源都保存在這些目錄中,具體每個資源文件的用途可以參考表5-4-3。表5-4-3資源文件名稱及用途資源目錄文件名說明Drawablebtn_style_alert_dialog_button按鈕資源文件btn_style_alert_dialog_buttonbtn_style_alert_dialog_cancelLayoutactivity_main.xml主界面布局文件activity_note.xml新建筆記界面布局文件activity_select_pic.xml圖片選擇界面布局文件activity_show_note.xml顯示筆記詳細內容界面布局文件show_item.xml主界面筆記信息ListView布局文件6系統實現6.1產品需求分析隨著社會經濟的不斷發展,年輕人的生活壓力也與日俱增,忙碌的生活安排,沉重的事務壓的人們機會沒有喘息機會。為了可以很好的避免遺忘工作、生活瑣事而錯過一些重要的事情,備忘錄已成了人們生活中不可缺少的一部分。然而,普通備忘錄并不能做到到時提醒,需要人工查看。沒有及時查看備忘錄就仍會把重要的事項遺忘。商務人士選擇聘請秘書的方式來解決這個問題,但這畢竟是少數,對絕大部分人來說并不現實。智能備忘錄是群眾的需求。所以,隨著現代化水平的不斷提高,大量的電子科技不斷更新,尤其是近些年智能手機已成為年輕人生活中不可替代的一部分,成為移動互聯網行業飛速發展的產物。Android系統的智能手機已遠遠領先于其他系統的智能手機并呈上升趨勢,因此開發一類以安卓系統為基礎的備忘錄應用具有具有很大的市場開拓空間。而原有的手機自帶備忘功能又太過簡單功能性低,無法滿足大眾使用。本軟件的優勢比較突出:(1)界面友好,簡潔,操作簡單方便,設計人性化;(2)能根據用戶喜好對備忘進行區分,更加自主隨意;(3)可以分享心情美照等到朋友圈,更加貼近生活。技術分析:多種技術相結合才能滿足設計的需要。Eclipse平臺:是基于安卓系統中運行插件的一個平臺。可以下載安裝EclipseClassic的最新版本。AndroidDeveloperTools:按照安裝說明安裝AndroidDeveloperTools(Eclipse插件)。IntentReceiver—演示IntentReceiver的實現,這個類處理AndroidManifest.xml文件中IntentFilter標記所公布的intent。Main.xml—這個文件包含Android活動所用的視覺元素或資源。AndroidManifest.xml(完整)—這是完整的AndroidManifest.xml文件,其中描述了各個重要的元素。6.2軟件功能模塊設計6.2.1功能模塊結構設計本軟件設計主要包括新建筆記、內容展示、數據存儲、數據分享、相冊選擇和背景設置模塊。新建筆記:用于輸入需要記錄的內容和照片等內容展示:用于展示以存儲好的筆記內容等數據存儲:完成存儲用戶錄入的數據設置鬧鐘:設置鬧鐘提醒數據分享:實現隨時隨地分享心情給朋友的功能相冊選擇:用戶可以在筆記中插入符合心情、情景的照片等背景設置:用戶可根據自己的喜好對筆記的背景進行設置6.2.2主界面設計主界面設計上,整個手機屏幕的90%都是備忘錄列表,這樣整個屏幕簡潔清新,實現了軟件界面友好。從視覺角度給用戶做到最大程度的減壓設計。這個設計也是經過調研的,分析了大量網絡下載量較高的智能手機軟件,了解到現在大部分手機軟件主界面都非常簡潔,將很多功能都是通過軟件功能列表隱藏鍵、簡易功能鍵等實現的。例如最近使用十分火熱的打車軟件“快的打車”和“滴滴打車”,他們的主界面十分簡潔,而且屏幕的大部分都用來顯示其最主要的功能——打車。簡明扼要的給大眾提供需求服務。該作品也希望通過最直觀的界面設計來帶給用戶最直觀的使用體驗。本軟件的主界面設計也是如此。但是整個屏幕又不能空白,這樣顯得特別空洞。所以我們在手機屏幕的最下方設置了新建筆記按鈕。這樣屏幕就不顯得太空白,反而會有一種簡潔、清新的感覺。點擊之后會進入到整個軟件所有功能列表的界面,主要包括,信息共享,鬧鐘設置、相機調用、從相冊選擇照片、信息保存、返回主界面等等。打開備忘錄軟件進入如圖6-2-2-1所示的界面。圖6-2-2-1進入軟件后主界面(沒有存入信息)點擊新建筆記按鈕,手機屏幕上方是功能鍵,分別是:鬧鐘設置、背景顏色設置、分享信息、選擇拍照或者從相冊選擇照片、保存信息和返回主界面。如圖6-2-2-2所示是書寫信息界面。圖6-2-2-2輸入信息界面用戶可以在這個界面輸入想要記錄的信息或心情。用戶可以點擊左數第一個按鈕將此時此刻想說的話分享給朋友,如QQ,微博,微信等。如圖6-2-2-3所示圖6-2-2-3分享心情、消息等用戶也可以點擊左數第二個按鈕來設置鬧鐘,以在特定的時間提醒自己。如圖6-2-2-4所示:圖6-2-2-4設置鬧鐘用戶還可以通過左數第三個按鈕來更改背景顏色,選擇自己喜歡的顏色。如圖6-2-2-5圖6-2-2-5更改背景顏色點擊不同的按鈕將會有不同的背景顏色,若點擊red按鈕,界面將如圖6-2-2-6所示:圖6-2-2-6將背景更改為紅色若點擊green按鈕,界面將如圖6-2-2-7所示:圖6-2-2-7將背景更改為綠色若點擊blue按鈕,界面將如圖6-2-2-8所示:圖6-2-2-8將背景更改為藍色若點擊yellow按鈕,界面將如圖6-2-2-8所示:圖6-2-2-8將背景更改為黃色用戶可以點擊左數第四個按鈕選擇照片,然后可點擊“取消”按鈕退出本界面如圖6-2-2-9所示:圖6-2-2-9選擇照片用戶還可以選擇“拍照”直接進行拍照,如圖6-2-2-10所示:圖6-2-2-10調用系統相機進行拍照并保存到本地用戶也可以點擊“從相冊選擇按鈕”,直接從本地相冊中進行選擇,如圖6-2-2-11所示:圖6-2-2-11從本地相冊中選擇圖片拍照結束或從相冊中選擇的照片將會顯示到新建筆記界面中,并保存圖片路徑到數據庫中。如圖6-2-2-12:圖6-2-2-12將圖片顯示到新建筆記頁面用戶輸入好信息之后可以點擊左數第五個按鈕進行保存,如圖6-2-2-13、6-2-2-14所示:圖6-2-2-13輸入信息后點擊保存鍵進行保存圖6-2-2-14保存內容保存成功后圖6-2-2-1的界面將會成為顯示之前輸入并保存的內容。當備忘較多時,屏幕也不會顯得很混亂——這些備忘會逐行排列。如圖6-2-2-15所示:圖6-2-2-15顯示所有存儲過的信息點擊上圖中的列表項,將進入我的筆記界面,該界面會將列表項中對應的內容顯示到界面上。而長按列表項將會刪除該列表項。如圖6-2-2-16所示:圖6-2-2-16我的筆記界面進入圖6-2-2-16后,可以對筆記內容進行修改并保存,如圖6-2-2-17所示:圖6-2-2-17修改筆記內容7系統測試7.1測試的重要性在發布新產品之前做好測試,提高軟件產品質量,減少漏洞,是預防遭受木馬攻擊和提高性能的根本途徑,零缺陷的軟件是不存在的。但通過必要的測試,軟件缺陷可減少75%,降低軟件使用風險。
有關機構研究表明,國外軟件開發廠商約40%的工作量要花在測試上,對一些可靠性、安全性要求較高的軟件更是不惜人力物力。以微軟為例,早在1999年發布Windows
2000操作系統時,微軟就投入了250多個項目經理、1700多個開發人員,內部測試人員則達到3200人,比前兩者的之和還要多。而這對非科班出身的Google來說,遠不能及。由此可看出對軟件進行測試是非常必要的。7.2測試的目的一個程序并不可能達到十分完美,難免存在一些錯誤,就是我們常說的bug。如果不能及時將其找出并修改,會造成系統崩潰并造成不必要的損失。通過軟件測試,盡可能多的找出系統中的錯誤,以便于及時修改。總結本文主要是對Android平臺手機備忘錄軟件分析設計,主要實現了新建筆記、內容展示、分享筆記、定時提醒、選擇圖片、更改背景顏色及保存筆記等功能。在本文中第一章簡要的介紹了選題依據背景、研究現狀等;第二章中講述了Android的架構以及開發環境的搭建;第三章對SQLite進行了詳細的介紹;第四章進行系統分析;第五章進行系統設計;第六章進行了系統實現;而第七章講述了系統測試。本設計備忘錄軟件能夠穩定運行,體積小且反映靈敏,但還是有幾點不足的地方,例如ListView的同步更新未能得到實現,代碼編寫冗余重復率高、圖片素材布局不太美觀等等。在以后我會改進軟件的不足,以更優的編碼水平,更高超的布局思維模型,并且學習更多新的知識重構這款軟件。相信隨著智能手機在發展中國家的普及,安卓市場上的軟件會擁有龐大的用戶群。致謝在本次畢業設計及論文完成過程中,我得到了太原理工大學軟件學院郝曉燕老師、杰普基地尹珂男老師的認真指導與支持。在此特別感謝兩位老師對我的大力幫助。兩位老師的悉心指導和諄諄教誨,在畢業設計的總體結構、功能的把握上給予了非常大的幫助,同時給予我們提供了非常優越、寬松的設計環境,并對我在編程設計、論文格式結構等細節工作上給予了耐心的指導,對于我順利完成這次畢業論文起到了關鍵性的作用。通過開發本系統,我較全面的掌握了android的基本知識和編程技巧,并在開發過程中我的java開發能力得到了進一步的提高。在開發過程中我學到了一些經驗:系統需求分析的是否合理將決定著的系統開發成功與否,一份合理的需求分析將是成功開發主要因素。我們在著手開發之前不要急于編程,先應有較長的時間去把分析做好,寫出相關的開發文檔等。然后再開始編寫程序代碼,這樣做到每寫一步代碼就會心底有數,有條不紊。參考文獻姚昱旻,劉衛國.Android的架構與應用開發研究[J].計算機系統應用,2008,17(11)孫衛琴,李洪成.Tomcat與JavaWeb開發技術詳解[M].電子工業出版社,2003.6郭愛芳.傳感器原理及應用[M].西安:西安電子科技大學出版社,2007韓兵.觸摸屏技術及應用[M].北京:化學工業出版社,2008楊豐盛.Android技術內幕.系統卷[M].北京:機械工業出版社,2011BruceEckel.Java編程思想[M].機械工業出版社,2003.10孫一林,彭波.Java數據庫編程實例[M].清華大學出版社,2002.8ohzakiR,MaeharaH.Asingle-shotgameofmulti-periodinspection[J].EuropeanJournalofOperationalResearch,2010,207(3)RetoMeier.ProfessionalAndroid2ApplicationDevelopment[M].Birmingham,UK:Wrox,2010Enck,William,Ongtang,Machigar,McDaniel,Patrick.UnderstandingAndroidSecurity[J].IEEEsecurity&privacy,2009,7(1)外文及翻譯Hello,AndroidWhetheryou’reanexperiencedmobileengineer,adesktoporwebdeveloper,oracompleteprogrammingnovice,Androidrepresentsanexcitingnewopportunitytowriteinnovativeapplicationsforanincreasinglywiderangeofdevices.Despitethename,Androidwillnothelpyoucreateanunstoppablearmyofemotionlessrobotwarriorsonarelentlessquesttocleansetheearthofthescourgeofhumanity.Instead,Androidisanopen-sourcesoftwarestackthatincludestheoperatingsystem,middleware,andkeymobileapplications,alongwithasetofAPIlibrariesforwritingapplicationsthatcanshapethelook,feel,andfunctionofthedevicesonwhichtheyrun.Small,stylish,andversatile,modernmobiledeviceshavebecomepowerfultoolsthatincorpo-ratetouchscreens,cameras,mediaplayers,GlobalPositioningSystem(GPS)receivers,andNearFieldCommunications(NFC)hardware.Astechnologyhasevolved,mobilephoneshavebecomeaboutmuchmorethansimplymakingcalls.WiththeintroductionoftabletsandGoogleTV,Androidhasexpandedbeyonditsrootsasamobilephoneoperatingsystem,providingaconsis-tentplatformforapplicationdevelopmentacrossanincreasinglywiderangeofhardware.InAndroid,nativeandthird-partyapplicationsarewrittenwiththesameAPIsandexecutedonthesameruntime.TheseAPIsfeaturehardwareaccess,videorecording,location-basedservices,supportforbackgroundservices,map-basedactivities,relationaldatabases,inter-applicationcommunication,Bluetooth,NFC,and2Dand3Dgraphics.ThisbookdescribeshowtousetheseAPIstocreateyourownAndroidapplications.Inthischapteryou’lllearnsomeguidelinesformobileandembeddedhardwaredevelopment,aswellasbeintroducedtosomeoftheplatformfeaturesavailableforAndroiddevelopment.AndroidhaspowerfulAPIs,excellentdocumentation,athrivingdevelopercommunity,andnodevelopmentordistributioncosts.Asmobiledevicescontinuetoincreaseinpopularity,andAndroiddevicesexpandintoexcitingnewform-factors,youhavetheopportunitytocreateinnovativeapplicationsnomatterwhatyourdevelopmentexperience.ALITTLEBACKGROUNDInthedaysbeforeTwitterandFacebook,whenGooglewasstillatwinkleinitsfounders’eyesanddinosaursroamedtheearth,mobilephoneswerejustthat—portablephonessmallenoughtofitinsideabriefcase,featuringbatteriesthatcouldlastuptoseveralhours.Theydid,however,offerthefreedomtomakecallswithoutbeingphysicallyconnectedtoalandline.Increasinglysmall,stylish,andpowerful,mobilephonesarenowubiquitousandindispensable.Hardwareadvancementshavemademobilessmallerandmoreefficientwhilefeaturingbigger,brighterscreensandincludinganincreasingnumberofhardwareperipherals.Afterfirstincludingcamerasandmediaplayers,mobilesnowfeatureGPSreceivers,accelerometers,NFChardware,andhigh-definitiontouchscreens.Thesehardwareinnovationsofferfertilegroundforsoftwaredevelopment,butuntilrelativelyrecentlytheapplicationsavailableformobilephoneshavelaggedbehindtheirhardwarecounterparts.TheNot-So-DistantPastHistorically,developers,generallycodinginlow-levelCorC++,haveneededtounderstandthespe-cifichardwaretheywerecodingfor,typicallyasingledeviceorpossiblyarangeofdevicesfromasinglemanufacturer.AshardwaretechnologyandmobileInternetaccesshasadvanced,thisclosedapproachhasbecomeoutmoded.PlatformssuchasSymbianwerelatercreatedtoprovidedeveloperswithawidertargetaudience.Thesesystemsprovedmoresuccessfulinencouragingmobiledeveloperstoproviderichapplicationsthatbetterleveragedthehardwareavailable.Althoughtheseplatformsdid,andcontinueto,offersomeaccesstothedevicehardware,theygener-allyrequireddeveloperstowritecomplexC/C++codeandmakeheavyuseofproprietaryAPIsthatarenotoriouslydifficulttoworkwith.Thisdifficultyisamplifiedforapplicationsthatmustworkondiffer-enthardwareimplementationsandthosethatmakeuseofaparticularhardwarefeature,suchasGPS.Inmorerecentyears,thebiggestadvanceinmobilephonedevelopmentwastheintroductionofJava-hostedMIDlets.MIDletsareexecutedonaJavavirtualmachine(JVM),aprocessthatabstractstheunderlyinghardwareandletsdeveloperscreateapplicationsthatrunonthewidevarietyofdevicesthatsupporttheJavaruntime.Unfortunately,thisconveniencecomesatthepriceofrestrictedaccesstothedevicehardware.Inmobiledevelopment,itwaslongconsiderednormalforthird-partyapplicationstoreceivedif-ferenthardwareaccessandexecutionrightsfromthosegiventonativeapplicationswrittenbythephonemanufacturers,withMIDletsoftenreceivingfewofeither.TheintroductionofJavaMIDletsexpandeddevelopers’audiences,butthelackoflow-levelhardwareaccessandsandboxedexecutionmeantthatmostmobileapplicationswereregulardesktopprogramsorwebsitesdesignedtorenderonasmallerscreen,and
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出版業的生產流程管理考核試卷
- 錫冶煉中的廢物資源化考核試卷
- 金屬制品在建筑D打印中的材料研發考核試卷
- 防曬傘結構與性能考核試卷
- 婦產科手術麻醉
- 衛生間空間功能自我分析
- 醫院民生實事工作專題匯報
- 診斷學基礎:肝臟疾病
- 麻醉科業務培訓體系
- 傳染病預防控制體系構建
- 2022年江西南昌高新技術產業開發區人民檢察院聘用制檢察輔助人員招聘考試真題
- 小學安全隱患排查表
- 測控電路課程設計報告-信號采集調理電路的設計【完整版】
- 銀行業法律法規與綜合能力經濟基礎知識課
- 套管開窗側鉆技術
- 2023-2024學年山西省長治市小學語文五年級期末模考題詳細參考答案解析
- 淘寶客服銷售技巧-客戶分析
- 現代物流管理(第三版-錢廷仙)課件3.物流成本核算特點與內容
- 混凝土結構下冊第章鋼筋混凝土框架結構設計
- 江西師范大學師范類教育心理學期末考試答案
- 小區燃氣壁掛爐采購及安裝合同
評論
0/150
提交評論