使用GreenDao保存了全国城市的属性(名字,代码,省份等等),保存可以成功,无条件查询全部数据时可以成功:

private List queryCitiesInfo(){

List cityInfos = mCityQUery.list();

for (int i = 0; i < cityInfos.size(); i++) {

Log.d(TAG,"所有的城市CountryEn"+cityInfos.get(i).getCountryEn());

}

return cityInfos;

}

但是使用条件查询,时数据为0,不知道哪里出错了,对了下属性,没知道原因:

//这个方法查询的数据为0

private void queryCitiesByLeader(){

mCityInfoDao = nDaoSession.getCityInfoDao();

mCityQUery = mCityInfoDao.queryBuilder().orderAsc(CityInfoDao.Properties.Id).build();

List cityInfos = mCityInfoDao.queryBuilder().where(CityInfoDao.Properties.CountryEn.eq("China")).orderAsc(CityInfoDao.Properties.Id).list();

for (int i = 0; i < cityInfos.size(); i++) {

Log.d(TAG,"条件查询城市名称" + cityInfos.get(i).getCityEn());

}

}

@Entity

public class CityInfo {

@Id

private Long id;

private String cityEn;

private String cityZh;

private String countryCode;

private String countryEn;

private String countryZh;

private String provinceEn;

private String provinceZh;

private String leaderEn;

private String leaderZh;

private String lat;

private String lon;

@Generated(hash = 69148619)

public CityInfo(Long id, String cityEn, String cityZh, String countryCode,

String countryEn, String countryZh, String provinceEn,

String provinceZh, String leaderEn, String leaderZh, String lat,

String lon) {

this.id = id;

this.cityEn = cityEn;

this.cityZh = cityZh;

this.countryCode = countryCode;

this.countryEn = countryEn;

this.countryZh = countryZh;

this.provinceEn = provinceEn;

this.provinceZh = provinceZh;

this.leaderEn = leaderEn;

this.leaderZh = leaderZh;

this.lat = lat;

this.lon = lon;

}

@Generated(hash = 300452937)

public CityInfo() {

}

public Long getId() {

return this.id;

}

public void setId(Long id) {

this.id = id;

}

public String getCityEn() {

return this.cityEn;

}

public void setCityEn(String cityEn) {

this.cityEn = cityEn;

}

public String getCityZh() {

return this.cityZh;

}

public void setCityZh(String cityZh) {

this.cityZh = cityZh;

}

public String getCountryCode() {

return this.countryCode;

}

public void setCountryCode(String countryCode) {

this.countryCode = countryCode;

}

public String getCountryEn() {

return this.countryEn;

}

public void setCountryEn(String countryEn) {

this.countryEn = countryEn;

}

public String getCountryZh() {

return this.countryZh;

}

public void setCountryZh(String countryZh) {

this.countryZh = countryZh;

}

public String getProvinceEn() {

return this.provinceEn;

}

public void setProvinceEn(String provinceEn) {

this.provinceEn = provinceEn;

}

public String getProvinceZh() {

return this.provinceZh;

}

public void setProvinceZh(String provinceZh) {

this.provinceZh = provinceZh;

}

public String getLeaderEn() {

return this.leaderEn;

}

public void setLeaderEn(String leaderEn) {

this.leaderEn = leaderEn;

}

public String getLeaderZh() {

return this.leaderZh;

}

public void setLeaderZh(String leaderZh) {

this.leaderZh = leaderZh;

}

public String getLat() {

return this.lat;

}

public void setLat(String lat) {

this.lat = lat;

}

public String getLon() {

return this.lon;

}

public void setLon(String lon) {

this.lon = lon;

}

}

下面是部分日志,打印出CountryEn:

bVJPPG?w=1049&h=219

第一次用GreenDao, 找了很久没发现问题,望解答,感谢。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