android中的数据存储有以下五种方式:
1.SharedPreferences存储数据(存储少量信息如登录信息等)
2.文件存储(内部、外部)
3.SQLITE数据库存储(存储需要增删改查的数据)
4.ContentProvider存储(主要用于不同应用间数据共享)
5.网络存储(数据存储在远端服务器上)
一、SharedPreferences
是android中用于存储少量信息的机制,实质上就是xml文件存储键值对数据
存储在相应包的私有目录:data/data/[packageName]/SharedPreferences中
sharedpreferences 是刷新机制,相同key后一次的数据会覆盖前一次的数据
二、实际操作:
写操作:
①:获取SharedPreferences对象,SharedPreferences对象仅能用于读取,不能用于修改
②:若要修改需要借助Editor对象,获取Editor对象用于修改
③:调用Editor.purxxx方法写入数据
④:调用Editor.commit()方法提交数据
读操作:
①:获取SharedPreferences对象
②:调用SharedPreferences.getxxx获取对应key的数据,需要注意这个方法有两个参数,第一个是key,第二个是key不存在的默认值(
一般写null或空字符串)
三、代码:
写操作:存储简单的登录信息,若账户是admin,密码是123则存储到SharedPreferences中
1 //1.获取账号和密码 2 String strAccount = edtAccount.getText().toString(); 3 String strPasswd = edtPassWd.getText().toString(); 4 5 //2.验证账号和密码是否符合要求(账号:admin 密码:123) 6 //2.1符合要求存入sharepreference 7 if(strAccount.equals("admin") && strPasswd.equals("123")) { 8 //sharedpfrerence不能够修改文件只能读取,所有需要使用Editor对象协助 9 //步骤①:获取sharedpfrerence对象 使用getSharedpfreference(参数1:文件名 参数2:模式)获取sharedpfrerence对象 10 SharedPreferences share = getSharedPreferences("myshares",MODE_PRIVATE); 11 //步骤②:获取Editor对象 12 SharedPreferences.Editor editor = share.edit(); 13 //步骤③:存储信息 14 editor.putString("account",strAccount); 15 editor.putString("passwd",strPasswd); 16 //步骤④:提交信息 17 editor.commit(); 18 19 Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_SHORT).show(); 20 } 21 //2.2不符合提示用户账号密码错误 22 else{ 23 Toast.makeText(MainActivity.this, "用户名或密码错误", Toast.LENGTH_SHORT).show(); 24 }
读操作:
1 //sharedpreference的读取 2 //①:获取sharedpreference对象 3 SharedPreferences share = getSharedPreferences("myshares",MODE_PRIVATE); 4 5 //②:根据key获取内容share.getString(key,defaultValue),第二个参数是,当对应key不存在的时候,返回参数二作为默认值 6 String account = share.getString("account",null); 7 String passwd = share.getString("passwd",null); 8 9 if(account!=null && passwd!=null) 10 { 11 edtAccount.setText(account); 12 edtPassWd.setText(passwd); 13 }
下一篇帖子写文件存储(内部、外部),记录下安卓学习之路,若有问题欢迎指正