Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android數據儲存之存儲方式

android數據儲存之存儲方式

編輯:關於Android編程

可以將數據儲存在內置或可移動存儲,數據庫,網絡,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生命周期不再使用的緩存

四.使用數據庫

五.使用網絡

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved