Android三种存储方式

一、SharedPreferences

保存的数据在data/data//shared_refs路径下
创建SharedPreferences使用:

  • getSharedPreferences("文件名",访问权限)方法
  • Editor类进行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();
}});}}




二、文件存储方式

随着应用消失的存储方式,在/data/data//files,得到该目录下的输入输出流
如果调试程序的机器为真机,目录的命名方式不太一样;

javaFileOutputStream fos =openFileOutput("app.xml", MODE_PRIVATE);

javaFileInputStream fis = openFileInput("app.xml");

取得res文件下的文件夹app.xml文件


Android三种存储方式_第1张图片
资源文件目录.png

javaInputStream inputStream = getResources().openRawResource(R.raw.app);

三、sdcard方式
  • 一种是会随着应用卸载而被删除的sdcard目录文件
    目录为/sdcard/Android/data//files/<目录名>

getExternaleFilesDir(String fileName)

  • 一种不会随着应用卸载而被删除的外部存储
    使用Enviroment类常用的方法:

getExternalStorageDirectory();
得到根目录** /storage/emulated/0**
getExternalStoragePublicDirectory(String fileName)
创建sdcard根目录下创建文件;
getExternalStorageState()
获取外部存储的状态;

你可能感兴趣的:(Android三种存储方式)