您好,登錄后才能下訂單哦!
當(dāng)我們在使用各種程序時,其實際上是在和各種數(shù)據(jù)打交道,當(dāng)我們聊QQ,刷微博,看新聞,其實都是在和里面的數(shù)據(jù)交互
例如在聊天時發(fā)出的消息,以及在登錄時輸入的賬號密碼,其實都是瞬時數(shù)據(jù),那什么是瞬時數(shù)據(jù)呢?就是指儲存在內(nèi)存中,有可能因為程序關(guān)閉或者其他原因?qū)е聝?nèi)存被回收而丟失的數(shù)據(jù)。如果這些數(shù)據(jù)丟失,那么你剛發(fā)的微博,剛聊的QQ可能都會丟失,這就要說到一個重要的技術(shù) 數(shù)據(jù)持久化技術(shù)
數(shù)據(jù)持久化是指將那些內(nèi)存中的瞬時數(shù)據(jù)保存在儲存設(shè)備中,保證在突然關(guān)閉手機或電腦時,這些數(shù)據(jù)不會丟失。保存的數(shù)據(jù)屬于瞬時狀態(tài),而儲存的設(shè)備是持久狀態(tài),數(shù)據(jù)持久化技術(shù)其實提供了一種機制讓數(shù)據(jù)在瞬時狀態(tài)和持久狀態(tài)間轉(zhuǎn)換
本文要講的就是三種數(shù)據(jù)持久化技術(shù)之一的文件存儲
內(nèi)部存儲數(shù)據(jù):
默認情況下,內(nèi)部存儲數(shù)據(jù)是保存在當(dāng)前應(yīng)用的私有文件,其他應(yīng)用或用戶不能訪問。在卸載應(yīng)用時,文件會隨之刪除。
在Context類中提供了兩個方法用來處理內(nèi)部存儲數(shù)據(jù),其中打開一個內(nèi)部存儲文件并寫入數(shù)據(jù)的是:openFileOutput,打開一個內(nèi)部存儲文件并且讀取數(shù)據(jù)的是:openFileInput
外部存儲數(shù)據(jù):
首先需要權(quán)限 READ_EXTERNAL_STORAGE或者WRITE _EXTERNAL_STORAGE 可在AndroidManifest.xml中申請權(quán)限
然后通過 Environment.getExternalStorageDirectory();獲取外部存儲路徑,接著就可以用 openFileOutput和 openFileInput,讀寫數(shù)據(jù)了
而操作文件的模式主要有兩種:
MODE_PRIVATE:默認操作模式,表示當(dāng)指定同樣文件名時,所寫入的內(nèi)容會覆蓋原文件的內(nèi)容
MODE_APPEND:表示,如果該文件如果存在就往該文件的里面追加內(nèi)容
文件存儲是Android中最基本的一種數(shù)據(jù)存儲方式,它不對存儲的內(nèi)容進行任何的格式化處理,所有的數(shù)據(jù)都是原封不動的保存在文件中,因此它適合存儲一些簡單的文本數(shù)據(jù)或二進制數(shù)據(jù)。如果想使用文件存儲的方式保存一些比較復(fù)雜的數(shù)據(jù),就需要定義一套自己的格式規(guī)范
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。