郭強 吳朝霞
摘要:Android作為目前被廣泛使用的應用程序開發(fā)技術,被應用到了各種移動終端設備上,由于其具有使用方便、開源、硬件平臺豐富的特點,再加上Google公司的各方面的支持,使得Android深受開發(fā)者的青睞。該文通過對Android技術的特點和應用進行分析,并結合Android系統(tǒng)的SQLite存儲,設計和實現(xiàn)了移動終端上成長日記系統(tǒng)應用,包含了成長筆記、成長相冊、成長基金等功能。
關鍵詞:Android;成長日記;相冊;SQLite
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)36-0081-01
由于移動終端設備的普及和Android技術的流行,使得Android技術得到了廣泛的應用,Android應用也漸漸成為當前人們生活中不可缺少的一部分。為了能夠幫助家長能夠更好的記錄孩子的成長過程,本文設計實現(xiàn)了基于Android的成長日記系統(tǒng),可以幫助家長在孩子出生之后和成長的過程中記錄信息,寫下每天的心情和筆記,同時使用設備的拍照功能制作成長相冊,以及實現(xiàn)對成長過程中的日常開銷和上學期間的支出和收入進行詳細的記錄和分類整理。對圖片的引入貫穿了整個系統(tǒng),使得所有的記錄都能夠圖文并茂。同時利用Android的網(wǎng)絡編程技術實現(xiàn)對數(shù)據(jù)的網(wǎng)絡存儲,使用Android系統(tǒng)自帶的SQLite數(shù)據(jù)庫系統(tǒng)實現(xiàn)數(shù)據(jù)的本地存儲。使成長信息的記錄數(shù)字化、網(wǎng)絡化,更加的便捷有效,為家長和孩子的成長帶來歡樂,同時也會成為美好的記憶。
1 成長日記系統(tǒng)的設計
成長日記系統(tǒng)用于對孩子的成長過程信息進行記錄,面向的用戶是家長。為了能夠對成長過程進行較全面的信息記錄,系統(tǒng)的設計主要分為了成長筆記模塊,成長相冊模塊,成長基金模塊和系統(tǒng)模塊4部分組成。由于每個系統(tǒng)對應了一個設備終端,一個終端也就意味著一個用戶,所以系統(tǒng)不需要設計用戶的注冊和登錄模塊。
1) 成長日記:實現(xiàn)日記的書寫功能,采用所寫即所得的方式,可以進行文字記錄和手工繪圖,同時實現(xiàn)對筆觸的顏色和類型的選擇。實現(xiàn)日記的多頁記錄和翻頁功能。
2) 成長相冊:實現(xiàn)相冊的制作功能,對照片進行導入,編輯,組合的功能,并能對制作完成的相冊進行保存、瀏覽的功能。
3) 成長基金:用于記錄成長過程的基本信息的記錄,資金的支出和收入以及核算的功能,同時可以插入圖片,進行更生動的記錄。
4) 系統(tǒng)功能:實現(xiàn)對系統(tǒng)的設置。
2 系統(tǒng)實現(xiàn)關鍵技術
2.1 手寫功能的實現(xiàn)
在Android中提供了關于繪圖的API可供使用,在View類中,提供了虛函數(shù)onDraw(Canvas canvas)實現(xiàn)對觸摸屏觸摸動作的響應,因此在類的構建中需要繼承View類,并實現(xiàn)onDraw函數(shù),同時提供了onTouch函數(shù)用以響應觸摸屏上的移動操作,根據(jù)事件類型分為了按下:ACTION_DOWN、移動ACTION_MOVE和抬起ACTION_UP這三個動作,可以很好的反映出用戶在觸摸屏上的動作效果,利用畫布類canvas的drawPaint函數(shù)實現(xiàn)筆跡的繪制,同時利用invalidate函數(shù)實現(xiàn)對界面的刷新。
此外在Android中提供了一個重要的類Path可以實現(xiàn)對觸摸路徑的保存,利用canvas的drawPath函數(shù)可以有效地繪制觸摸路徑。
2.2 照片的編輯
眾所周知,圖片擁有較大的存儲體積,因此在存儲和處理上都會有一些困難,可能會出現(xiàn)系統(tǒng)響應緩慢的問題,因此需要首先對用戶提供的圖片進行處理。在Android中BitmapFactory.Options提供了有效的解決方案,利用BitmapFactory.decodeStream方法可以對圖片流進行有效的編碼,inJustDecodeBounds和inPurgeable屬性可以使開發(fā)者更改圖片的體積。
對圖片的旋轉利用了Matrix類的相關功能,matrix.preRotate函數(shù)可以實現(xiàn)對圖片設置任意的旋轉角度,matrix.postScal函數(shù)可以實現(xiàn)用戶在觸摸屏上對圖片的縮放功能。
2.3 數(shù)據(jù)的保存
首先是對圖片的保存,由于圖片的體積原因,所以直接將圖片保存本地存儲空間的指定目錄下,這就使用到了File類的相關操作。
對數(shù)據(jù)的保存需要使用到Android系統(tǒng)自帶的SQLite數(shù)據(jù)庫。SQLiteDatabase類用以實現(xiàn)數(shù)據(jù)庫對象,提供了openOrCreateDatabase函數(shù)打開數(shù)據(jù)庫,以及insert、delete、update、query函數(shù)實現(xiàn)數(shù)據(jù)庫信息的增刪改查功能,同時Context提供了數(shù)據(jù)庫操作的上下文信息。
3 系統(tǒng)的實現(xiàn)
1)手寫筆記實現(xiàn)插圖和手寫輸入的功能,如圖1所示。實現(xiàn)了對手寫筆跡的數(shù)據(jù)庫保存,和日記背景圖片和插圖的文件保存。
2)實現(xiàn)成長相冊的功能菜單,實現(xiàn)圖片的導入,導出,編輯和瀏覽功能。如圖2所示。
4 結束語
系統(tǒng)結合Android技術和開發(fā)平臺的特點,設計了滿足用戶記錄孩子成長信息的移動端應用程序,主要實現(xiàn)了手寫筆記,成長相冊等主要功能,在數(shù)據(jù)的存儲上即使用到了文件的存儲和讀取功能,也是用到了SQLite的數(shù)據(jù)庫操作。
參考文獻:
[1] 王曉辰.基于Andorid平臺掌上求職通的設計與實現(xiàn)[D].長春: 吉林大學,2016.
[2] 項亮.基于移動平臺的圖片制作系統(tǒng)設計與實現(xiàn)[D]. 上海: 上海交通大學,2013.
[3] 宋小倩,周東升.基于Android平臺的應用開發(fā)研究[J].軟件導刊,2011(2).