Android實現資料儲存技術

2023-01-12 04:51:05 字數 2722 閱讀 2976

本文介紹android中的5種資料儲存方式。

資料儲存在開發中是使用最頻繁的,在這裡主要介紹android平台中實現資料儲存的5種方式,分別是:

1使用sharedpreferences儲存資料

2檔案儲存資料

3sqlite資料庫儲存資料

4使用contentprovider儲存資料

5網路儲存資料

下面將為大家一一詳細介紹。

第一種:使用sharedpreferences儲存資料

sharedpreferences是android平台上乙個輕量級的儲存類,主要是儲存一些常用的配置比如視窗狀態,一般在activity中 ,它提供了android平台常規的long長整形、int整形、string字串型的儲存。

它是什麼樣的處理方式呢? sharedpreferences類似過去windows系統上的ini配置檔案,但是它分為多種許可權,可以全域性共享訪問,android123提示最終是以xml方式來儲存,整體效率來看不是特別的高,對於常規的輕量級而言比sqlite要好不少,如果真的儲存量不大可以考慮自己定義檔案格式。xml 處理時dalvik會通過自帶底層的本地xml parser解析,比如xmlpull方式,這樣對於記憶體資源占用比較好。

它的本質是基於xml檔案儲存key-value鍵值對資料,通常用來儲存一些簡單的配置資訊。

其儲存位置在/data/data/《包名》/shared_prefs目錄下。

sharedpreferences物件本身只能獲取資料而不支援儲存和修改,儲存修改是通過editor物件實現。

實現sharedpreferences儲存的步驟如下:

一、根據context獲取sharedpreferences物件

二、利用edit()方法獲取editor物件。

三、通過editor物件儲存key-value鍵值對資料。

四、通過commit()方法提交資料。

下面是示例**:

publicclassmainactivityextendsactivity

} 這段**執行過後,即在/data/data/目錄下生成了乙個檔案,乙個應用可以建立多個這樣的xml檔案。

sharedpreferences物件與sqlite資料庫相比,免去了建立資料庫,建立表,寫sql語句等諸多操作,相對而言更加方便,簡潔。但是sharedpreferences也有其自身缺陷,比如其職能儲存boolean,int,float,long和string五種簡單的資料型別,比如其無法進行條件查詢等。所以不論sharedpreferences的資料儲存操作是如何簡單,它也只能是儲存方式的一種補充,而無法完全替代如sqlite資料庫這樣的其他資料儲存方式。

第二種: 檔案儲存資料

關於檔案儲存,activity提供了openfileoutput()方法可以用於把資料輸出到檔案中,具體的實現過程與在j2se環境中儲存資料到檔案中是一樣的。

檔案可用來存放大量資料,如文字、**、音訊等。

預設位置:/data/data/《包》/files/***.***。

**示例:

publicvoids**e()

catch(filenotfoundexceptione)

catch(ioexceptione)}

openfileoutput()方法的第一引數用於指定檔名稱,不能包含路徑分隔符「/」 ,如果檔案不存在,android 會自動建立它。

建立的檔案儲存在/data/data//files目錄,如: /data/data/ ,通過點選eclipse選單「window」-「show view」-「other」,在對話視窗中展開android資料夾,選擇下面的file explorer檢視,然後在file explorer檢視中展開/data/data//files目錄就可以看到該檔案。

openfileoutput()方法的第二引數用於指定操作模式,有四種模式,分別為:

= 0= 32768

= 1= 2為預設操作模式,代表該檔案是私有資料,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原檔案的內容,如果想把新寫入的內容追加到原檔案中。可以使用

模式會檢查檔案是否存在,存在就往檔案追加內容,否則就建立新檔案。

和用來控制其他應用是否有許可權讀寫該檔案。

mode_world_readable:表示當前檔案可以被其他應用讀取;

mode_world_writeable:表示當前檔案可以被其他應用寫入。

如果希望檔案被其他應用讀和寫,可以傳入: openfileoutput("", + android有一套自己的安全模型,當應用程式(.apk)在安裝時系統就會分配給他乙個userid,當該應用要去訪問其他資源比如檔案的時候,就需要userid匹配。

預設情況下,任何應用建立的檔案,sharedpreferences,資料庫都應該是私有的(位於/data/data//files),其他程式無法訪問。

除非在建立時指定了或者 ,只有這樣其他程式才能正確訪問。

讀取檔案示例:

publicvoidload()

"loaded",

}catch(filenotfoundexceptione)

catch(ioexceptione)

} 對於私有檔案只能被建立該檔案的應用訪問,如果希望檔案能被其他應用讀和寫,可以在建立檔案時,指定和許可權。

activity還提供了getcachedir()和getfilesdir()方法: getcachedir()方法用於獲取/data/data//cache目錄 getfilesdir()方法用於獲取/data/data//files目錄。

Android中資料儲存方式

1.sharedpreferences 類似於儲存window下的配置檔案 ini sharedpreferences中儲存的資訊都是以鍵值對的形式儲存 鍵值ffppp 用sharedpreferences儲存資訊只能是基礎資料型別如 int float string stringset long ...

大資料儲存和管理的技術分析

大資料 這是業內熱門詞彙,描述了企業大量積累 儲存和挖掘大檔案 400gb到tb級 的現象。隨著資訊的質量 種類和豐富性達到新的水平,大資料已經形成多年了。大資料集的蔓延是由那些執行豐富的資料格式 如使用音訊或 檔案 的企業或其積累充足的資訊來從統計角度洞察市場 例如在社交 網路上儲存帖子 的意願而...

雲計算的關鍵技術 資料儲存技術 資料管理技術 程式設計模型

雲計算的關鍵技術 資料儲存技術 資料管理技術 程式設計模型 雲計算系統運用了許多技術,其中以程式設計模型 資料管理技術 資料儲存技術 虛擬化技術 雲計算平台管理技術最為關鍵。1.1 程式設計模型 mapreduce是google開發的j a python c 程式設計模型,它是一種簡化的分布式程式設...