數據存儲全方案
持久化技術簡介 Android系統中主要提供了三種方式用于簡單的實現數據持久化功能
文件存儲SharedPReference存儲數據庫存儲1.文件存儲 將數據存儲到文件中
Context類下有openFileOutput
方法,將數據存儲到指定文件中,第一個參數指定文件名,不可以包含路徑,所有的文件都是默認存儲到/data/data/<package name>/files/
目錄。第二個參數是文件操作模式,MODE_PRIVATE
和MODE_APPEND
openFileOutput
方法返回一個FileOutputStream
對象。
2.SharedPreferences存儲 鍵值對存儲
三種方法獲取SharedPreferences對象 1.Context類中的getSharedPreferences()
方法,兩個參數,第一個指定文件名,SharedPreferences
文件都是存放在/data/data/<package name>/shared_prefs/
目錄下的。第二個參數用于指定操作模式,主要有兩種模式可以選擇,MODE_PRIVATE
和 MODE_MULTI_PROCESS
。 MODE_PRIVATE
仍然是默認的操作模式,和直接傳入 0 效果是相同的,表示只有當前的應用程序才可以對這個SharedPreferences
文件進行讀寫。MODE_MULTI_PROCESS
則一般是用于會有多個線程中對同一個SharedPreferences
文件進行讀寫的情況。 2.Activity類中的getPreferences()
方法類名作為SharedPreferences的文件名 3.PreferenceManager類中的getDefaultSharedPreferences()
方法它接收一個Context參數,并自動使用當前應用程序的包名作為前綴來命名SharedPreferences文件。
存數據三步 1.調用SharedPreferences對象的edit()
方法來獲取一個SharedPreferences.Editor
對象。 2.向SharedPreferences.Editor
對象中添加數據,比如添加一個布爾型數據就使用putBoolean
方法,添加一個字符串則使用putString()
方法,以此類推。 3.調用commit()
方法將添加的數據提交,從而完成數據存儲操作。
從SharedPreferences讀數據getXXX
方法,通過鍵值。
3.SQLite數據庫存儲
SQLiteOpenHelper抽象類,onCreate
和onUpgrade
兩個方法必須在子類中重寫。在這兩個方法中實現 創建 和 升級 數據庫的邏輯。
創建或打開一個數據庫,并返回一個可對數據庫進行讀寫的對象,磁盤空間已滿則,read方法返回只讀,write出現異常。
SQLiteOpenHelper中有兩個構造方法可供重寫,一般使用參數少一點的那個構造方法即可。這個構造方法中接收四個參數:第一個參數是Context。必須要有它才能對數據庫進行操作;第二個參數是數據庫名,創建數據庫時使用的就是這里指定的名稱;第三個參數允許我們在查詢數據的時候返回一個自定義的Cursor,一般都是傳null;第四個參數表示當前數據庫的版本號,可用于對數據庫進行升級操作,構建出SQLiteOpenHelper的實例之后,再調用它的getReadableDatabase()
或 getWritableDatabase()
方法就能夠創建數據庫了,數據庫文件會存放在/data/data/<package name>/databases/
目錄下。
SQLite中的數據類型
integer 表示整型real 表示浮點型text 表示文本類型blob 表示二進制類型通過adb檢查數據庫和表的情況adb shellcd 命令進入到/data/data/<package name>/databased/目錄下,并使用ls 命令查看到該目錄里的文件sqlite3 數據庫名.table 查看表.schema 查看建表語句.exit 或 quit 退出數據庫的編輯。db.execSQL("drop table if exists xxx");onCreate(db);版本號大于1。onUpgrade方法就會執行。
新聞熱點
疑難解答