Android GreenDao 条件查询问题
PHP中文网
PHP中文网 2017-04-18 09:07:28
0
1
493

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

private List<CityInfo> queryCitiesInfo(){
        List<CityInfo> 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<CityInfo> 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:

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

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(1)
巴扎黑

沒有看到你的表格結構及資料欄位結構組成,沒辦法準確判斷你的問題了,我對你的「China」條件存疑,你檢查你的條件是否正確。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板