數據持久化(六)

     數據持久化
1.文件持久化:
  Context類中提供的 openFileInput()和 openFileOutput()方法, 以後就是利用 Java的各類流來進行讀寫
 操做就能夠了。默認路徑:/data/data/<package name>/files/數據庫

2.SharedPreferences 存儲
  不一樣於文件的存儲方式,SharedPreferences 是使用鍵值對的方式來存儲數據的。也就是
 說當保存一條數據的時候,須要給這條數據提供一個對應的鍵,這樣在讀取數據的時候就可
 以經過這個鍵把相應的值取出來。並且 SharedPreferences還支持多種不一樣的數據類型存儲,
 若是存儲的數據類型是整型,那麼讀取出來的數據也是整型的,存儲的數據是一個字符串,
 讀取出來的數據仍然是字符串。文件存放在:/data/data/<packagename>/shared_prefs/
 1.獲取該類的方法有三種:
  1.Context類中的 getSharedPreferences()方法
  2.Activity類中的 getPreferences()方法
  3.PreferenceManager類中的 getDefaultSharedPreferences()方法
 2.使用方式:
  1.  調用 SharedPreferences對象的 edit()方法來獲取一個 SharedPreferences.Editor 對象。
  2.  向 SharedPreferences.Editor 對象中添加數據,好比添加一個布爾型數據就使用
   putBoolean 方法,添加一個字符串則使用 putString()方法,以此類推。
  3.  調用 commit()方法將添加的數據提交,從而完成數據存儲操做。對象

3.SQLite 數據庫存儲
 1.繼承SQLiteOpenHelper類,重寫onCreate方法和onUpgrade方法
 2.數據庫文件會存放在/data/data/<package name>/databases/目錄下
 3. getReadableDatabase() 和getWritableDatabase()。
  這兩個方法均可以建立或打開一個現有的數據庫(若是數據庫已存在則直接打開,不然建立一個新的數據庫),
  並返回一個可對數據庫進行讀寫操做的對象。不一樣的是,當數據庫不可寫入的時候(如磁盤空間已滿)
  getReadableDatabase()方法返回的對象將以只讀的方式去打開數據庫,而 getWritableDatabase()方法則將出現異常
 4.事務
  1. SQLiteDatabase.beginTransaction(); //  開啓事務
  2.SQLiteDatabase.setTransactionSuccessful(); // 事務已經執行成功
  3.SQLiteDatabase.endTransaction(); // 結束事務
 5.數據建立要保證一會被調用一次,否則會出現數據沖掉的現象繼承

相關文章
相關標籤/搜索