基于Android的手機(jī)日志薄系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)_第1頁(yè)
基于Android的手機(jī)日志薄系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)_第2頁(yè)
基于Android的手機(jī)日志薄系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)_第3頁(yè)
基于Android的手機(jī)日志薄系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第 32 卷第 12 期湖 北 科 技 學(xué) 院 學(xué) 報(bào)vol 32,no 122 0 1 2 年 1 2 月 journal of hubei university of science and technology dec 2012 文章編號(hào): 2095 4654( 2012) 12 0048 04*基于的手機(jī)日志薄系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)android汪蓉( 湖北科技學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,湖北 咸寧437100)摘 要: 本文基于 android 平臺(tái)在 eclipses 環(huán)境下設(shè)計(jì)和實(shí)現(xiàn)了一個(gè)加密手機(jī)日志薄功能系統(tǒng) 著重闡述了從用戶獲取數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù),以及從數(shù)據(jù)庫(kù)中查看和修改存儲(chǔ)的日志數(shù)據(jù)

2、,在程序中的具體實(shí)現(xiàn)過(guò)程 向用戶展示了 一個(gè)完整的手機(jī)功能開(kāi)發(fā)的項(xiàng)目 并在文章的最后對(duì) android 操作系統(tǒng)的發(fā)展前景做出了展望關(guān)鍵詞: 智能手機(jī)操作系統(tǒng); android,linux; 數(shù)據(jù)庫(kù)中圖分類號(hào): tp311文獻(xiàn)標(biāo)識(shí)碼: aandroid 一詞的英文本義是“機(jī)器人”,它是 google 公司于 2007 年 11 月宣布的基于 linux 平臺(tái)的開(kāi)源手機(jī)操作 系統(tǒng),該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組 成 ,采用了軟件堆層的架構(gòu),是首個(gè)為移動(dòng)終端打造的真 正開(kāi)放和完整的移動(dòng)軟件1 這個(gè)操作系統(tǒng)雖然是輕量級(jí) 的,但是功能很全面 從 android 發(fā)展的歷史可以看出,這

3、是一門(mén)新興的技術(shù),市場(chǎng)的需求很大,并且處于膨脹階段 可以預(yù)見(jiàn),隨著市場(chǎng)需求和手機(jī)功能的不斷強(qiáng)大,智能手機(jī) 將在不久的將來(lái)日益普遍化,手機(jī)市場(chǎng)將迎來(lái)智能時(shí)代 對(duì)于還不太完善的智能手機(jī)功能的研發(fā),繼續(xù)創(chuàng)造新的應(yīng) 用軟件和完善已有的應(yīng)用軟件功能,對(duì)促進(jìn) android 操作 系統(tǒng)的推廣應(yīng)用具有重要的作用 本文基于 android 平臺(tái) 在 eclipses 環(huán)境下開(kāi)發(fā)一款專注于手機(jī)的應(yīng)用軟件 雖然很 多手機(jī)都有日志薄功能,但我們?cè)谠械幕A(chǔ)上進(jìn)行了改 進(jìn)和加強(qiáng),主要完善了以下三個(gè)方面的功能: ( 1) 對(duì)日志薄 進(jìn)行加密,能夠有效地防止內(nèi)容被他人翻閱,和在手機(jī)遺失 的情況下資料可能泄露的問(wèn)題; (

4、2 ) 改變了傳統(tǒng)日志薄的 文件存儲(chǔ)方式,采用輕型數(shù)據(jù)庫(kù) sql 進(jìn)行存取,使得其功 能更加完善,且便于對(duì)大量數(shù)據(jù)的操作; ( 3) 增加了相冊(cè)功 能,可以讓用戶更直觀、簡(jiǎn)捷地對(duì)圖片資源進(jìn)行操作 這樣 就使這款應(yīng)用軟件變得更強(qiáng)大,也更加受到用戶的青睞,易 于推廣1 總體設(shè)計(jì)圖 1系統(tǒng)功能 er 圖1 2 系統(tǒng)模塊設(shè)計(jì)根據(jù)上面的功能,我將系統(tǒng)的設(shè)計(jì)劃分為四個(gè)模塊來(lái) 分別實(shí)現(xiàn) 如圖 2 所示,它們分別是:( 1) 登陸界面: 實(shí)現(xiàn)手機(jī)用戶進(jìn)入系統(tǒng),驗(yàn)證賬號(hào)信 息;( 2) 索引界面: 系統(tǒng)功能菜單主界面,用戶在此選擇要 繼續(xù)的服務(wù)功能項(xiàng);( 3) 日志列表: 這是實(shí)現(xiàn)用戶翻閱所有日志、寫(xiě)新日系統(tǒng)功

