一、SharedPreferences
保存的数据在data/data/<package name>/shared_refs路径下
创建SharedPreferences使用:
- getSharedPreferences("文件名",访问权限)方法
- Editor类进行SharePrerences编辑
效果图
Wifi_SharePreferenced.pngpublic 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>
二、文件存储方式
随着应用消失的存储方式,在/data/data/<package name>/files,得到该目录下的输入输出流
如果调试程序的机器为真机,目录的命名方式不太一样;
javaFileOutputStream fos =openFileOutput("app.xml", MODE_PRIVATE);
javaFileInputStream fis = openFileInput("app.xml");
取得res文件下的文件夹app.xml文件
资源文件目录.png
javaInputStream inputStream = getResources().openRawResource(R.raw.app);
三、sdcard方式
- 一种是会随着应用卸载而被删除的sdcard目录文件
目录为/sdcard/Android/data/<packagename>/files/<目录名>
getExternaleFilesDir(String fileName)
- 一种不会随着应用卸载而被删除的外部存储
使用Enviroment类常用的方法:
getExternalStorageDirectory();
得到根目录** /storage/emulated/0**
getExternalStoragePublicDirectory(String fileName)
创建sdcard根目录下创建文件;
getExternalStorageState()
获取外部存储的状态;
网友评论