Android数据存储

简介: <p><!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacin

Android 平台中数据存储有四种形式:

·           文件系统—— 可以把数据放到文件中保存起来,再使用 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 {

     ... ...

}

 

}

目录
相关文章
|
6月前
|
存储 Java 数据库
Android数据存储:什么是Room Persistence Library?
Android数据存储:什么是Room Persistence Library?
109 0
|
6月前
|
存储 数据库连接 数据库
Android数据存储:解释SQLite数据库在Android中的使用。
Android数据存储:解释SQLite数据库在Android中的使用。
75 0
|
存储 数据库 文件存储
android 数据存储的知识点
android 数据存储的知识点
93 0
|
6月前
|
存储 XML Android开发
Android Studio App开发入门之数据存储中共享参数SharedPreferneces的讲解及使用(附源码 超详细必看)
Android Studio App开发入门之数据存储中共享参数SharedPreferneces的讲解及使用(附源码 超详细必看)
65 0
|
6月前
|
存储 XML 文件存储
Android数据存储的五种方式1
Android数据存储的五种方式
112 2
|
6月前
|
存储 安全 Android开发
Android数据存储:请解释ContentProvider是什么,它的主要作用是什么?
ContentProvider是Android的四大组件之一,主要负责结构化数据的管理与共享。它封装数据并提供安全的访问接口,通过URI实现应用间数据的标准化共享。ContentResolver与ContentProvider协作,处理数据的CRUD操作,使得其他应用能方便地调用和操作数据。
51 0
|
6月前
|
存储 Android开发
Android数据存储的五种方式3
Android数据存储的五种方式
35 0
|
6月前
|
存储 SQL 数据库
Android数据存储的五种方式2
Android数据存储的五种方式
66 0
|
6月前
|
存储 XML 文件存储
Android数据存储:什么是SharedPreferences?它有什么用途?
Android数据存储:什么是SharedPreferences?它有什么用途?
241 0
|
6月前
|
存储 数据库 文件存储
android开发,使用kotlin学习数据存储
android开发,使用kotlin学习数据存储
99 0