安卓持久化存儲復習

持久化的五種方式

安卓有五種方式實現(xiàn)持久化,內(nèi)部存儲、網(wǎng)絡存儲、SharedPreferences、SQLite、外部存儲(SD卡)。

SharedPreferences

是用鍵值對的形式來存儲數(shù)據(jù)的,底層上采用XML文件來存儲鍵值對,一般用來存少量簡單類型的數(shù)據(jù),比如幾個字符串什么的。如果想要用SharedPreferences存儲的話,先調(diào)用getSharedPreferences()獲取一個SharedPreferences對象,然后調(diào)用該對象的edit(),再調(diào)用putString()來輸入要保存的值,再commit()就結束存儲了。
要讀取的話就獲得SharedPreferences對象后調(diào)用getString()來讀取。

SharedPreferences不能在多進程的時候使用,因為雖然他是文件中的一種,而IPC又包括了文件共享這一形式,但是系統(tǒng)對于他的讀寫有一定的緩存機制,所以在面對高并發(fā)的場景的時候,他的讀寫就不可靠了,就會大概率丟失數(shù)據(jù),所以最好不要用SharedPreferences。

SQLite數(shù)據(jù)庫

SQLite是一種微型數(shù)據(jù)庫,可以用來存儲數(shù)據(jù)。安卓提供對SQLite的完全支持,應用程序內(nèi)的所有類都可以通過名稱訪問任何數(shù)據(jù)庫,但是應用程序之外的不能,要用contentprovider來共享數(shù)據(jù)。
SQLiteOpenHelper類來幫助我們實現(xiàn)數(shù)據(jù)庫的創(chuàng)建和增刪改查。

  • 數(shù)據(jù)庫的創(chuàng)建:OnCreate(),getReadableDatabase(),getWritableDatabase()這三個方法來創(chuàng)建數(shù)據(jù)庫,第一次創(chuàng)建都會回調(diào)OnCreate方法。
  • 數(shù)據(jù)庫版本更新:OnUpgrade(),來實現(xiàn)版本號的更新。
  • 增刪改:這三個先調(diào)用getWritableDatabase()獲取一個可寫的數(shù)據(jù)庫,然后可以用execSQL()來輸入對應的sql語句來運行你的功能,或者使用提供的API(insert(),delete(),update()),如果用insert等功能需要很多參數(shù)的話,可以直接用execSQL(),輸入查詢的sql語句和參數(shù)集,就不會像insert()那樣需要很多參數(shù)。
  • 查:先調(diào)用getReadableDatabase()來得到一個可讀的數(shù)據(jù)庫,然后query()或者rawQuery()。
  • 關閉數(shù)據(jù)庫:完成對數(shù)據(jù)庫的操作后要用close()來結束當前數(shù)據(jù)庫的連接
  • 刪除數(shù)據(jù)庫:deleteDatabase()可以刪除指定的數(shù)據(jù)庫。
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容