1. 程式人生 > >Android學習心得(二)

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

限制的記錄數

只返回限制的記錄數