浏览 2938 次
锁定老帖子 主题:Android数据存储
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-07-04
· 文件系统—— 可以把数据放到文件中保存起来,再使用 Java 的 IO 流技术实现对数据的读取。 · 嵌入式数据库 SQLite ——从性能编程的角度考虑,嵌入式数据库是个不错的选择,例如我们的联系人信息就是使用嵌入式数据库。 · 网络——如果我们的数据是海量的,还要通过复杂数学计算获得,访问的时候要严格安全限制,这种情况下这样的把数据放在网络上,例如天气信息、交通实时信息等。 · Shared Preferences ——可以存放少量的数据,主要用于保存系统设置参数,例如控件的状态、用户使用偏好(背景、字体)设置等,一般而言它不会用来存放联系人等应用程序的信息。 实现SQLite 数据库访问的DAO 代码 public WeigthDaoSQLiteImp(Context ctx) { mDBHelper = new DBHelper(ctx); } @Override public void create(long date, String input, String output, String weight, String amountExercise) { SQLiteDatabase db = mDBHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(SysConst.TABLE_FIELD_DATE, date); values.put(SysConst.TABLE_FIELD_INPUT, input); values.put(SysConst.TABLE_FIELD_OUTPUT, output); values.put(SysConst.TABLE_FIELD_WEIGHT, weight); values.put(SysConst.TABLE_FIELD_AMOUNTEXERCISE, amountExercise); long rowId = db.insert(SysConst.TABLE_NAME, null, values); } @Override public void delete(long date) { SQLiteDatabase db = mDBHelper.getWritableDatabase(); String whereClause = SysConst.TABLE_FIELD_DATE + " = " + date; long rowId = db.delete(SysConst.TABLE_NAME, whereClause, null); } @Override public Cursor findAll() { SQLiteDatabase db = mDBHelper.getReadableDatabase(); return db.query(SysConst.TABLE_NAME, new String[] { SysConst.TABLE_FIELD_DATE, SysConst.TABLE_FIELD_INPUT, SysConst.TABLE_FIELD_OUTPUT, SysConst.TABLE_FIELD_WEIGHT, SysConst.TABLE_FIELD_AMOUNTEXERCISE }, null, null, null, null, SysConst.TABLE_FIELD_DATE + " asc"); } @Override public Cursor findByPrimaryKey(long date) { SQLiteDatabase db = mDBHelper.getReadableDatabase(); String whereClause = SysConst.TABLE_FIELD_DATE + " = " + date; return db.query(SysConst.TABLE_NAME, new String[] { SysConst.TABLE_FIELD_DATE, SysConst.TABLE_FIELD_INPUT, SysConst.TABLE_FIELD_OUTPUT, SysConst.TABLE_FIELD_WEIGHT, SysConst.TABLE_FIELD_AMOUNTEXERCISE }, whereClause, null, null, null, SysConst.TABLE_FIELD_DATE + " asc"); } @Override public void modify(long date, String input, String output, String weight, String amountExercise) { SQLiteDatabase db = mDBHelper.getWritableDatabase(); String whereClause = SysConst.TABLE_FIELD_DATE + " = " + date; ContentValues values = new ContentValues(); values.put(SysConst.TABLE_FIELD_INPUT, input); values.put(SysConst.TABLE_FIELD_OUTPUT, output); values.put(SysConst.TABLE_FIELD_WEIGHT, weight); values.put(SysConst.TABLE_FIELD_AMOUNTEXERCISE, amountExercise); long rowId = db.update(SysConst.TABLE_NAME, values, whereClause, null); } class DBHelper extends SQLiteOpenHelper { ... ... } } 出自《Android开发案例驱动教程》 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-07-27
哦,,,,借鉴一下。。。。。
|
|
返回顶楼 | |
发表时间:2011-07-27
lovemobile 写道 哦,,,,借鉴一下。。。。。
这是书中的内容,希望提出宝贵意见 |
|
返回顶楼 | |