5、能設(shè)計(jì)本系統(tǒng)主要功能劃分成兩個(gè)部分: 對(duì)日志的新建、修 改,對(duì)個(gè)人相冊(cè)的操作 首先,當(dāng)用戶輸入正確的賬號(hào)和密 碼后,進(jìn)入索引界面 然后,用戶有選擇地進(jìn)入行程日志列 表或者個(gè)人相冊(cè) 在日志列表中,可以讀、寫(xiě)里面的資料信 息; 在相冊(cè)中則可以翻看手機(jī)里存的相片 此應(yīng)用的主要功 能側(cè)重在對(duì)日志的新建、查看、編輯和刪除等操作上 系統(tǒng) 功能 er 圖如圖 1 所示:1 1志、編輯已存在的日志、刪除已存在的日志等功能的模塊,系統(tǒng)需要實(shí)現(xiàn)在用戶建第一篇日志時(shí)新建一個(gè)輕型 sqlite數(shù)據(jù)庫(kù),在用戶刪完所有日志時(shí)總動(dòng)清除日志表,盡量不占* 收稿日期: 2012 11 19個(gè)輸入框分別是賬號(hào)和密碼 手機(jī)登陸界面

6、運(yùn)行后的效果如圖 3 所示:圖 2 系統(tǒng)模塊設(shè)計(jì)在這四個(gè)模塊當(dāng)中,日志列表塊的設(shè)計(jì)最為復(fù)雜,所用到的技術(shù)最多 因?yàn)閭鹘y(tǒng)的手機(jī)日志薄是利用文件存儲(chǔ)數(shù) 據(jù)的,但是我們?cè)谶@里用到 sqlite,對(duì)其功能進(jìn)行了增強(qiáng)改 善2 功能實(shí)施2 1 登陸界面根據(jù)設(shè)計(jì)的思想,我們首先需要建立一個(gè)驗(yàn)證用戶的 登錄系統(tǒng)界面,讓它驗(yàn)證用戶的信息是否正確 以達(dá)到防止 個(gè)人手機(jī)資料被他人翻閱的目的 我們?cè)?layout 布局文件 里做一個(gè) xml 腳本語(yǔ)言文件,設(shè)置登陸界面的模式,其代 碼如下: ? xml version = 1 0 encoding = utf 8 ? linearlayout xmlns: andro

7、id = http: / / schemas an- droid com / apk / res / androidandroid: orientation = verticalandroid: layout_width = fill_parentandroid: layout_height = fill_parent android: background= drawable / pace 通過(guò) android: orientation = vertical 設(shè)置界面布局為垂 直通過(guò) android: layout_width = fill_parent 設(shè)置界面寬度 為填充整個(gè)屏幕 hei

8、ght 屬性同上,填充整個(gè)屏幕 android: background = drawable / pace 是設(shè)置背景屬 性,用 圖 片 pace 作為背景,這個(gè)資源在 res 中的 dravable 文件夾中我們還需設(shè)置一個(gè)文本框,顯示界面的標(biāo)題 標(biāo)題內(nèi)容 是 res 里 string 文件中的一個(gè)名為 hello 的 string 字符串 通過(guò) layout_width 設(shè)置此編輯框的寬度,這里設(shè)置的是自適應(yīng) 大小,根據(jù)輸入的文本內(nèi)容自動(dòng)調(diào)整 同 樣 通 過(guò) layout _圖 3 登陸界面這里的賬號(hào)默認(rèn)設(shè)置為手機(jī)號(hào)碼,密碼為手機(jī)持有者與通信公司協(xié)議設(shè)定的手機(jī)密碼當(dāng)輸入的賬號(hào)或密碼不正確時(shí)

