一、SharedPreference共享參數緩存
<1> SharedPreferences是Android系統提供的一個通用的數據持久化框架,用於存儲和讀取key-value類型的原始基本數據類型對,目前支持String、int、long、float、boolean等基本類型的存儲,對於自定義的對象數據類型,沒法使用SharedPreferences來存儲。框架
SharedPreferences主要用於存儲系統的配置信息。例如上次登陸的用戶名,上次最後設置的配置信息(如:是否打開音效、是否使用振動,小遊戲的玩家積分等)。當再次啓動程序後依然保持原有設置。SharedPreferences用鍵值對方式存儲,方便寫入和讀取。code
<2>使用SharedPreferences的步驟xml
一、獲取SharedPreferences對象對象
//文件名(能夠不用寫後綴名,會自動添加.xml) 操做模式:通常使用私有模式
//存儲地址:dada/data/應用程序包名/shared_prefs/文件名.xml
SharedPreferences sp = getSharedPreferences("first", MODE_PRIVATE);
二、調用edit()方法獲取SharedPreferences.Editor接口
Editor edit = sp.edit();
三、經過SharedPreferences.Editor接口提供的put()方法對SharedPreferences進行更新遊戲
edit.putString("s", "存儲的字符串");
edit.putInt("i", 100);
edit.putBoolean("b", true);
四、調用SharedPreferences.Editor的commit()方法,將更新提交到SharedPreferences中字符串
edit.commit();
二、內部存儲get
<1>FileOutputStream Context.openFileOutput (String filename, int mode)input
Context.MODE_APPEND
Context.MODE_PRIVATE
Context.MODE_WORLD_READABLE
Context.MODE_WORLD_WRITEABLE
<2>FileInputStream Context.openFileInput (String filename)
<3>File file = new File("data/data/com.example.day13_demo/text.txt")
FileOutputStream fos = new FileOutputStream(file);
FileInputStream inputStream = new FileInputStream(file);
<4>File file = new File(getFilesDir(), "text01.txt");
<5>File file = new File(getCacheDir(), "text.tetx");
三、擴展存儲
<1>獲取sdcard狀態: int Environment.getExternalStorageState()
Environment.MEDIA_MOUNTED 介質已加載完
Environment.MEDIA_MOUNTED_READ_ONLY 介質已加載完,可是隻讀狀態
Environment.MEDIA_CHECKING 正在檢測介質
Environment.MEDIA_UNKNOWN 介質未知
Environment.MEDIA_UNMOUNTED 介質已卸載
<2>獲取公共目錄: File Environment.getExternalStoragePublicDirectory(String type)
Environment.DIRECTORY_MOVIES
Environment.DIRECTORY_MUSIC
Environment.DIRECTORY_DOCUMENTS
Environment.DIRECTORY_DOWNLOADS
Environment.DIRECTORY_PICTURES
Environment.DIRECTORY_RINGTONES
<3>獲取私有目錄:File Environment.getExternalStorageDirectory()
<4>獲取下載緩存目錄:File Environment.getDownloadCacheDirectory()
<5>讀寫SD卡的步驟
(1)先判斷手機是否有sd卡:Environment.getExternalStorageState()
(2)獲取sdcard的路徑:Environment.getExternalStorageDirectory()
(3)清單文件中設置讀寫sdcard的權限
(4)執行讀寫操做(基本IO流操做
(5) 根目錄下有sdcard,可是沒東西是個快捷方式(2.2以前)。2.2以後在mnt/sdcard 4.3以後在storage/sdcard)