一框沟、SharedPreferences
保存的數(shù)據(jù)在data/data/<package name>/shared_refs路徑下
創(chuàng)建SharedPreferences使用:
- getSharedPreferences("文件名",訪問權(quán)限)方法
- Editor類進(jìn)行SharePrerences編輯
效果圖
Wifi_SharePreferenced.png
public class MainActivity extends AppCompatActivity {
Switch aSwitch;
SharedPreferences sharedPreferences;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
aSwitch= (Switch) findViewById(R.id.wifiSwitch);
sharedPreferences=getSharedPreferences("wifiStatus",MODE_PRIVATE);
boolean status=sharedPreferences.getBoolean("status",false);
aSwitch.setChecked(status);
aSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
SharedPreferences.Editor editor=sharedPreferences.edit();
editor.putBoolean("status",b);
editor.commit();
}});}}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_height="match_parent"
tools:context="cn.ucai.day06_12_5_data.MainActivity">
<Switch
android:id="@+id/wifiSwitch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="wifi" />
</RelativeLayout>
二、文件存儲(chǔ)方式
隨著應(yīng)用消失的存儲(chǔ)方式,在/data/data/<package name>/files,得到該目錄下的輸入輸出流
如果調(diào)試程序的機(jī)器為真機(jī)捞魁,目錄的命名方式不太一樣;
javaFileOutputStream fos =openFileOutput("app.xml", MODE_PRIVATE);
javaFileInputStream fis = openFileInput("app.xml");
取得res文件下的文件夾app.xml文件
資源文件目錄.png
javaInputStream inputStream = getResources().openRawResource(R.raw.app);
三、sdcard方式
- 一種是會(huì)隨著應(yīng)用卸載而被刪除的sdcard目錄文件
目錄為/sdcard/Android/data/<packagename>/files/<目錄名>
getExternaleFilesDir(String fileName)
- 一種不會(huì)隨著應(yīng)用卸載而被刪除的外部存儲(chǔ)
使用Enviroment類常用的方法:
getExternalStorageDirectory();
得到根目錄** /storage/emulated/0**
getExternalStoragePublicDirectory(String fileName)
創(chuàng)建sdcard根目錄下創(chuàng)建文件;
getExternalStorageState()
獲取外部存儲(chǔ)的狀態(tài)偎肃;