編輯:關於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生命周期不再使用的緩存
四.使用數據庫
五.使用網絡
前言最近公司項目有一個錄音的錄制和播放動畫需求,然後時間是那麼緊,那麼趕緊開撸。先看效果圖嗯,然後大致就是這樣,按住錄音,然後有一個倒計時,最外層一個進度條,還有一個類似
命令模式(command pattern) 詳解本文地址: http://blog.csdn.net/caroline_wendy命令模式(command pattern
由於項目需要做一個仿通訊錄搜索聯系人的功能,並且需要選中聯系人,即推薦好友的功能。所以就想寫一遍blog來介紹它是怎麼實現,以及是怎麼用的。好的,接下來,讓我為大家講解一
上一個github小項目中我們介紹了防止按鈕重復點擊的小框架,其實現的核心邏輯是重寫OnClickListener的onClick方法,添加防止重復點擊的邏輯,即為第二次