本文引用于郭神的酷欧天气
正文:
首先要用到的四个依赖包如下:
注解:
/*
*litepal用于处理数据库
- okhttp3用于进行网络操作
*gson用于解析GSON数据
*glide用于加载和展示图片
*/
implementation ‘org.litepal.guolindev:core:3.2.2’
implementation(“com.squareup.okhttp3:okhttp:4.9.0”)
implementation ‘com.google.code.gson:gson:2.8.6’
implementation ‘com.github.bumptech.glide:glide:4.11.0’
第二步:在项目包下建立四个包
分别为:db,gson,service,util
然后在db包里建立三个类Province,City,County实体类都继承与LitePalSupport(原酷欧天气继承DataSupport,但DataSupport已经被弃用)
分别用于存放省,市,县三级的数据
- Province里面代码为:
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;
}
}
2.City里面的代码:
public class City extends LitePalSupport {
private int id;
private String cityName;//城市名称
private int cityCode;//城市代码
private int provinceId;//省级ID,用于查询市级城市时,在省级后面加上省级ID,就会陈列出所有在此省内的城市
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getCityName() {
return cityName;
}
public void setCityName(String cityName) {
this.cityName = cityName;
}
public int getCityCode() {
return cityCode;
}
public void setCityCode(int cityCode) {
this.cityCode = cityCode;
}
public int getProvinceId() {
return provinceId;
}
public void setProvinceId(int provinceId) {
this.provinceId = provinceId;
}
}
3.County里面的代码:
public class County extends LitePalSupport {
private int id;
private String countyName;//县级名称
private String weatherId;//天气ID
private int cityId;//城市ID
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getCountyName() {
return countyName;
}
public void setCountyName(String countyName) {
this.countyName = countyName;
}
public String getWeatherId() {
return weatherId;
}
public void setWeatherId(String weatherId) {
this.weatherId = weatherId;
}
public int getCityId() {
return cityId;
}
public void setCityId(int cityId) {
this.cityId = cityId;
}
}
然后在main目录下建立一个包名为assets, 在assets包下建立一个名为litepal.xml的文件
在这里有两个重点:
1:在main目录下建立assets包
2:建立的文件名必须为litepal.xml,记住有后缀名
不然会出现异常:litepal.xml file is missing. Please ensure it under assets folder.
其中litepal.xml内的代码为:
数据库名称为:cool_weather
版本为:1
添加db包里面的三个实体类到映射列表中
<litepal>
<dbname value="cool_weather" />
<version value="1" />
<list>
<mapping class="com.example.weather2.db.Province"/>
<mapping class="com.example.weather2.db.City"/>
<mapping class="com.example.weather2.db.County"/>
</list>
</litepal>
</font>
最后记得配置清单文件中的LitepalApplication
android:name="org.litepal.LitePalApplication"
第一部分到这里