【正文】
數(shù)據(jù)庫整體結(jié)構(gòu)實(shí)現(xiàn)出來,實(shí)現(xiàn)過程是無可視界面,也沒有數(shù)據(jù)庫輔助工具情況下,整個(gè)過程很抽象。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時(shí)能夠跟很多程序語言相結(jié)合,比如Tcl、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款世界著名開源的數(shù)據(jù)庫管理系統(tǒng)來講,它的處理速度比他們都快。在涉及數(shù)據(jù)庫的軟件開發(fā)中,需要根據(jù)有待解決的問題性質(zhì)、規(guī)模,以及所采用的前端程序創(chuàng)建工具等,做出合適的數(shù)據(jù)庫類型選擇,用戶數(shù)據(jù)庫是基于SQLite建立。只不過這個(gè)倉庫是在計(jì)算機(jī)存儲(chǔ)設(shè)備上,而且數(shù)據(jù)是按一定的格式存放的。數(shù)據(jù)結(jié)構(gòu)組織和數(shù)據(jù)庫文件設(shè)計(jì)要根據(jù)不同用途使用要求等,來決定數(shù)據(jù)的整體組織形式等。為了避免這些問題,我的應(yīng)用應(yīng)該利用適當(dāng)?shù)南到y(tǒng)資源——Notification類來通知用戶。這就會(huì)出現(xiàn)我的應(yīng)用會(huì)在活動(dòng)的應(yīng)用后面顯示對(duì)話框,或者從當(dāng)前應(yīng)用中獲得焦點(diǎn)并顯示對(duì)話框的情況,而管論當(dāng)時(shí)用戶正在做什么(如正在打電話等)。(3)無縫性一個(gè)常見的無縫問題就是一個(gè)應(yīng)用的后臺(tái)進(jìn)程(如service或broadcast receiver)對(duì)某事件作出響應(yīng)而彈出對(duì)話框,這看起來并無大礙,特別是當(dāng)我在模擬器上單獨(dú)地構(gòu)建和測(cè)試系統(tǒng)時(shí)。圖32 不同功能界面切換手機(jī)軟件要有良好的用戶體驗(yàn),良好的用戶體驗(yàn)體現(xiàn)在以下幾個(gè)方面:(1)界面友好用戶界面要簡(jiǎn)潔直觀,設(shè)計(jì)合理,方便用戶操作,讓用戶操作起來比較舒服,并且UI視覺效應(yīng)好。在完成用戶界面設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)和模塊設(shè)計(jì)后,至此程序設(shè)計(jì)階段基本完成。一方面可以避免因網(wǎng)絡(luò)通信不暢造成界面失去響應(yīng);另一方面,后臺(tái)服務(wù)可以及時(shí)更新數(shù)據(jù),以保證數(shù)據(jù)的準(zhǔn)確性。后臺(tái)服務(wù)在程序啟動(dòng)時(shí)就由AppWidgetProvider啟動(dòng),也可由用戶界面通過startService()進(jìn)行啟動(dòng),啟動(dòng)后的后臺(tái)服務(wù)將一直保持運(yùn)行狀態(tài)。3需求分析根據(jù)用戶需求總結(jié)出來的反映了用戶需求的系統(tǒng)邏輯模型轉(zhuǎn)換成可以實(shí)施的物理模型,把整個(gè)設(shè)計(jì)劃分成單元,主要解決如何去做的問題,要想創(chuàng)建整個(gè)通訊錄首先要通過增加聯(lián)系人信息來創(chuàng)建通訊錄。當(dāng)應(yīng)用程序需要使用存儲(chǔ)設(shè)備中的數(shù)據(jù)時(shí),可以使用Content Provider來完成。本系統(tǒng)客戶端擴(kuò)展功能就是采用Service來進(jìn)行設(shè)計(jì)和開發(fā)的。 ServiceService是提供連續(xù)信息的應(yīng)用程序。如在本系統(tǒng)中,當(dāng)用戶正在其它界面進(jìn)行操作時(shí),有好友發(fā)送消息過來,就會(huì)以通知的形式發(fā)送到當(dāng)前界面的正上方來通知用戶。圖22 Activity狀態(tài)變換路徑圖 Intent ReceiverIntent Receiver是用于對(duì)外部事件的響應(yīng),當(dāng)外部事件發(fā)生時(shí),會(huì)使用Notification Manager通知用戶。在應(yīng)用中,我們可以以兩種形式來使用Intent:直接Intent,指定了ponent屬性的Intent,通過指定具體的組件類,通知應(yīng)用啟動(dòng)對(duì)應(yīng)的組件。根據(jù)Intent的描述,負(fù)責(zé)找到對(duì)應(yīng)的組件,將Intent傳遞給調(diào)用的組件并完成組件的調(diào)用。Android使用了Intent類來實(shí)現(xiàn)活動(dòng)之間的切換工作。這段時(shí)間內(nèi)活動(dòng)處于其它所有活動(dòng)之前,并與用戶進(jìn)行交互。onStart()和onStop()方法可以多次調(diào)用,因?yàn)榛顒?dòng)隨時(shí)可以在可見和隱藏之間進(jìn)行轉(zhuǎn)換。在這段時(shí)間內(nèi),即使活動(dòng)不與用戶進(jìn)行交互,用戶也可以在屏幕上看到它。在onCreate()中進(jìn)行所有初始化,在onDestroyO時(shí)進(jìn)行清理工作,釋放資源。當(dāng)一個(gè)新的活動(dòng)啟動(dòng)后,被放到了棧頂,成為了運(yùn)行活動(dòng),而新活動(dòng)之前的活動(dòng)在活動(dòng)棧里總位于新活動(dòng)之下,直到新的活動(dòng)退出才重新回到前臺(tái)。 ActivityActivity是構(gòu)成應(yīng)用程序中最重要的構(gòu)造塊, 在Android應(yīng)用程序中,幾乎都是通過Activity來與用戶進(jìn)行交互,所以Activity主要負(fù)責(zé)的就是創(chuàng)建與用戶進(jìn)行交互的顯示窗口,你可以在這些窗口里通過調(diào)用setContentView(View)方法來顯示你自己的用戶界面。在應(yīng)用程序中使用時(shí),需要在配置文件AndroidMainfest.xml中進(jìn)行配置。它提供諸如內(nèi)存管理、進(jìn)程管理、設(shè)備驅(qū)動(dòng)等服務(wù),同時(shí)也是手機(jī)軟硬件的連接層,提供了一個(gè)屏蔽層用于屏蔽硬件和上層軟件。Dalvik虛擬機(jī)依賴于底層Linux內(nèi)核提供的功能,如線程機(jī)制,和內(nèi)存管理機(jī)制等。這是被優(yōu)化過的最小內(nèi)存依賴的格式。所有的Android應(yīng)用都運(yùn)行在它自己的進(jìn)程里,該進(jìn)程是一個(gè)Dalvik虛擬機(jī)的實(shí)例,Dalvik被設(shè)計(jì)成能在一臺(tái)設(shè)備上高效的運(yùn)行多個(gè)虛擬機(jī)實(shí)例。這些函數(shù)庫包括:標(biāo)準(zhǔn)C函數(shù)庫、媒體功能庫、瀏覽器引擎、2D和3D圖形庫、基于WEB應(yīng)用的的安全協(xié)議SSL、用于點(diǎn)陣和矢量字體渲染的FreeType以及SQLite引擎等。Android本身已在其框架中提高了許多的組件供應(yīng)用程序調(diào)用,當(dāng)然開發(fā)者也開放新的組件,并將組件放入應(yīng)用程序框架中,以供自己和其它應(yīng)用程序調(diào)用。圖21 Android架構(gòu)圖 關(guān)鍵應(yīng)用程序Android平臺(tái)內(nèi)包含一些關(guān)鍵應(yīng)用程序,如郵件收發(fā)客戶端程序、短信收發(fā)程序、日歷和網(wǎng)頁瀏覽器等,開發(fā)者可以在其平臺(tái)上開發(fā)更多有特色的應(yīng)用程序,所用開發(fā)語言是Java。通過編譯基于框架的應(yīng)用程序可以降低開發(fā)負(fù)荷。當(dāng)前活動(dòng)程序可以使用Context. StartService()開啟一項(xiàng)后臺(tái)服務(wù),還可以通過Context. bindService()與后臺(tái)服務(wù)通信。其中,Uri標(biāo)明了ContentProvider存儲(chǔ)的數(shù)據(jù)類型,在執(zhí)行訪問方法時(shí)都需依據(jù)Uri作為路徑標(biāo)識(shí)來確定要訪問哪個(gè)ContentProvider[20]。常用的Intent方法有intent() (構(gòu)造intent)、addcategory() (添加intent類型)、getAction()(獲取intent動(dòng)作)、getData()(獲取intent數(shù)據(jù))等。Intent最重要的作用還是加載activity,它是不同activity間的橋梁。View也包含一些子類,如: TextView(布局文件中的文本顯示)、EditText(布局文件中的文本編輯)、Button(按鈕)、ListView(顯示列表) [19]。圖像顯示View: View是最基本的UI構(gòu)件,它在屏幕中占據(jù)一個(gè)矩形區(qū)域可用來顯示文本、圖像等內(nèi)容,還可完成圖像事件處理。Activity具有生命周期,它包含運(yùn)行、暫停、停止等幾個(gè)狀態(tài),狀態(tài)間的轉(zhuǎn)換可通過調(diào)用onCreate()、onStart()、onRestart()、onResume()、onFreeze()、onPause()、onStop ()、onDestory()等方法來實(shí)現(xiàn)。 Android應(yīng)用程序以各種組件(API)為基礎(chǔ),API是Android軟件平臺(tái)的重要組成部分,也是開發(fā)Android應(yīng)用的關(guān)鍵所在。Java程序運(yùn)行環(huán)境:Android的Java程序運(yùn)行環(huán)境包含一組Java核心函數(shù)庫及Dalvik虛擬機(jī),它們有效地優(yōu)化了Java程序的運(yùn)行過程。C/C++函數(shù)庫:Android應(yīng)用程序框架之下是一套C/C ++函數(shù)庫,它們服務(wù)于Android應(yīng)用程序組件,其功能通過組件間接提供給開發(fā)者。應(yīng)用程序框架及組件:Android 應(yīng)用程序開發(fā)基于框架和組件。Android軟件平臺(tái)主要由五部分構(gòu)成,它們分別是:關(guān)鍵應(yīng)用程序、應(yīng)用程序框架和組件、C /C ++函數(shù)庫、Java程序運(yùn)行環(huán)境、優(yōu)化了的Linux內(nèi)核[15]。Android它的開放性就優(yōu)于其它封閉式的手機(jī)系統(tǒng),因此,任何人都可能根據(jù)自己的喜好將手機(jī)系統(tǒng)中的所有功能重新編寫。平臺(tái)上的應(yīng)用程式可相容于各種型號(hào)的Android 手機(jī),免去為各種不同手機(jī)機(jī)型開發(fā)的困擾。只要廠商有能力,可以在這個(gè)平臺(tái)上自由加入特有的裝置或功能,不受手機(jī)作業(yè)系統(tǒng)廠商的限制。對(duì)于設(shè)備制造商來說,Android是一個(gè)免費(fèi)的平臺(tái)。最上層是各種應(yīng)用軟件,包括通話程序,短信程序等,應(yīng)用軟件則由各公司自行開發(fā),以Java作為編寫程序的一部分,不存在任何以往阻礙移動(dòng)產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。底層以Linux內(nèi)核工作為基礎(chǔ),由C語言開發(fā),只提供基本功能。于2007年11月5日宣布的基于Linux平臺(tái)的開源手機(jī)操作系統(tǒng)的名稱,該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,號(hào)稱是首個(gè)為移動(dòng)終端打造的真正開放和完整的移動(dòng)軟件。本文詳細(xì)的提出了軟件的架構(gòu),以及通訊錄的設(shè)計(jì)方案;采用Java開源的JAR包對(duì)HTML文件進(jìn)行分析和獲取圖片和文字信息;對(duì)各個(gè)界面的布局和實(shí)現(xiàn)方式進(jìn)行詳細(xì)說明;對(duì)數(shù)據(jù)庫設(shè)計(jì)模塊進(jìn)行了詳盡的需求分析,經(jīng)分析得到數(shù)據(jù)庫設(shè)計(jì)模塊,它主要完成用戶對(duì)已經(jīng)獲取的內(nèi)容的存儲(chǔ),刪除和查詢等操作;運(yùn)用Android提供的各種組件設(shè)計(jì)和實(shí)現(xiàn)很好的UI效果,實(shí)現(xiàn)很好的用戶體驗(yàn);詳細(xì)介紹了該軟件的性能優(yōu)化。本文首先給出了系統(tǒng)的研究背景,對(duì)當(dāng)前手機(jī)通訊錄的發(fā)展現(xiàn)狀做了簡(jiǎn)單的介紹。響應(yīng)menu鍵的觸發(fā)事件,設(shè)置底部菜單是否可見,并通過對(duì)底部菜單選項(xiàng)的監(jiān)聽實(shí)現(xiàn)底部菜單中的增加、查找、刪除、菜單、退出等功能,其中菜單包括顯示所有、刪除所有、號(hào)碼備份功能。說到保存,不得不說得是保存信息涉及添加新聯(lián)系人的頭像,姓名,手機(jī)號(hào)碼,辦公室電話,家庭電話,職務(wù)職稱,單位名稱,地址,郵政編碼,Email,其他聯(lián)系方式,備注這些信息。其中包括了2個(gè)Button,分別實(shí)現(xiàn)了不同的功能。本設(shè)計(jì)主要是采用Android的View框架編寫,部分框架運(yùn)用Android中的其他組件。在此背景下,開發(fā)的基于Android手機(jī)通訊錄具有十分重要的意義。然而現(xiàn)在很多通訊錄一味追求外觀花哨,功能繁雜,對(duì)于大多數(shù)用戶,許多功能用不上,形同虛設(shè)。又其次,因?yàn)槭謾C(jī)是隨身攜帶的通訊工具,這與記事本相比將在一定程度上保障了聯(lián)系人信息的安全性,相對(duì)避免了個(gè)人隱私信息外泄從而帶來的損失[11]。針對(duì)性的分門別類,使系統(tǒng)具有了方便了機(jī)主的存儲(chǔ)和快速查閱優(yōu)勢(shì)功能,大大減少了在電話簿,名片上機(jī)械翻閱查找過程的時(shí)間。根據(jù)市場(chǎng)需求,手機(jī)通訊錄管理系統(tǒng)所記錄的信息一般分為個(gè)人、商業(yè)、辦公三類。 Sullivan的王煜全也曾多次強(qiáng)調(diào)過手機(jī)通訊錄是一塊顛覆性創(chuàng)新的金礦,是創(chuàng)業(yè)者們創(chuàng)新的絕佳平臺(tái)。另外,不同于微博,社交網(wǎng)站,手機(jī)通訊錄是完全屬于用戶的,而不隸屬于某個(gè)特定公司或是服務(wù),只要獲得用戶的認(rèn)可,即使不是大公司也可以借此迅速建立起一個(gè)巨大的關(guān)系網(wǎng)絡(luò)[10]。在這個(gè)人與人關(guān)系愈加密切的時(shí)代,“通訊”成了生活中的必需品。生活在信息高速發(fā)展的今天,智能手機(jī)的普及己經(jīng)是不可改變的趨勢(shì)。職業(yè)專家分析說,由于目前Android技術(shù)較新,具有開拓空間,無論是相關(guān)書籍、培訓(xùn)還是大學(xué)教育,都處于初級(jí)階段,因此Android人才短期將供不應(yīng)求。從人才需求類型來看,目前對(duì)Android人才需求一類是偏向硬件驅(qū)動(dòng)的Android人才需求,一類是偏向軟件應(yīng)用的Android人才需求。隨著應(yīng)用商店的不斷發(fā)展和開發(fā)者的涌入,Android平臺(tái)的應(yīng)用資源優(yōu)勢(shì)正在逐步的擴(kuò)大[7]。各大Android應(yīng)用商店呈現(xiàn)百花齊放的態(tài)勢(shì)。Android系統(tǒng)則擁有低廉的引入成本,在應(yīng)用方面的資源豐富,以及良好的用戶體驗(yàn)開放性較強(qiáng)的特點(diǎn),適應(yīng)了移動(dòng)互聯(lián)網(wǎng)的發(fā)展趨勢(shì),切合了移動(dòng)互聯(lián)網(wǎng)產(chǎn)業(yè)鏈各方的發(fā)展變化需求,所以取得了迅猛的發(fā)展[6]。Android是一個(gè)基于Linux 核心(kernel)的開放手機(jī)平臺(tái)作業(yè)系統(tǒng),與Windows Mobile、Symbian 等手機(jī)作業(yè)系統(tǒng)處在同一級(jí)別,其中占有開放源代碼優(yōu)勢(shì)的Android系統(tǒng)有最大的發(fā)展前景。第三類就是針對(duì)與通訊錄之上提供的拓展應(yīng)用服務(wù)提供商,比如:米聊和微信,你可以通過上面去發(fā)短信,實(shí)現(xiàn)多種通信能力的聚合[5]。目前國內(nèi)的通訊錄應(yīng)用服務(wù)商分為三類,第一類如幸會(huì)、名片全能王、QR掃描等等,這些產(chǎn)品主要是為了解決名片交換時(shí)候輸入難度較高的問題。在這個(gè)人與人關(guān)系愈加密切的時(shí)代,“通訊”成了生活中的必需品。 2012年2月數(shù)據(jù),%的份額,%[3]。Android的主要競(jìng)爭(zhēng)對(duì)手是蘋果公司的iOS以及RIM的Blackberry OS。Android操作系統(tǒng)最初由Andy Rubin開發(fā),最初主要支持手機(jī)。Android是一種以Linux為基礎(chǔ)的開放源碼操作系統(tǒng),主要使用于便攜設(shè)備。4.具有PDA功能,其中包括個(gè)人信息管理、日程記事、任務(wù)安排、多媒體應(yīng)用、瀏覽網(wǎng)頁等。2.人性化,可以根據(jù)個(gè)人需要擴(kuò)展機(jī)器的功能。目前,全球多數(shù)手機(jī)廠商都有智能手機(jī)產(chǎn)品,而芬蘭諾基亞、美國蘋果、加拿大RIM(黑莓)、美國摩托羅拉、中國臺(tái)灣宏達(dá)(htc)都是智能機(jī)中的佼佼者[1]。 Smartphone。關(guān)鍵詞:Android;手機(jī)通訊錄;智能手機(jī); Design and Implementation of Mobile Phone Contacts Based on Android Abstract: With the 3G promotion of thirdgeneration munications technology, wireless bandwidth and transmission speed have been improved significantly, and provides a good platform for smart mobile terminals to add more contentrich applications. The design is based on the Google Corporation a new version of the Linux platform to the source mobile phone operating system Android system, using Java language, Eclipse as a development tool, through the Android platform system architecture and a