喬富強(qiáng)
摘要:近年來,我國Android平臺智能的快速發(fā)展崛起,也使得對Android軟件開發(fā)的也呈現(xiàn)出一個大幅度增加的趨勢。同時伴隨著國內(nèi)移動互聯(lián)網(wǎng)的快速崛起,4G網(wǎng)絡(luò)也得到了進(jìn)一步的普及,同時硬件性能的更好地提高,使得Android智能手機(jī)成為了耀眼的星星。該文將對SQLite數(shù)據(jù)庫的Android工作行程管理系統(tǒng)構(gòu)建進(jìn)行研究。
關(guān)鍵詞:SQLite數(shù)據(jù)庫;Android工作行程管理系統(tǒng);構(gòu)建
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)20-0005-02
android智能手機(jī)就好比一個小型筆記本電腦,有非常強(qiáng)的計算能力,用戶可以安裝和運行應(yīng)用程序,運行更為全面的操作系統(tǒng),可以提供完整的應(yīng)用程序開發(fā)平臺。當(dāng)前,基于Android平臺的軟件開發(fā)大多數(shù)都需要數(shù)據(jù)的存儲與操作,在大部分Android應(yīng)用程序里都需要使用到SQLite數(shù)據(jù)庫。數(shù)據(jù)庫SQLite具有輕量、操作簡單和運行效率高的特點,作為android工作行程管理系統(tǒng)的開發(fā)設(shè)計,要方便用戶隨時隨地管理個人工作行程,同時還帶有鬧鐘提醒功能,數(shù)據(jù)庫SQLite是一個最佳的選擇。
1 SQLite認(rèn)識
SQLite是一款非常流行開源的嵌入式關(guān)系數(shù)據(jù)庫,由美國加州大學(xué)D. Richard Hipp發(fā)布。它的性能很好,有效減少應(yīng)用程序?qū)?shù)據(jù)管理的開銷,能夠獨立運行,同時還不需安裝和配置,占用空間很小,而且運行速度很快;另外SQLite是開源的,無論誰都能夠使用它。在Android應(yīng)用程序里實際上是Java程序,在Java程序里數(shù)據(jù)庫的操作會讓程序員自然想到用JDBC,但是為JDBC占用很多的系統(tǒng)資源,對手機(jī)或Pad存儲有限的設(shè)備并不適用,因此就提供了API來控制SQLite數(shù)據(jù)庫。API(ApplicationProgrammingInterface 應(yīng)用程序編程接口)是SQLite的公共接口,易用性非常好,支持大部分 SQL-92 標(biāo)準(zhǔn),也支持事務(wù)的ACID 特性,包括持久性、隔離性、一致性與原子性等特性,應(yīng)用程序接口的實現(xiàn)主要是利用main.c,table.c,legaey.c和vdbeapi.c程序?qū)崿F(xiàn)的。SQLite數(shù)據(jù)庫還具有支持文件與內(nèi)存兩種模式。假設(shè)打開SQLite數(shù)據(jù)庫,使用其中名為memory的文件,數(shù)據(jù)庫的內(nèi)容就一直停留在內(nèi)存,也不會產(chǎn)生任何的磁盤文件。SQLite數(shù)據(jù)庫存在的一個問題就是當(dāng)前數(shù)據(jù)庫連接被斷開或者關(guān)閉后就會消失,這時我們就需要在關(guān)閉的時候把內(nèi)存數(shù)據(jù)庫的內(nèi)容寫入到磁盤里面。
2 SQLite數(shù)據(jù)庫的android工作行程管理系統(tǒng)的開發(fā)設(shè)計
2.1 SQLite數(shù)據(jù)庫的android工作行程管理系統(tǒng)的功能性需求
首先,工作行程的基本管理。作為一款A(yù)ndroid App 工作行程管理系統(tǒng),在移動終端上用戶具有方便、快捷的日程管理,可以把日常的學(xué)習(xí)工作機(jī)會、旅行計劃、會議安排等各種事情隨時都記錄在系統(tǒng)里面,方便用戶增、刪、改、查這些功能,“增”就是手動添加日程各種信息,“刪”就是刪除錄入不需要的信息,“改”就是對錄入的信息實施修改,“查”就是在系統(tǒng)中根據(jù)類型、重要性、日期等實現(xiàn)豐富的查詢。其次鬧鐘定時提醒服務(wù)功能。用戶根據(jù)自己的日程安排情況開啟提醒功能,就是在讀取系統(tǒng)時間和日程表時間相匹配產(chǎn)生鬧鐘提醒功能,對于在一些特殊場合不便于使用響鈴來提醒功能,可以以手動設(shè)置提醒模式為震動功能。再次用戶管理功能。每個用戶在使用android智能手機(jī)時,都擁有自己的賬號,用戶使用賬號與密碼登錄手機(jī)的客戶端,用以向數(shù)據(jù)庫服務(wù)器進(jìn)行身份驗證的一個過程,以方便數(shù)據(jù)庫服務(wù)器分類管理每個用戶的日程信息并給以信息機(jī)密性的保證。當(dāng)用戶登錄手機(jī)客戶端后,假設(shè)自己的賬號在別的地方登錄了,用戶在下一次操作過程后系統(tǒng)會在本地自動登出該賬號,以提醒用戶該賬號的相關(guān)信息存在泄露的可能性,以此保證用戶信息的機(jī)密性。
2.2 SQLite數(shù)據(jù)庫的android工作行程管理系統(tǒng)的框架設(shè)計
系統(tǒng)的框架包含了幾個模塊,一是主界面模塊。在主界面上設(shè)計日歷欄目,日歷可以向左向右用手滑動,點擊日歷字樣就能進(jìn)入單日日程。在單日日程模塊下就會對單日日程的所有信息進(jìn)行顯示,其中對需要增加和刪除的信息都可以在這模塊里操作。二是鬧鐘提醒模塊。該模塊是非常重要的模塊,就好比一個秘書一樣,對工作日程的安排提醒,而鬧鐘的鬧鈴就會在日程規(guī)定的日期里實現(xiàn)提醒功能,通常鬧鈴不是鐺鐺響,而是以播放優(yōu)美音樂并彈窗的方式提醒手機(jī)主人關(guān)于日程信息。同時鬧鐘還有就是開機(jī)啟動功能,以及每時每刻監(jiān)聽數(shù)據(jù)庫情況,實現(xiàn)在一個變化過程下對鬧鐘指揮信息修改。三是數(shù)據(jù)庫模塊。該模塊的功能是對SQLite數(shù)據(jù)庫交互的一個實現(xiàn),以及對日程表進(jìn)行保存,還有對數(shù)據(jù)庫的增加,刪除,修改,以及查詢作用。
2.3SQLite數(shù)據(jù)庫的Android工作行程管理系統(tǒng)的實現(xiàn)
系統(tǒng)開發(fā)環(huán)境 Android的應(yīng)用層軟件的開發(fā)過程中使用的語言Java的,開發(fā)環(huán)境選擇的是MyEclipse 2013 開發(fā),Eclipse是目前最流行的開發(fā)工具之一,開發(fā)效率十分高,而且開放性,在使用過程中也方便,達(dá)到OHA主旨。Android開發(fā)環(huán)境進(jìn)行搭建主要的工作包括對java運行環(huán)境進(jìn)行搭建,因為是運用Eclipse開發(fā),使用的是java語言進(jìn)行編寫的,所以在對Eclipse安裝前要確保系統(tǒng)完成了java環(huán)境的建設(shè),不然就會造成此工具不能啟動。然后安裝Eclipse、插件ADT、安裝AnroidSDK和對AndroidAVD進(jìn)行配置。在進(jìn)行Android AVD的配置中,我們首先要認(rèn)識到AVD屬于經(jīng)過配置的模擬器,對于AVD而言就需要對target的制訂,在SDK1.5里target類型包括platform和add—on正兩類,platform屬于Android平臺target,add—on屬于Android插件target。在系統(tǒng)的模塊實現(xiàn)過程中主要是以顯示日程列表 (ListView)。鬧鐘提醒功能(Service)。定時更新(Scheduled Executor Serv-ice)。界面水平劃動(ViewGroup)。使用廣播機(jī)制(BroadcastReceiver)和語音輸出(TTS)幾種Android組件。SQLite數(shù)據(jù)庫的android工作行程管理系統(tǒng)的界面流程。首先是初始的界面加載,其次是顯示界面,再次是添加新的活動界面、搜索界面、查詢界面、語音查詢功能和手電筒功能,最后是退出。
3 SQLite數(shù)據(jù)庫的Android工作行程管理系統(tǒng)的應(yīng)用
系統(tǒng)開發(fā)中,對數(shù)據(jù)庫的操作關(guān)鍵采用了android.database.sqlite.SQLiteOpenHelpe。實現(xiàn)對SQLite數(shù)據(jù)庫操作,同時管理數(shù)據(jù)庫里的日程表。開始是創(chuàng)建SQLite數(shù)據(jù)庫 db,然后再創(chuàng)建日程表schduler。創(chuàng)建日程表schduler的主要代碼如下:
public class MySQLiteOpenHelper extends SQLiteOpenHelper {
public void onCreate(SQLiteDatabase db) {
String sql ="create table schduler (_id integer not null primary key ,date varchar(30) ,time varchar(30) ,title varchar(30) ,content varchar(500),location varchar(30),type varchar(30),isRemind varchar(30), isImportant varchar(30) )" ;
db.execSQL(sql);
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE if exists schduler");
onCreate(db); } }
通過這樣的構(gòu)建設(shè)計,SQLite數(shù)據(jù)庫的Android工作行程管理系統(tǒng)就可以實現(xiàn)把每天的計劃、工作等事務(wù)記錄在日期里,以實現(xiàn)工作備忘的作用。
參考文獻(xiàn):
[1] 李興華. Android開發(fā)實戰(zhàn)經(jīng)典[M]. 北京: 清華大學(xué)出版社,2012: 291-293.
[2] 高鵬. 基于安卓的移動氣象信息系統(tǒng)的設(shè)計與實現(xiàn)[D]. 大連理工大學(xué), 2013.
[3] 沈美,于翔. 基于SQLite數(shù)據(jù)庫的安卓日程管理系統(tǒng)的設(shè)計與開發(fā)[J]. 電子技術(shù)與軟件工程, 2014(12).