安卓持久化存儲(chǔ)復(fù)習(xí)

持久化的五種方式

安卓有五種方式實(shí)現(xiàn)持久化,內(nèi)部存儲(chǔ)捌显、網(wǎng)絡(luò)存儲(chǔ)、SharedPreferences总寒、SQLite扶歪、外部存儲(chǔ)(SD卡)。

SharedPreferences

是用鍵值對的形式來存儲(chǔ)數(shù)據(jù)的摄闸,底層上采用XML文件來存儲(chǔ)鍵值對善镰,一般用來存少量簡單類型的數(shù)據(jù),比如幾個(gè)字符串什么的贪薪。如果想要用SharedPreferences存儲(chǔ)的話媳禁,先調(diào)用getSharedPreferences()獲取一個(gè)SharedPreferences對象,然后調(diào)用該對象的edit()画切,再調(diào)用putString()來輸入要保存的值竣稽,再commit()就結(jié)束存儲(chǔ)了。
要讀取的話就獲得SharedPreferences對象后調(diào)用getString()來讀取霍弹。

SharedPreferences不能在多進(jìn)程的時(shí)候使用毫别,因?yàn)殡m然他是文件中的一種,而IPC又包括了文件共享這一形式典格,但是系統(tǒng)對于他的讀寫有一定的緩存機(jī)制岛宦,所以在面對高并發(fā)的場景的時(shí)候,他的讀寫就不可靠了耍缴,就會(huì)大概率丟失數(shù)據(jù)砾肺,所以最好不要用SharedPreferences挽霉。

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

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

  • 數(shù)據(jù)庫的創(chuàng)建:OnCreate()番官,getReadableDatabase()庐完,getWritableDatabase()這三個(gè)方法來創(chuàng)建數(shù)據(jù)庫,第一次創(chuàng)建都會(huì)回調(diào)OnCreate方法徘熔。
  • 數(shù)據(jù)庫版本更新:OnUpgrade()门躯,來實(shí)現(xiàn)版本號(hào)的更新。
  • 增刪改:這三個(gè)先調(diào)用getWritableDatabase()獲取一個(gè)可寫的數(shù)據(jù)庫近顷,然后可以用execSQL()來輸入對應(yīng)的sql語句來運(yùn)行你的功能生音,或者使用提供的API(insert(),delete()窒升,update()),如果用insert等功能需要很多參數(shù)的話慕匠,可以直接用execSQL()饱须,輸入查詢的sql語句和參數(shù)集,就不會(huì)像insert()那樣需要很多參數(shù)台谊。
  • 查:先調(diào)用getReadableDatabase()來得到一個(gè)可讀的數(shù)據(jù)庫蓉媳,然后query()或者rawQuery()。
  • 關(guān)閉數(shù)據(jù)庫:完成對數(shù)據(jù)庫的操作后要用close()來結(jié)束當(dāng)前數(shù)據(jù)庫的連接
  • 刪除數(shù)據(jù)庫:deleteDatabase()可以刪除指定的數(shù)據(jù)庫锅铅。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末酪呻,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子盐须,更是在濱河造成了極大的恐慌玩荠,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贼邓,死亡現(xiàn)場離奇詭異阶冈,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)塑径,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門女坑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人统舀,你說我怎么就攤上這事匆骗±途埃” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵碉就,是天一觀的道長盟广。 經(jīng)常有香客問我,道長铝噩,這世上最難降的妖魔是什么衡蚂? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮骏庸,結(jié)果婚禮上毛甲,老公的妹妹穿的比我還像新娘。我一直安慰自己具被,他們只是感情好玻募,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著一姿,像睡著了一般七咧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上叮叹,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天艾栋,我揣著相機(jī)與錄音,去河邊找鬼蛉顽。 笑死蝗砾,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的携冤。 我是一名探鬼主播悼粮,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼曾棕!你這毒婦竟也來了扣猫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤翘地,失蹤者是張志新(化名)和其女友劉穎申尤,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體子眶,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瀑凝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了臭杰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片粤咪。...
    茶點(diǎn)故事閱讀 40,561評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖渴杆,靈堂內(nèi)的尸體忽然破棺而出寥枝,到底是詐尸還是另有隱情宪塔,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布囊拜,位于F島的核電站某筐,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏冠跷。R本人自食惡果不足惜南誊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蜜托。 院中可真熱鬧抄囚,春花似錦、人聲如沸橄务。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蜂挪。三九已至重挑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間棠涮,已是汗流浹背谬哀。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留严肪,地道東北人玻粪。 一個(gè)月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像诬垂,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子伦仍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容