Android知识Android开发app开发

Android三种存储方式

2016-12-06  本文已影响166人  dayang
一、SharedPreferences

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

效果图
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>
二、文件存储方式

随着应用消失的存储方式,在/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方式

getExternaleFilesDir(String fileName)

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

上一篇下一篇

猜你喜欢

热点阅读