Android的5中主要的数据存储方式

Android有5中主要的数据存储方式:

1、Android本身的数据库(SQLite数据库):SQlite是一个轻量级的、跨平台的数据库。占用内存小,支持基本的SQL语法,通常用于存储用户信息。

2、SharedPrefrences:保存少量数据,并且这些数据的格式简单:字符串型和基本数据类型。

SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过SharedPreferences.edit()获取的内部接口Editor对象实现。 SharedPreferences本身是一 个接口,程序无法直接创建SharedPreferences实例,只能通过Context提供的getSharedPreferences(String name, int mode)方法来获取SharedPreferences实例,该方法中name表示要操作的xml文件名,第二个参数具体如下:

                 Context.MODE_PRIVATE: 指定该SharedPreferences数据只能被本应用程序读、写。

                 Context.MODE_WORLD_READABLE:  指定该SharedPreferences数据能被其他应用程序读,但不能写。

                 Context.MODE_WORLD_WRITEABLE:  指定该SharedPreferences数据能被其他应用程序读,写

Editor有如下主要重要方法:

                 SharedPreferences.Editor clear():清空SharedPreferences里所有数据

                 SharedPreferences.Editor putXxx(String key , xxx value): 向SharedPreferences存入指定key对应的数据,其中xxx 可以是boolean,float,int等各种基本类型据

                 SharedPreferences.Editor remove(): 删除SharedPreferences中指定key对应的数据项

                 boolean commit(): 当Editor编辑完成后,使用该方法提交修改

public class MainActivity extends AppCompatActivity {
    private EditText etkl;
    private Button setkl;
    private Button getkl;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        etkl = (EditText) findViewById(R.id.kouling);
        setkl = (Button) findViewById(R.id.setkouling);
        getkl = (Button)findViewById(R.id.getkouling);
        
        setkl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String code = etkl.getText().toString().trim();
                SharedPreferences.Editor editor = getSharedPreferences("lock",MODE_WORLD_WRITEABLE).edit();
                editor.putString("code",code);
                editor.commit();
                Toast.makeText(MainActivity.this,"口令设置成功",Toast.LENGTH_LONG).show();

            }
        });
        getkl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                SharedPreferences read = getSharedPreferences("lock",MODE_WORLD_READABLE);
                String value = read.getString("code","");
                Toast.makeText(MainActivity.this,"口令为:" + value,Toast.LENGTH_LONG).show();

            }
        });
    }

}

3、文件存储:数据以 I/O 流的形式把数据存入手机内存或者手机SD卡

参考链接:https://www.cnblogs.com/ITtangtang/p/3920916.html

4、ContentProvider,内容提供者。以数据库的形式存入手机,可以共享自己的数据给其他应用使用,相对于其他对外共享数据方式而言,ContentProvider统一了数据访问方式,使用起来更规范。

5、网络存储,把数据存储到服务器中,不存储在本地,使用的时候直接从网络获取。

猜你喜欢

转载自blog.csdn.net/longge33445/article/details/81094056
今日推荐