9、,會(huì)彈出錯(cuò)誤提示2 2 索引界面 索引界面的布局與登陸類似,定義一個(gè)布局的 xml 文件,其部分代碼如下: buttonandroid: text = 行程日志 android: id = + id / diaryandroid: layout_width = wrap_content android: layout_height = wrap_content android: layout_marginleft = 30dp android: width = 150dpandroid: layout_margintop = 35dp / button buttonandroid: text

10、= 個(gè)人相冊(cè) android: id = + id / photoandroid: layout_width = wrap_content android: layout_height = wrap_content android: layout_marginleft = 30dp android: width = 150dp / button ,50湖北科技學(xué)院學(xué)報(bào)第 32 卷所示 與之對(duì)應(yīng)的布局文件是 diary_edit xml圖 4 索引界面2 3 行程日志在索引 java 文件里我們可以看到,當(dāng)用戶點(diǎn)擊日志欄 時(shí),會(huì)從當(dāng)前界面跳到 activitymain class 單元 其實(shí)在這

11、一 部分功能的實(shí)現(xiàn)里,我一共建立了四個(gè)邏輯 java 文件,分別 是 activitydiaryeditor java 、activitymain java、diary java 和 diarycontentprovider java,四個(gè)文件共同實(shí)現(xiàn)了一個(gè)可讀寫(xiě) 編輯的日志薄 下面將對(duì)這四個(gè)文件進(jìn)行一一介紹2 3 1 activitymain程序的主 activity 是 activitymain,它是一個(gè) listactivi- ty,和它關(guān)聯(lián)的布局文件是 diary_list xml 該文件實(shí)現(xiàn)的功 能是將已有的日志以特定的排列方式排布出來(lái),前面將顯 示所有日志的標(biāo)題,繼而是創(chuàng)建該日志的

12、時(shí)間 時(shí)間是根據(jù) 手機(jī)時(shí)刻獲取的 當(dāng)用戶點(diǎn)擊 menu 按鍵時(shí)將會(huì)在屏幕下方 顯示出三個(gè)功能按鈕,分別完成創(chuàng)建一篇新日志、編輯當(dāng)前 選中的日志和刪除當(dāng)前選中的日志的功能 日志薄的界面 如圖 5 所示:圖 6 編輯日志通過(guò) insertdiary 在數(shù)據(jù)庫(kù)中新建一條日志記錄,或者 通過(guò) updatediary 復(fù)寫(xiě)和編輯一條已存在的日志記錄 當(dāng)程 序運(yùn)行,用戶在輸入框中輸入內(nèi)容,單擊確定按鈕后,寫(xiě)入 的日記數(shù)據(jù)就會(huì)以字符串的形式保存到數(shù)據(jù)庫(kù)中 單擊“確 定”按鈕時(shí)系統(tǒng)會(huì)執(zhí)行和按鈕綁定的 onclick 方法2 3 3 diary這個(gè) java 文件內(nèi)容十分簡(jiǎn)單,主要是為日志做標(biāo)簽整 理,代碼如下

13、:public static final class diarycolumns implements basecolumnsprivate diarycolumns( ) public static final uri content _ uri = uri parse ( content: / / + authority + / diaries ) ;public static final string content _ type = vnd an- droid cursor dir / vnd google diary ;public static final string conten

14、t _ item _ type = vnd android cursor item / vnd google diary ;public static final string default_sort_order = created desc ;public static final string title = title ;public static final string body = body ;public static final string created = created ;這里的 authority 要求是唯一,而且和 manifest 當(dāng)中 provider 標(biāo)簽的

