学郭霖《第一行代码》知识的总结,有不足之处还希望大家多多指点。大家有兴趣的话可以去看看郭神的博客
https://my.csdn.net/c10wtiybq1ye3。
数据对于任何应用来说都是无比重要的,数据的存储使得数据不易丢失。Android系统中主要提供了3种方式用于简单地实现数据的存储,即文件存储、SharedPreference存储以及数据库存储。下面我简单总结了一下数据库存储——LitePal。
LitePal是一个开源的Android库,允许开发人员使用SQLite数据库非常简单。您甚至可以完成大部分数据库操作而无需编写SQL语句,包括创建或升级表格,crud操作,聚合函数等。
LitePal项目地址:https://github.com/LitePalFramework/LitePal。
1、使用Android Studio需要编辑你的build.gradle文件并添加下面的依赖关系:
dependencies {
compile 'org.litepal.android:core:2.0.0'
}
2、在项目的assets文件夹中创建一个文件,并将其命名为litepal.xml。然后将以下代码复制到其中。
<?xml version="1.0" encoding="utf-8"?>
<litepal>
<dbname value="cool_weather" /><!--配置项目的数据库名称-->
<version value="1" /><!--配置数据库的版本-->
<list><!--配置映射类-->
<mapping class="com.coolweather.android.db.Province" />
<mapping class="com.coolweather.android.db.City" />
<mapping class="com.coolweather.android.db.County" />
</list>
</litepal>
3、配置LitePalApplication,在AndroidManifest.xml中配置LitePalApplication。
<manifest>
<application
android:name="org.litepal.LitePalApplication"
...
>
...
</application>
</manifest>
4、LitePal采取的是对象关系映射(ORM)的模式,创建一个全国省份的表Province.
import org.litepal.crud.LitePalSupport;
public class Province extends LitePalSupport{
private int id;
private String provinceName;
private int provinceCode;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getProvinceName() {
return provinceName;
}
public void setProvinceName(String provinceName) {
this.provinceName = provinceName;
}
public int getProvinceCode() {
return provinceCode;
}
public void setProvinceCode(int provinceCode) {
this.provinceCode = provinceCode;
}
}
5、表的操作:
- 保存数据
Province province = new Province(); province.setProvinceName("name"); province.setProvinceCode("id"); province.save();
- 更新数据
Province provinceUpdate = new Province(); provinceUpdate.setProvinceName("name1"); provinceUpdate.update(id);
- 删除数据
LitePal.delete(Province.class,id);//单个 LitePalSupport.deleteAll(Province.class);//全部
- 查询数据
Province provinceQuery = LitePal.find(Province.class, id);//单个
List<Province> allProvinceQuery = LitePal.findAll(Province.class);//全部
在这里就简单总结一下,详情可以去看LitePal文档,相信还很多不足之处,希望大家多多指教,积累点点滴滴,做好自己!