基于Android的儿童成长曲线设计与实现
2014-07-02丁小妮刘萍
丁小妮 刘萍
摘 要:目前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.