15、 authority 內(nèi)容一致 這樣便于用戶通過(guò) 識(shí)別日志標(biāo)題來(lái)回憶日志里記錄的大致內(nèi)容2 3 4 diarycontentprovider 這個(gè)文件主要實(shí)現(xiàn)如下的一些功能: ( 1) 插入一條日志圖 5 日志簿界面對(duì)單擊 menu 里邊按鈕的處理邏輯全部放在 onmeanu- itemselected 函數(shù)里,用戶單擊這個(gè)菜單按鈕時(shí)會(huì)在手機(jī)屏 幕的下方出現(xiàn)兩個(gè)功能選項(xiàng) 如果單擊添加一篇新日志按 鈕,那么會(huì)執(zhí)行 creatediary ( ) 語(yǔ)句 如果單擊刪除一條記 錄,會(huì)執(zhí)行 mdbhelper deletediary( getlistview( ) getselete- ditemid(

16、 ) ) 語(yǔ)句,刪除當(dāng)前被選中的某一項(xiàng)對(duì)應(yīng)的數(shù)據(jù)庫(kù) 當(dāng)中的記錄2 3 2 activitydiaryeditor單擊“添加新日記”的按鈕,程序運(yùn)行界面將會(huì)如圖 6首先我們通過(guò)語(yǔ)句 surimatcher match ( uri) != dia-ries 對(duì)傳進(jìn)來(lái)的 uri 進(jìn)行判斷,如果這個(gè) uri 不是 diaries類型的,那么這個(gè) uri 就是一個(gè)非法的 uri 14然后 sqlitedatabase db=mopenhellpe getwriteable-database( ) 語(yǔ)句負(fù)責(zé)得到一個(gè) sqlitedatabase 的實(shí)例 dbinsert( diary _ table _

17、name,diarycolumns body,val- ues) ; 語(yǔ)句負(fù)責(zé)插入一條記錄到數(shù)據(jù)庫(kù)中 15 需要注意的 是,insert( ) 返回的是一個(gè) uri,而不是一個(gè)就的 id,所以我通過(guò)覆蓋原有的內(nèi)容實(shí)現(xiàn)對(duì)日志記錄的更新操作:( 4) 獲取編輯時(shí)間通過(guò)一個(gè)標(biāo)準(zhǔn)函數(shù)來(lái)獲得編輯時(shí)刻 通過(guò)這個(gè)函數(shù)我 們將獲得以手機(jī)時(shí)間為準(zhǔn)的日志生成的時(shí)間 此時(shí)間被顯 示在日志列表的末尾 這樣,用戶在日志列表里標(biāo)題的后面 就可以看到他寫(xiě)完這篇日志時(shí)的時(shí)間2 4 相冊(cè)設(shè)計(jì)圖片資料也是個(gè)人資源文件中常用的,所以在此系統(tǒng) 中特別添加了一個(gè)個(gè)人相冊(cè),以儲(chǔ)存和查看個(gè)人所拍和已 存的圖片 點(diǎn)擊相冊(cè),所有手機(jī)里的相片將

18、被調(diào)出以列舉 被用戶選中的圖片將以自適應(yīng)大小的格式填充整個(gè)屏幕, 而其他鄰近的圖片的縮略圖將被排列在屏幕的下方,供用 戶選擇和查看在其布局 xml 文件代碼中外層大的 relativelayout 組 件包含了兩個(gè)控件,分別是 imageswithcer 和 gallyery,imag- eswithcer 是用來(lái)圖片顯示的那塊區(qū)域的控件,gallery 是來(lái) 控制地下那個(gè)圖標(biāo)列表索引用的 getview 方法里動(dòng)態(tài)提供至此,整個(gè)日志薄系統(tǒng)設(shè)計(jì)和調(diào)試完成結(jié) 語(yǔ)本文在基于 android 內(nèi)核以及其架構(gòu)的基礎(chǔ)上,設(shè)計(jì)3了一個(gè)加密日志系統(tǒng),著重闡述了從用戶獲取數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù),以及從數(shù)據(jù)庫(kù)中查看和修改存儲(chǔ)的日志數(shù)據(jù),在程 序中的具體實(shí)現(xiàn)過(guò)程,并配備了大量的圖片,顯示了操作的 主要界面、用戶的使用操作流程和實(shí)際運(yùn)行出來(lái)的效果 該 系統(tǒng)具有較強(qiáng)的實(shí)用性鑒于 android 智能手機(jī)在國(guó)內(nèi)還并未普及,其操作系統(tǒng) 和應(yīng)用功能體系并不完善 因此對(duì)于 android 操作系統(tǒng)的手 機(jī)功能開(kāi)發(fā)有助于智能手機(jī)性能的提高,并對(duì)其發(fā)展市場(chǎng) 的拓展有莫大的幫助,這也是我們探索的意義所在 可以預(yù) 見(jiàn),中國(guó)的手機(jī)市場(chǎng)在不久的將來(lái),會(huì)迎來(lái) 3g 智能手機(jī)的 時(shí)代參考文獻(xiàn):1王向輝,張國(guó)印,沈潔 android 應(yīng)用程序開(kāi)發(fā)m 北京:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論