Android学习心得(二)

Android存储方式

存储偏好设置

  1. 持久化数据:使应用程序运行时需要长期保存一些数据。
  2. SharePreferences对象、文件和 SQLite数据库来存储这些持久化数据

存取活动的偏好设置

  1. SharePreferences类属于Android.cntent包,可以用来存储少量简单的应用程序的数据,这些存储数据类似Bundle对象的键值与对应值,支持Boolean、Float、Integer、Long、String类型的数据。
  2. 取得SharePreferences对象:在oncreate中得到private SharePreferences prefs = getPreference(MODE_PRIVATE);
  3. 读取偏好设置数据:String amout = prefs.getString(PREF_AMOUNT,”10000”);                     
txtAmount.setText(amount);

float rate = prefs.getFloat(PREF_RATE,28.9F);(第一个参数键值,第二个参数是默认值)

txtRate.setText(String.valueOf(rate));
  1. 存储偏好设置数据:重写onpause方法,通过SharePreferences。Editor对象来编辑存入的数据,SharePreferences.Editor prefEdit = prefs.edit();                                         然后使用putString()、putInt()、putFloat()等方法存入字符串、整数、浮点型OUNT,txtAmount.getText().toString());
Float rate;

Rate = (float)Doule.parseDouble(

txtRate.getText().toString());

prefEdit.putFloat(PREF_RATE,rate);
  1. 最后使用prefEdit.commit();将数据写入偏好设置文件

 

关系型数据库与SQLite

  1. 使用SQLiteOpenHelper类创建数据库与数据表

SQLiteOpenHelper类是一个帮助我们访问SQLite数据库的帮助类,我们需要继承此类,通过继承类来创建SQLite数据表和版本管理,创建的数据库是一个SQLiteDatabase类的对象。

  1. 继承SQLiteOpenHelper类

Android应用程序创建SQlite数据库就是继承SQLiteOpenHelper类重写方法,就是让我们可以下 SQLite中可以添加新表,我们需要在继承类中添加构造方法。

super(content对象,数据库名称,创建Cursor对象,版本的整数值)

oncreat(创建的SQLiteDatabase数据库对象)

onupgrade(创建的SQLiteDatabase数据库对象,int,int)
  1. SQLiteOpenHelper类的相关方法

 

方法

说明

getReadableDatabase()

创建或开启一个只读数据库,成功开启返回SQLiteDatebase对象

GetWriteDatebbase()

创建或开启一个可读写数据库,成功开启返回SQLiteDatebase对象

Close()

关闭开启的数据库

使用SQLiteDatabase类访问数据表的记录数据

  1. 打开可读数据库
DBHelper = new MyDBHelper(this);

Db = dbHelper.getWritetableDatabase();
  1. 关闭数据库

通常在onstop中通过SqlLitedatabase类的close方法关闭数据库

  1. 新增记录
SQLLiteDatabase对象通过Insert()方法来新增记录

Long id;

ContentValue cv = new ContentValues();

Cv.put(“title”,txttitle.getText().toString());

Double price = Double.parseDouble(txtprice.getText().toString());

cv.put(“price”,price);

id = db.insert(“数据表名称,null,ContentValues对象”);
  1. 更新数据
SQLLiteDatabase对象通过Insert()方法来新增记录

Long id;

ContentValue cv = new ContentValues();

Cv.put(“title”,txttitle.getText().toString());

Double price = Double.parseDouble(txtprice.getText().toString());

cv.put(“price”,price);

id = db.insert(“数据表名称,null,ContentValues对象”);
  1. SQLLiteDatabase对象可以使用delete()方法删除记录,
Content = db.delete(DATABASE_TABLE,”title=’”+title+”’”,null);

(数据表的名称,where子句的删除条件,如果是参数条件字符串,其参数值就是最后一个参数。)
  1. 查询数据
SQLiteDatabase对象可以使用query()方法来记录

Cursor c = db.query(DATABASE_TABLE,colNames,null,null,null,null,null);

Query的参数有八个

编号:

参数对象:

说明:

1

数据表

查询数据表的名称

2

字段

字段列表的数组

3

筛选条件

记录筛选条件,即where语句

4

参数筛选条件

 

5

分组

分组纪录

6

分组筛选

设置分组筛选条件

7

排序条件

设置排序字段

8

限制的记录数

只返回限制的记录数

 

你可能感兴趣的:(Android学习)