android資料儲存之儲存方式

來源:互聯網
上載者:User

可以將資料儲存在內建或抽取式存放裝置,資料庫,網路,sharedpreference。

android可以使用Content provider來使你的私人資料暴漏給其他應用程式。

一.sharedpreference

得到sharedpreference的兩種方法:

1.getSharedPreferenced():使用這個方法你可以定義多個preference檔案

2.getPreferenced():只建立一個preference檔案

sharedpreference不是嚴格用來儲存“使用者配置”的,比如說儲存使用者的鈴聲。若你的應用程式對建立使用者配置感興趣,可以使用PreferenceActivity、

二.內建儲存

建立並寫一個檔案的步驟:

使用openFileOutPut得到FileOutputStream,通過這個流來寫資料。

從內建儲存讀資料步驟:

使用openFileInput得到FileInputStream,通過這個流來讀資料。

如果你想在編譯的時候在你應用中儲存一個靜態檔案,可以儲存在res/raw/路徑,通過調用openRawResource傳入R.raw.開啟。

如果你想快取資料而不是將資料持久化,那當你想快取資料時可以使用openCacheDir()來開啟一個內部儲存空間的檔案。

當裝置的內建儲存空間不足時,Android會刪除這些檔案來恢複空間。然而你不必主動刪除這些檔案,但是你應該對快取檔案占的空間大小做個限制,不如說1M.

其他有用的方法:

getFileDir():得到你內建檔案的絕對路徑。

getDir()建立(或開啟一個存在)的路徑。

deleteFile()刪除一個內建檔案

fileList()返回當前應用程式中所有內建檔案清單

三.外部儲存

如果你既想write外部儲存,又想read外部儲存,只需請求 WRITE_EXTERNAL_STORAGE 的許可權。

        ...
(當版本低於18的使用添加許可權)


從Android4.4開始,若想使用應用程式的私人檔案不許要讀寫外部儲存的許可權。

可以通過將檔案放入Music/,Pictures/,RingTone/來和其他應用分享這個檔案。

若你不想系統的多媒體瀏覽器可以瀏覽你的多媒體檔案,可以在你的檔案夾中添加.nomedia的檔案。

得到公用檔案夾的方法 getExtenrnalStoragePublicDirectory()將參數DIRECTORY_MUSIC/DIRECTORY_PICTURES/DIRECTORY_RINGTONE傳入。

以下為在公用圖片檔案夾下添加一個相簿:

public File getAlbumStorageDir(String albumName) {    // Get the directory for the user's public pictures directory.    File file = new File(Environment.getExternalStoragePublicDirectory(            Environment.DIRECTORY_PICTURES), albumName);    if (!file.mkdirs()) {        Log.e(LOG_TAG, "Directory not created");    }    return file;}
你可以使用getExtenrnalFileDir()在外置儲存中得到私人多媒體儲存路徑

當使用者刪除你的應用的時候這些檔案將會被刪除

這些檔案不會被系統的多媒體瀏覽器發現但是對於有READ_EXTERNAL_STORAGE許可權的應用是可access的。

通過getExternalCacheDir()來得到外置儲存空間的緩衝區。當應用程式被卸載時,這些檔案也將被刪除。

需要仔細管理緩衝區,刪除那些在你app生命週期不再使用的緩衝

四.使用資料庫

五.使用網路

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.