Android怎么保存应用数据?
二、用XML文件来保存数据
1、sharedPreference
一般用来保存配置信息,少量的用户个人信息
getSharedPreferences()方法需要传两个参数,第一个是文件名,第二个是操作模式,一般来说都会写成私有的。
最后,不要忘了提交。(commit)
editor.clear():此方法可以把已经保存在文件里面的东西清空
2、使用安卓的序列化器生成xml文件
(1) 拿到序列化器对象
XmlSerializer xs = Xml.new serializer();
(2) 对序列化器进行初始化
File file = new File(getFilesDir(),"XXX.xml");
FileOutputStream fos = new FileOutputStream(file);
xs.setOutput(fos,"utf-8");
(3) 生成节点
xs.startDocument("utf-8",true);
xs.startTag(null,"name");
xs.text(****);
xs.endTag(null,"name");
xs.endDocument();
三、使用数据库来保存数据
1、在安卓中操作数据库,首先创建一个类继承SqliteOpenHelper,提供构造函数,实现里面的方 法, 在onCreate()方法中创建数据库。
2、有什么样的表(table),就创建一个什么样的JavaBean。(比如Students)
3、最好单独创建一个类(比如StudentDao),里面定义五个方法:增、删、改、查(查询某个<返回对象>以及一次性查询全部<返回一个集合>),当然这几个方法封装的还是数据库的操作方法。
4、这些都做好,就可以在MainActivity中操作了。只需要给增删改查的按钮设置点击事件,调用相应的方法就可以了。
知道下图中每个参数的作用
示例:
补充:利用API操作数据库
利用API插入数据:
public void insertData(){
ContentValues values = new ContentValues();
values.put("name", "apple"+i);
values.put("price", "price:5.5"+i);
db.insert(DB_NAME, null, values);//传两个参数,一个是表名,一个是没有插入数据时的默认值,第三个是要插入的数据(键值对)
}
利用API删除数据:
public void deleteByApi(){
int rows = db.delete(DB_NAME,"name=?", new String[]{"apple1"});//第一个参数是表名,第二个是筛选位置(不能写where),如果第二个参数写了占位符,则在这里给具体值
}
语句的返回值代表删除的行号,如果等于0,代表删除失败
利用API修改数据:
public void updateData(){
ContentValues values = new ContentValues();
values.put("price", "100");
int update = db.update(DB_NAME, values, "_id=?", new String[]{"4"});
}