国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

(第一行代碼)筆記(四)

2019-11-09 15:26:13
字體:
來源:轉載
供稿:網友

數據存儲全方案


持久化技術簡介 Android系統中主要提供了三種方式用于簡單的實現數據持久化功能

文件存儲SharedPReference存儲數據庫存儲

1.文件存儲 將數據存儲到文件中

Context類下有openFileOutput方法,將數據存儲到指定文件中,第一個參數指定文件名,不可以包含路徑,所有的文件都是默認存儲到/data/data/<package name>/files/目錄。第二個參數是文件操作模式,MODE_PRIVATEMODE_APPEND

openFileOutput方法返回一個FileOutputStream對象。

String data = "Data to save";FileOutputStream out = null;BufferedWriter writer = null;try{ out = openFileOutput("data", Context.MODE_PRIVATE); writer = new BufferedWriter(new OutputStreamWriter(out)); writer.write(data);}catch(IOException e){ e.printStackTrace();}finally{ try{ if(writer != null){ writer.close(); } }catch(IOException e){ e.printStackTrace(); }}

2.SharedPreferences存儲 鍵值對存儲

三種方法獲取SharedPreferences對象 1.Context類中的getSharedPreferences()方法,兩個參數,第一個指定文件名,SharedPreferences文件都是存放在/data/data/<package name>/shared_prefs/目錄下的。第二個參數用于指定操作模式,主要有兩種模式可以選擇,MODE_PRIVATEMODE_MULTI_PROCESSMODE_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抽象類,onCreateonUpgrade兩個方法必須在子類中重寫。在這兩個方法中實現 創建升級 數據庫的邏輯。

geReadableDatabasegetWritableDatabase

創建或打開一個數據庫,并返回一個可對數據庫進行讀寫的對象,磁盤空間已滿則,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方法就會執行。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌鲁木齐县| 林甸县| 新兴县| 临泉县| 远安县| 宣威市| 安义县| 通山县| 迭部县| 钟祥市| 韶关市| 怀仁县| 兴国县| 涟源市| 尖扎县| 文成县| 雅安市| 安顺市| 化德县| 河东区| 娱乐| 绿春县| 北票市| 北京市| 齐河县| 旌德县| 阿拉尔市| 邵阳市| 海南省| 文登市| 永兴县| 湟源县| 古丈县| 巩义市| 枝江市| 新民市| 九寨沟县| 鄢陵县| 开鲁县| 什邡市| 大田县|