丁小妮 劉萍
摘 要:目前Android手機廣泛使用,提出了一種基于Android的兒童成長曲線的研究,利用Android系統提供的SQLite數據庫存儲用戶身高體重數據,并且通過AChartEngine圖表引擎來顯示曲線。結合java語言與Eclipse開發環境實現客戶端程序。測試結果表明,該設計可以方便快捷的幫助用戶實現記錄和顯示功能。
關鍵詞:Android;兒童生長曲線;SQLite;AChartEngin
1 引言
針對父母越來越關注兒童的健康成長問題,但又不容易掌握孩子生長情況的需求,傳統的方式過于繁瑣,所以想到用手機軟件來滿足這一需求。目前在手機智能操作系統中, Android具有很強的擴展性和互聯性,并且基于Android終端的研究前景廣闊。
2 系統的總體設計
用戶啟動軟件后,輸入兒童的姓名、性別、身高或者體重,輸入的數據存入SQLite數據庫中。點擊菜單中的身高或體重曲線命令會調用AChartEngine來進行曲線的顯示.顯示界面中顯示用戶曲線與正常曲線,以達到對比效果,如果出現偏差,可以參考幫助信息來及時做出糾正。
2.1 用戶界面設計
用戶的界面主要有主菜單界面、數據輸入界面、兒童身高和體重的顯示界面,幫助界面,利用Eclipse開發環境提供的布局管理器完成。
2.2 數據存儲設計
SQLite一個非常流行的嵌入式數據庫,它支持SQL語言,并且只利用很少的內存就能達到很好的性能。Android不自動提供數據庫,如果要在Android應用程序中使用SQLite,必須自己創建數據庫,然后創建表、索引,填充數據。
本系統中主要有兩部分數據需要存儲,一個是身高的數據,另一個是體重的數據。選擇SQLite來存儲數據。建立數據庫Babychart.db,并且建立Table_height和Table_weight兩張表分別用來存儲身高和體重數據。
3 系統的實現
用戶將輸入的數據存入數據庫中,在圖標顯示時從數據庫中將數據取出,利用AChartEngine顯示身高與體重曲線。
3.1 數據存儲的實現
Android通過繼承SQLiteOpenHelper類來幫助創建數據庫,具體如下:DBhelper(DynamicChar.this,“Babychart_db”,null,1)
SQLiteDatebase db=dbHelper.getWritableDatebase();
建立了數據庫后,在數據庫中建立Table_height和Table_weight兩張表來存儲身高和體重數據,調用SQLiteDatabase 的execSQL()方法來執行,如下:
String sql1=“create table Table_height(id INTEGER PRIMARY KEY AUTOINCREMENT,x double,y double)”;
String sql2=“create table Table_weight(id INTEGER PRIMARY KEY AUTOINCREMENT,x double,y double)”;
db.exeSQL(sql1);
db.exeSQL (sql2);
創建了數據庫和表以后,使用SQLiteDatabase對象的 insert(),update(),delete()等方法為數據庫表實現增刪改等操作。
3.2 利用Achartengine顯示曲線
AChartEngine是一個針對Android程序開發的開源圖表生成類庫。在本軟件中AChartEngine的主要作用是從數據庫中獲取數據,建立坐標,并且顯示。
AChartEngine提供的ChartFactory包幫助曲線數據的獲取與顯示。
從數據庫中獲取數據:
doublex[i]=cur.getInt(cur.getColumnIndex("x"));
doubley[i]=cur.getInt(cur.getColumnIndex("y"));
BuildDataset()方法用來進行數據的構建:
XYMultipleSeriesDataset dataset = buildDataset(titles, lx, ly);
BuildRenderer()方法用來實現曲線的顯示:
XYMultipleSeriesRenderer renderer = buildRenderer(colors, styles, true);
SetChartSettings()方法用來實現曲線的設置:
setChartSettings(renderer,"兒童成長曲線","X", "Y", 0,12,0,50,Color.WHITE,Color.WHITE);
顯示:
View chart=ChartFactory.getLineChartView(this, dataset,renderer);
setContentView(chart);
4 結束語
本系統利用了目前最流行的Android智能平臺,充分考慮到產品的實際需求,有針對性的提出了系統的設計開發,經過對系統的測試,整個系統穩定可靠,方便快捷的實現了兒童成長過程中身高體重的曲線記錄和顯示功能。
[參考文獻]
[1]吳其慶.Eclipse程序設計實例教程[M].北京:冶金工業出版社,2007:30-211.
[2]辛運幃,饒一梅,馬素霞.Java程序設計(第二版)[M].北京:清華大學出版社,2006:30-102.
[3]王世江,蓋索林.Android開發入門指南(第2版)[M].北京:人民郵電出版社,2009.11:21-270.