WheelView实现省市区三级联动(数据库实现版本号附带完整SQL及数据)
近期在实现收货地址功能,用到了省市区三级联动效果,网上找到一般都是xml或json。数据源陈旧改动麻烦。改动了一下使用数据库方式实现了一下
数据源解决。因为数据量比較大通过初始化批量运行SQL的方式不合适,费时不说还easy出错,我採用的是在电脑上创建好数据库然后把数据库文件放到程序里边,通过以下这种方法能够把db文件复制到随意文件夹下。demo中我把文件放在了raw文件夹下
/**
*
* @param inStream
* @param fileNme 文件名称
* @param newPath 要拷贝到的目录路径
*/
public void copyFile(InputStream inStream,String fileNme, String newPath) {
try {
int bytesum = 0;
int byteread = 0; File file = new File(newPath);
//保证目录存在
if (!file.exists()) {
file.mkdir();
}
//假设文件存在覆盖
File newFile=new File(newPath+File.separator+fileNme);
if(newFile.exists()){
newFile.delete();
newFile.createNewFile();
}
FileOutputStream fs = new FileOutputStream(newFile);
byte[] buffer = new byte[1024 * 2];
int length;
while ((byteread = inStream.read(buffer)) != -1) {
bytesum += byteread; //字节数 文件大小
System.out.println(bytesum);
fs.write(buffer, 0, byteread);
}
inStream.close();
fs.close();
} catch (Exception e) {
System.out.println("拷贝文件操作出错");
e.printStackTrace(); }
}
有了数据库文件仅仅须要通过下面方法就能够对该数据库做操作了,该方法返回的是给定数据库的引用
/**
* 打开数据库文件
* @return
*/
public SQLiteDatabase openDataBase(){
SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(
DATABASES_DIR+DATABASE_NAME, null);
return database;
}
接下来就是查询数据源了
/**
*
* @param db
* @return 查询全部的省
*/
public List<ProvinceModel> getProvice(SQLiteDatabase db){
String sql="SELECT * FROM t_address_province ORDER BY id";
Cursor cursor = db.rawQuery(sql,null);
List<ProvinceModel> list=new ArrayList<ProvinceModel>(); if (cursor!=null&&cursor.getCount() > 0) {
while (cursor.moveToNext()){
ProvinceModel provinceModel=new ProvinceModel();
provinceModel.ID=cursor.getString(cursor.getColumnIndex("id"));
provinceModel.NAME=cursor.getString(cursor.getColumnIndex("name"));
provinceModel.CODE = cursor.getString(cursor.getColumnIndex("code"));
list.add(provinceModel);
}
}
return list;
} /**
* 依据省code查询全部的市
* @param db
* @param code
* @return
*/
public List<CityModel> getCityByParentId(SQLiteDatabase db,String code){
String sql="SELECT * FROM t_address_city WHERE provinceCode=? ORDER BY id";
Cursor cursor = db.rawQuery(sql,new String[]{code});
List<CityModel> list=new ArrayList<CityModel>(); if (cursor!=null&&cursor.getCount() > 0) { while (cursor.moveToNext()){
CityModel cityModel=new CityModel();
cityModel.ID=cursor.getString(cursor.getColumnIndex("id"));
cityModel.NAME=cursor.getString(cursor.getColumnIndex("name"));
cityModel.CODE = cursor.getString(cursor.getColumnIndex("code"));
list.add(cityModel);
}
}
return list;
} /**
* 依据市code查询全部的区
* @param db
* @param code
* @return
*/
public List<DistrictModel> getDistrictById(SQLiteDatabase db,String code){
String sql="SELECT * FROM t_address_town WHERE cityCode=? ORDER BY id ";
Cursor cursor = db.rawQuery(sql,new String[]{code});
List<DistrictModel> list=new ArrayList<DistrictModel>();
if (cursor!=null&&cursor.getCount() > 0) {
while (cursor.moveToNext()){
DistrictModel districtModel=new DistrictModel();
districtModel.ID=cursor.getString(cursor.getColumnIndex("id"));
districtModel.NAME=cursor.getString(cursor.getColumnIndex("name"));
districtModel.CODE = cursor.getString(cursor.getColumnIndex("code"));
list.add(districtModel);
}
}
return list;
}
/**
* Created by xuan on 16/1/7.
*/
public class ProvinceAdapter extends AbstractWheelTextAdapter {
public List<ProvinceModel> mList;
private Context mContext;
public ProvinceAdapter(Context context,List<ProvinceModel> list) {
super(context);
mList=list;
mContext=context;
} @Override
protected CharSequence getItemText(int index) {
ProvinceModel provinceModel=mList.get(index);
return provinceModel.NAME;
} @Override
public int getItemsCount() {
return mList.size();
}
}
再将Adapter给WheelView就能够了
WheelView实现省市区三级联动(数据库实现版本号附带完整SQL及数据)的更多相关文章
- javaweb--json--ajax--mysql实现省市区三级联动(附三级联动数据库)
在web中,实现三级联动很常见,尤其是利用jquery+json.但是从根本上来说jquery并不是最能让人容易理解的,接下来从最基本的javascript开始,实现由javascript+json+ ...
- ajax省市区三级联动
jdbc+servlet+ajax开发省市区三级联动 技术点:jdbc操作数据库,ajax提交,字符拦截器,三级联动 特点:局部刷新达到省市区三级联动,举一反三可以做商品分类等 宗旨:从实战中学习 博 ...
- 基于ThinkPHP+AJAX的省市区三级联动
练习,就当练习. 省市区三级联动,样式如下图所示: 1,导入两个js文件并且导入数据库文件. 两个js文件分别是jquery-2.1.4.min.js和jquery-1.js,数据库文件,见附件. 2 ...
- jquery省市区三级联动
jquery省市区三级联动(数据来源国家统计局官网)内附源码下载 很久很久没有写博了. 今天更新了项目的省市区三级联动数据,更新后最新的海南三沙都有,分享给所有需要的小伙伴们... JQUERY + ...
- PHPOffice/PHPExcel生成省市区三级联动的excel表格
最近公司需要用到一个省市区三级联动的excel表格,但是数据都在数据库,又太多,人工不好制作,就让我这个phper来帮忙啦. 主要用到的是excel的定义名称,数据验证.其中数据验证的列表只能是一列或 ...
- 基于thinkphp和ajax的省市区三级联动
练习,就当练习. 省市区三级联动,样式如下图所示: 1,导入两个js文件并且导入数据库文件. 两个js文件分别是jquery-2.1.4.min.js和jquery-1.js,数据库文件,见附件. 2 ...
- jquery省市区三级联动(数据来源国家统计局官网)内附源码下载
很久很久没有写博了. 今天更新了项目的省市区三级联动数据,更新后最新的海南三沙都有,分享给所有需要的小伙伴们... JQUERY + JSON,无数据库,纯JS代码,无加密,无压缩,可直接使用在任何项 ...
- 用jsp实现省市区三级联动下拉
jsp+jquery实现省市区三级联动下拉 不少系统都需要实现省市区三级联动下拉,像人口信息管理.电子商务网站.会员管理等,都需要填写地址相关信息.而用ajax实现的无刷新省市区三级联动下拉则可以改善 ...
- 项目一:第九天 1、前台客户登录 2、Jquery citypicker省市区三级联动插件 4、业务受理(在线下单)
1. 前台客户登录 2. Jquery citypicker省市区三级联动插件 3. 百度地图介绍 4. 业务受理(在线下单) 1 实现前台系统登录功能 1.1 Md5加密 admin(明文)---- ...
随机推荐
- LeetCode(116) Populating Next Right Pointers in Each Node
题目 Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode * ...
- redux学习总结
redux学习总结 *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !imp ...
- Matplotlib绘图属性(1)
[matplotlib颜色.形状.线型等详细配置方法] #1.颜色(三种方法)-color 八种内置颜色及其缩写: b:blue <蓝色> c:cyan <青色> g:gree ...
- Azure Storage Blob文件名区分大小写
最近在使用Azure Storage的时候发现Storage的命名是区分大小写的,导致我们系统在更新图片的时候有时候更新不上,最终通过判断处理文件名解决. 因此我们在使用Storage需要注意一下文件 ...
- NYOJ——239月老的难题(二分图最大匹配)
月老的难题 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一家, ...
- properties类的基本使用方法
properties类的基本使用方法1.假设有“pp.properties”,内容有 age=22 2.java中用下面方法: Properties props = ...
- 【SPOJ220】Relevant Phrases of Annihilation(后缀数组,二分)
题意: n<=10,len<=1e4 思路: #include<cstdio> #include<cstring> #include<string> # ...
- 【Codeforces Round #506 (Div. 3) 】
A:https://www.cnblogs.com/myx12345/p/9844334.html B:https://www.cnblogs.com/myx12345/p/9844368.html ...
- FGrowth算法
一:背景 http://www.cnblogs.com/aijianiula/p/5397857.html 上节中,总结了频繁项集挖掘的最基本算法:Apriori算法.这篇文章写下它的改进算法FGro ...
- 用CSS3变形创建半圆形导航
http://www.xuanfengge.com/create-a-semicircle-with-css3-variant-navigation.html demo:http://tympanus ...