根据Demo,修改一些后效果如下:
其中Demo中assets中下写死着含有拼音和城市缩写名的数据库。
在实际项目中,我是先在刚下载好app后,从服务器中获取含有拼音,城市缩写名,及城市ID的数据,拆入本地数据库AddressCitiesBeanEntity表,之后判断本地该表是否有数据,不存在数据时,再去获得。代码如下:
try {
List<AddressCitiesBeanEntity> mAddressCitiesBeans = dbUtils.findAll(AddressCitiesBeanEntity.class);
if (mAddressCitiesBeans != null && mAddressCitiesBeans.size() > 0) {
}else{
// 获取城市列表
getCities();
}
} catch (DbException e) {
e.printStackTrace();
}
之后的操作和Demo中的类似,其中最近访问的城市未在Demo中体现,最近访问就是写个最近访问城市的数据库,当点击过某城市的时候,存入;当然需要存入一个时间,并取出时去重。
地址选择Demo地址:http://download.youkuaiyun.com/detail/u012881042/9549118