編輯:關於Android編程
先上圖:
省市縣三級聯動,選地址經常用到用NumberPicker控件實現滑動,json數據解析使用fastjson框架使用很簡單,傳入一個String[]數組,設置選擇器的默認值,用戶選擇之後點擊確認,回調接口返回String[]數組,包含重新選擇的省市縣樣式修改簡單,可以隨意修改與項目風格統一。
布局文件activity_main.xml
對話框布局文件:
基類BaseActivity.java
import android.app.Activity; import android.os.Bundle; public class BaseActivity extends Activity { public static BaseActivity instance = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); instance = this; } public static BaseActivity getInstance() { return instance; } }
接口類ChooseCityInterface.java
public interface ChooseCityInterface { public void sure(String[] newCityArray); }
json對應實體類CityBean.java
public class CityBean { private String note; private List data; public String getNote() { return note; } public void setNote(String note) { this.note = note; } public List getData() { return data; } public void setData(List data) { this.data = data; } public static class Data { private String name; private Listcity; public String getName() { return name; } public void setName(String name) { this.name = name; } public List getCity() { return city; } public void setCity(List city) { this.city = city; } public static class City { private String name; private List county; public String getName() { return name; } public void setName(String name) { this.name = name; } public List getCounty() { return county; } public void setCounty(List county) { this.county = county; } } } }
選擇地址對話框工具類 ChooseCityUtil.java
public class ChooseCityUtil implements View.OnClickListener, NumberPicker.OnValueChangeListener { Context context; AlertDialog dialog; ChooseCityInterface cityInterface; NumberPicker npProvince, npCity, npCounty; TextView tvCancel, tvSure; String[] newCityArray = new String[3]; CityBean bean; public void createDialog(Context context, String[] oldCityArray, ChooseCityInterface cityInterface) { this.context = context; this.cityInterface = cityInterface; bean = JSON.parseObject(CityData.getJson(), CityBean.class); newCityArray[0] = oldCityArray[0]; newCityArray[1] = oldCityArray[1]; newCityArray[2] = oldCityArray[2]; dialog = new AlertDialog.Builder(context).create(); dialog.show(); Window window = dialog.getWindow(); window.setContentView(R.layout.dialog_choose_city); //初始化控件 tvCancel = (TextView) window.findViewById(R.id.tvCancel); tvSure = (TextView) window.findViewById(R.id.tvSure); tvCancel.setOnClickListener(this); tvSure.setOnClickListener(this); npProvince = (NumberPicker) window.findViewById(R.id.npProvince); npCity = (NumberPicker) window.findViewById(R.id.npCity); npCounty = (NumberPicker) window.findViewById(R.id.npCounty); setNomal(); //省:設置選擇器最小值、最大值、初始值 String[] provinceArray = new String[bean.getData().size()];//初始化省數組 for (int i = 0; i < provinceArray.length; i++) {//省數組填充數據 provinceArray[i] = bean.getData().get(i).getName(); } npProvince.setDisplayedValues(provinceArray);//設置選擇器數據、默認值 npProvince.setMinValue(0); npProvince.setMaxValue(provinceArray.length - 1); for (int i = 0; i < provinceArray.length; i++) { if (provinceArray[i].equals(newCityArray[0])) { npProvince.setValue(i); changeCity(i);//聯動市數據 } } } //根據省,聯動市數據 private void changeCity(int provinceTag) { ListcityList = bean.getData().get(provinceTag).getCity(); String[] cityArray = new String[cityList.size()]; for (int i = 0; i < cityArray.length; i++) { cityArray[i] = cityList.get(i).getName(); } LogUtil.i(Arrays.toString(cityArray)); try { npCity.setMinValue(0); npCity.setMaxValue(cityArray.length - 1); npCity.setWrapSelectorWheel(false); npCity.setDisplayedValues(cityArray);//設置選擇器數據、默認值 } catch (Exception e) { npCity.setDisplayedValues(cityArray);//設置選擇器數據、默認值 npCity.setMinValue(0); npCity.setMaxValue(cityArray.length - 1); npCity.setWrapSelectorWheel(false); } for (int i = 0; i < cityArray.length; i++) { if (cityArray[i].equals(newCityArray[1])) { npCity.setValue(i); changeCounty(provinceTag, i);//聯動縣數據 return; } } npCity.setValue(0); changeCounty(provinceTag, npCity.getValue());//聯動縣數據 } //根據市,聯動縣數據 private void changeCounty(int provinceTag, int cityTag) { List countyList = bean.getData().get(provinceTag).getCity().get(cityTag).getCounty(); String[] countyArray = new String[countyList.size()]; for (int i = 0; i < countyArray.length; i++) { countyArray[i] = countyList.get(i).toString(); } LogUtil.i(Arrays.toString(countyArray) + countyArray.length + " - " + (countyArray.length - 1)); try { npCounty.setMinValue(0); npCounty.setMaxValue(countyArray.length - 1); npCounty.setWrapSelectorWheel(false); npCounty.setDisplayedValues(countyArray);//設置選擇器數據、默認值 } catch (Exception e) { npCounty.setDisplayedValues(countyArray);//設置選擇器數據、默認值 npCounty.setMinValue(0); npCounty.setMaxValue(countyArray.length - 1); npCounty.setWrapSelectorWheel(false); } for (int i = 0; i < countyArray.length; i++) { if (countyArray[i].equals(newCityArray[2])) { npCounty.setValue(i); return; } } npCounty.setValue(0); } //設置NumberPicker的分割線透明、字體顏色、設置監聽 private void setNomal() { //設置監聽 npProvince.setOnValueChangedListener(this); npCity.setOnValueChangedListener(this); npCounty.setOnValueChangedListener(this); //去除分割線 setNumberPickerDividerColor(npProvince); setNumberPickerDividerColor(npCity); setNumberPickerDividerColor(npCounty); //設置字體顏色 setNumberPickerTextColor(npProvince, context.getResources().getColor(R.color.mainColor)); setNumberPickerTextColor(npCity, context.getResources().getColor(R.color.mainColor)); setNumberPickerTextColor(npCounty, context.getResources().getColor(R.color.mainColor)); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.tvCancel: dialog.dismiss(); break; case R.id.tvSure: dialog.dismiss(); cityInterface.sure(newCityArray); break; } } //選擇器選擇值監聽 @Override public void onValueChange(NumberPicker picker, int oldVal, int newVal) { switch (picker.getId()) { case R.id.npProvince: List dataList = bean.getData(); newCityArray[0] = dataList.get(npProvince.getValue()).getName(); changeCity(npProvince.getValue()); newCityArray[1] = dataList.get(npProvince.getValue()).getCity().get(0).getName(); newCityArray[2] = dataList.get(npProvince.getValue()).getCity().get(0).getCounty().get(0).toString(); break; case R.id.npCity: List cityList = bean.getData().get(npProvince.getValue()).getCity(); newCityArray[1] = cityList.get(npCity.getValue()).getName(); changeCounty(npProvince.getValue(), npCity.getValue()); newCityArray[2] = cityList.get(npCity.getValue()).getCounty().get(0).toString(); break; case R.id.npCounty: List countyList = bean.getData().get(npProvince.getValue()).getCity().get(npCity.getValue()).getCounty(); newCityArray[2] = countyList.get(npCounty.getValue()).toString(); break; } } //設置分割線顏色 private void setNumberPickerDividerColor(NumberPicker numberPicker) { NumberPicker picker = numberPicker; Field[] pickerFields = NumberPicker.class.getDeclaredFields(); for (Field pf : pickerFields) { if (pf.getName().equals("mSelectionDivider")) { pf.setAccessible(true); try { //設置分割線的顏色值 pf.set(picker, new ColorDrawable(context.getResources().getColor(R.color.touming)));// pf.set(picker, new Div) } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (Resources.NotFoundException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } break; } } } //設置選擇器字體顏色 public static boolean setNumberPickerTextColor(NumberPicker numberPicker, int color) { boolean result = false; final int count = numberPicker.getChildCount(); for (int i = 0; i < count; i++) { View child = numberPicker.getChildAt(i); if (child instanceof EditText) { try { Field selectorWheelPaintField = numberPicker.getClass() .getDeclaredField("mSelectorWheelPaint"); selectorWheelPaintField.setAccessible(true); ((Paint) selectorWheelPaintField.get(numberPicker)).setColor(color); ((EditText) child).setTextColor(color); numberPicker.invalidate(); result = true; } catch (NoSuchFieldException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { e.printStackTrace(); } } } return result; } }
使用調用 MainActivity.java
public class MainActivity extends BaseActivity { TextView tvDate,tvCity; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { tvDate = (TextView) findViewById(R.id.tvDate); tvCity = (TextView) findViewById(R.id.tvCity); tvDate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { chooseDateDialog(); } }); tvCity.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { chooseCityDialog(); } }); } //Choose Date public void chooseDateDialog() { final ChooseDateUtil dateUtil = new ChooseDateUtil(); int[] oldDateArray = {2016, 01, 01}; dateUtil.createDialog(this, oldDateArray, new ChooseDateInterface() { @Override public void sure(int[] newDateArray) { tvDate.setText(newDateArray[0] + "-" + newDateArray[1] + "-" + newDateArray[2]); } }); } //在需要選擇地址的地方,只需要調用這個方法就行了 public void chooseCityDialog() { final ChooseCityUtil cityUtil = new ChooseCityUtil(); String[] oldCityArray = tvCity.getText().toString().split("-");//給選擇器設置一個默認的省市縣 cityUtil.createDialog(this, oldCityArray, new ChooseCityInterface() { @Override public void sure(String[] newCityArray) { tvCity.setText(newCityArray[0] + "-" + newCityArray[1] + "-" + newCityArray[2]);//點擊"確認"按鈕的返回結果 } }); } }
顏色 colors.xml
#3F51B5 #303F9F #1BC47A #EEEEEE #5E5E5E #FFF #00000000
省市縣Json數據類 CityData.java
/** * Developer : [email protected] * Create Time :2016-6-16 15:32:08 * Function:全國省市縣Json數據 */ public class CityData { public static String getJson() { return "轉譯符看著太亂,把下面的json文本復制到這裡,替換掉!"; } }
{ "note": "全國省市縣數據", "data": [ { "name": "北京", "city": [ { "name": "北京", "county": [ "昌平", "朝陽", "大興", "房山", "豐台", "海澱", "懷柔", "門頭溝", "密雲", "平谷", "石景山", "順義", "通州", "宣武", "延慶" ] } ] }, { "name": "安徽", "city": [ { "name": "安慶", "county": [ "大觀", "懷寧", "潛山", "宿松", "太湖", "桐城", "望江", "宜秀", "迎江", "岳西", "枞陽" ] }, { "name": "蚌埠", "county": [ "蚌山", "固鎮", "淮上", "懷遠", "龍子湖", "五河", "禹會" ] }, { "name": "亳州", "county": [ "渦陽", "利辛", "蒙城", "谯城" ] }, { "name": "巢湖", "county": [ "含山", "和縣", "居巢", "廬江", "無為" ] }, { "name": "池州", "county": [ "東至", "貴池", "青陽", "石台" ] }, { "name": "滁州", "county": [ "定遠", "鳳陽", "來安", "琅玡", "明光", "南谯", "全椒", "天長" ] }, { "name": "阜陽", "county": [ "阜南", "界首", "臨泉", "太和", "穎東", "穎泉", "颍上", "穎州" ] }, { "name": "合肥", "county": [ "包河", "長豐", "肥東", "肥西", "廬陽", "蜀山", "瑤海" ] }, { "name": "淮北", "county": [ "杜集", "烈山", "濉溪", "相山" ] }, { "name": "淮南", "county": [ "八公山", "大通", "鳳台", "潘集", "田家庵", "謝家集" ] }, { "name": "黃山", "county": [ "黃山", "徽州", "祁門", "歙縣", "屯溪", "休寧", "黟縣" ] }, { "name": "六安", "county": [ "霍邱", "霍山", "金安", "金寨", "壽縣", "舒城", "裕安" ] }, { "name": "馬鞍山", "county": [ "當塗", "花山", "金家莊", "雨山" ] }, { "name": "宿州", "county": [ "砀山", "靈璧", "泗縣", "蕭縣", "埇橋" ] }, { "name": "銅陵", "county": [ "郊區", "獅子山", "銅官山", "銅陵" ] }, { "name": "蕪湖", "county": [ "繁昌", "鏡湖", "鸠江", "南陵", "三山", "蕪湖縣", "弋江" ] }, { "name": "宣城", "county": [ "廣德", "績溪", "旌德", "泾縣", "郎溪", "寧國", "宣州" ] } ] }, { "name": "澳門", "city": [ { "name": "澳門半島", "county": [ "澳門半島" ] }, { "name": "氹仔島", "county": [ "氹仔島" ] }, { "name": "路環島", "county": [ "路環島" ] } ] }, { "name": "重慶", "city": [ { "name": "重慶", "county": [ "巴南", "北碚", "璧山", "長壽", "城口", "大渡口", "大足", "墊江", "豐都", "奉節", "涪陵", "合川", "江北", "江津", "九龍坡", "開縣", "梁平", "南岸", "南川", "彭水", "綦江", "黔江", "榮昌", "沙坪壩", "石柱", "雙橋", "銅梁", "潼南", "萬盛", "萬州", "巫山", "巫溪", "武隆", "秀山", "永川", "酉陽", "渝北", "渝中", "雲陽", "忠縣" ] } ] }, { "name": "福建", "city": [ { "name": "福州", "county": [ "倉山", "長樂", "福清", "鼓樓", "晉安", "連江", "羅源", "馬尾", "閩侯", "閩清", "平潭", "台江", "永泰" ] }, { "name": "龍巖", "county": [ "長汀", "連城", "上杭", "武平", "新羅", "永定", "漳平" ] }, { "name": "南平", "county": [ "光澤", "建瓯", "建陽", "浦城", "邵武", "順昌", "松溪", "武夷山", "延平", "政和" ] }, { "name": "寧德", "county": [ "福安", "福鼎", "古田", "蕉城", "屏南", "壽寧", "霞浦", "柘榮", "周寧" ] }, { "name": "莆田", "county": [ "城廂", "涵江", "荔城", "仙游", "秀嶼港" ] }, { "name": "泉州", "county": [ "安溪", "德化", "豐澤", "惠安", "金門", "晉江", "鯉城", "洛江", "南安", "泉港", "石獅", "永春" ] }, { "name": "三明", "county": [ "大田", "建寧", "將樂", "梅列", "明溪", "寧化", "清流", "三元", "沙縣", "泰寧", "永安", "尤溪" ] }, { "name": "廈門", "county": [ "海滄", "湖裡", "集美", "思明", "同安", "翔安" ] }, { "name": "漳州", "county": [ "長泰", "東山", "華安", "龍海", "龍文", "南靖", "平和", "芗城", "雲霄", "漳浦", "诏安" ] } ] }, { "name": "甘肅", "city": [ { "name": "白銀", "county": [ "白銀縣", "會寧", "景泰", "靖遠", "平川" ] }, { "name": "定西", "county": [ "安定", "臨洮", "隴西", "岷縣", "通渭", "渭源", "漳縣" ] }, { "name": "甘南", "county": [ "迭部", "合作", "臨潭", "碌曲", "瑪曲", "夏河", "舟曲", "卓尼" ] }, { "name": "嘉峪關", "county": [ "嘉峪關" ] }, { "name": "金昌", "county": [ "金川", "永昌" ] }, { "name": "酒泉", "county": [ "阿克塞", "敦煌", "瓜州", "金塔", "肅北", "肅州", "玉門" ] }, { "name": "蘭州", "county": [ "安寧", "城關", "皋蘭", "紅古", "七裡河", "西固", "永登", "榆中" ] }, { "name": "臨夏", "county": [ "東鄉", "廣河", "和政", "積石山", "康樂", "臨夏市", "臨夏縣", "永靖" ] }, { "name": "隴南", "county": [ "成縣", "宕昌", "徽縣", "康縣", "禮縣", "兩當", "文縣", "武都", "西和" ] }, { "name": "平涼", "county": [ "崇信", "華亭", "泾川", "靜寧", "崆峒", "靈台", "莊浪" ] }, { "name": "慶陽", "county": [ "合水", "華池", "環縣", "寧縣", "慶城", "西峰", "鎮原", "正寧" ] }, { "name": "天水", "county": [ "甘谷", "麥積", "秦安", "秦州", "清水", "武山", "張家川" ] }, { "name": "武威", "county": [ "古浪", "涼州", "民勤", "天祝" ] }, { "name": "張掖", "county": [ "甘州", "高台", "臨澤", "民樂", "山丹", "肅南" ] } ] }, { "name": "廣東", "city": [ { "name": "潮州", "county": [ "潮安", "饒平", "湘橋" ] }, { "name": "東莞", "county": [ "東莞縣" ] }, { "name": "佛山", "county": [ "禅城", "高明", "南海", "三水", "順德" ] }, { "name": "廣州", "county": [ "白雲", "從化", "海珠", "花都", "黃埔", "荔灣", "蘿崗", "南沙", "番禺", "天河", "越秀", "增城" ] }, { "name": "河源", "county": [ "東源", "和平", "連平", "龍川", "源城", "紫金" ] }, { "name": "惠州", "county": [ "博羅", "惠城", "惠東", "惠陽", "龍門" ] }, { "name": "江門", "county": [ "恩平", "鶴山", "江海", "開平", "蓬江", "台山", "新會" ] }, { "name": "揭陽", "county": [ "惠來", "揭東", "揭西", "普寧", "榕城" ] }, { "name": "茂名", "county": [ "電白", "高州", "化州", "茂港", "茂南", "信宜" ] }, { "name": "梅州", "county": [ "大埔", "豐順", "蕉嶺", "梅縣", "梅江", "平遠", "五華", "興寧" ] }, { "name": "清遠", "county": [ "佛岡", "連南", "連山", "連州", "清城", "清新", "陽山", "英德" ] }, { "name": "汕頭", "county": [ "潮南", "潮陽", "澄海", "濠江", "金平", "龍湖", "南澳" ] }, { "name": "汕尾", "county": [ "城區", "海豐", "陸豐", "陸河" ] }, { "name": "韶關", "county": [ "樂昌", "南雄", "曲江", "仁化", "乳源", "始興", "翁源", "武江", "新豐", "浈江" ] }, { "name": "深圳", "county": [ "寶安", "福田", "龍崗", "羅湖", "南山", "鹽田" ] }, { "name": "陽江", "county": [ "江城", "陽西", "陽春", "陽東" ] }, { "name": "雲浮", "county": [ "羅定", "新興", "郁南", "雲安", "雲城" ] }, { "name": "湛江", "county": [ "赤坎", "雷州", "廉江", "麻章", "坡頭", "遂溪", "吳川", "霞山", "徐聞" ] }, { "name": "肇慶", "county": [ "德慶", "鼎湖", "端州", "封開", "高要", "廣寧", "懷集", "四會" ] }, { "name": "中山", "county": [ "中山" ] }, { "name": "珠海", "county": [ "斗門", "金灣", "香洲" ] } ] }, { "name": "廣西", "city": [ { "name": "百色", "county": [ "德保", "靖西", "樂業", "凌雲", "隆林", "那坡", "平果", "田東", "田林", "田陽", "西林", "右江" ] }, { "name": "北海", "county": [ "海城", "合浦", "鐵山港", "銀海" ] }, { "name": "崇左", "county": [ "大新", "扶綏", "江州", "寧明", "憑祥", "天等" ] }, { "name": "防城港", "county": [ "東興", "防城", "港口", "上思" ] }, { "name": "貴港", "county": [ "港北", "港南", "桂平", "平南", "覃塘" ] }, { "name": "桂林", "county": [ "疊彩", "恭城", "灌陽", "荔浦", "靈川", "臨桂", "龍勝", "平樂", "七星", "全州", "象山", "興安", "秀峰", "雁山", "陽朔", "永福", "資源" ] }, { "name": "河池", "county": [ "巴馬", "大化", "東蘭", "都安", "鳳山", "環江", "金城江", "羅城", "南丹", "天峨", "宜州" ] }, { "name": "賀州", "county": [ "八步", "富川", "昭平", "鐘山" ] }, { "name": "來賓", "county": [ "合山", "金秀", "武宣", "象州", "忻城", "興賓" ] }, { "name": "柳州", "county": [ "城中", "柳北", "柳城", "柳江", "柳南", "鹿寨", "融安", "融水", "三江", "魚峰" ] }, { "name": "南寧", "county": [ "賓陽", "橫縣", "江南", "良慶", "隆安", "龍州", "馬山", "青秀", "上林", "武鳴", "西鄉塘", "興寧", "邕寧" ] }, { "name": "欽州", "county": [ "靈山", "浦北", "欽北", "欽南" ] }, { "name": "梧州", "county": [ "蒼梧", "岑溪", "長洲", "蝶山", "蒙山", "籐縣", "萬秀" ] }, { "name": "玉林", "county": [ "北流", "博白", "陸川", "容縣", "興業", "玉州" ] } ] }, { "name": "貴州", "city": [ { "name": "安順", "county": [ "關嶺", "平壩", "普定", "西秀", "鎮寧", "紫雲" ] }, { "name": "畢節市", "county": [ "畢節縣", "大方", "赫章", "金沙", "納雍", "黔西", "威寧", "織金" ] }, { "name": "貴陽", "county": [ "白雲", "花溪", "開陽", "南明", "清鎮", "烏當", "息烽", "小河", "修文", "雲巖" ] }, { "name": "六盤水", "county": [ "六枝特", "盤縣", "水城", "鐘山" ] }, { "name": "黔東南", "county": [ "岑鞏", "從江", "丹寨", "黃平", "劍河", "錦屏", "凱裡", "雷山", "黎平", "麻江", "榕江", "三穗", "施秉", "台江", "天柱", "鎮遠" ] }, { "name": "黔南", "county": [ "長順", "獨山", "都勻", "福泉", "貴定", "惠水", "荔波", "龍裡", "羅甸", "平塘", "三都", "甕安" ] }, { "name": "黔西南", "county": [ "安龍", "冊亨", "普安", "晴隆", "望谟", "興仁", "興義", "貞豐" ] }, { "name": "銅仁", "county": [ "德江", "江口", "石阡", "思南", "松桃", "銅仁", "萬山特", "印江", "玉屏" ] }, { "name": "遵義", "county": [ "赤水", "道真", "鳳岡", "紅花崗", "匯川", "湄潭", "仁懷", "綏陽", "桐梓", "務川", "習水", "余慶", "正安", "遵義縣" ] } ] }, { "name": "海南", "city": [ { "name": "白沙", "county": [ "白沙" ] }, { "name": "保亭", "county": [ "保亭" ] }, { "name": "昌江", "county": [ "昌江" ] }, { "name": "澄邁", "county": [ "澄邁" ] }, { "name": "儋州", "county": [ "儋州" ] }, { "name": "定安", "county": [ "定安" ] }, { "name": "東方", "county": [ "東方" ] }, { "name": "海口", "county": [ "龍華", "美蘭", "瓊山", "秀英" ] }, { "name": "樂東", "county": [ "樂東" ] }, { "name": "臨高", "county": [ "臨高" ] }, { "name": "陵水", "county": [ "陵水" ] }, { "name": "瓊海", "county": [ "瓊海" ] }, { "name": "瓊中", "county": [ "瓊中" ] }, { "name": "三亞", "county": [ "三亞" ] }, { "name": "屯昌", "county": [ "屯昌" ] }, { "name": "萬寧", "county": [ "萬寧" ] }, { "name": "文昌", "county": [ "文昌" ] }, { "name": "五指山", "county": [ "五指山" ] } ] }, { "name": "河北", "city": [ { "name": "保定", "county": [ "安國", "安新", "北市區", "博野", "定興", "定州", "阜平", "高碑店", "高陽", "涞水", "涞源", "蠡縣", "滿城", "南市區", "清苑", "曲陽", "容城", "順平", "唐縣", "望都", "新市", "雄縣", "徐水", "易縣", "涿州" ] }, { "name": "滄州", "county": [ "泊頭", "滄縣", "東光", "海興", "河間", "黃骅", "孟村", "南皮", "青縣", "任丘", "肅寧", "吳橋", "獻縣", "新華", "鹽山", "運河" ] }, { "name": "承德", "county": [ "承德縣", "豐寧", "寬城", "隆化", "灤平", "平泉", "雙灤", "雙橋", "圍場", "興隆", "鷹手營" ] }, { "name": "邯鄲", "county": [ "磁縣", "叢台", "大名", "肥鄉", "峰峰", "復興", "館陶", "廣平", "邯山", "雞澤", "邱縣", "曲周", "涉縣", "魏縣", "武安", "永年" ] }, { "name": "衡水", "county": [ "安平", "阜城", "故城", "冀州", "景縣", "饒陽", "深州", "桃城", "武強", "武邑", "棗強" ] }, { "name": "廊坊", "county": [ "安次", "霸州", "大廠", "大城", "固安", "廣陽", "三河", "文安", "香河", "永清" ] }, { "name": "秦皇島", "county": [ "北戴河", "昌黎", "撫寧", "海港", "盧龍", "青龍", "山海關" ] }, { "name": "石家莊", "county": [ "長安", "高邑", "藁城", "晉州", "井陉礦區", "井陉", "靈壽", "鹿泉", "栾城", "平山", "橋東", "橋西", "深澤", "無極", "新華", "辛集", "新樂", "行唐", "裕華", "元氏", "贊皇", "趙縣", "正定" ] }, { "name": "唐山", "county": [ "豐南", "豐潤", "古冶", "開平", "樂亭", "路北", "路南", "灤南", "灤縣", "遷安", "遷西", "唐海", "玉田", "遵化" ] }, { "name": "邢台", "county": [ "柏鄉", "廣宗", "巨鹿", "臨城", "臨西", "隆堯", "南宮", "南和", "內丘", "寧晉", "平鄉", "橋東", "橋西", "清河", "任縣", "沙河", "威縣", "新河", "邢台縣" ] }, { "name": "張家口", "county": [ "赤城", "崇禮", "沽源", "懷安", "懷來", "康保", "橋東", "橋西", "尚義", "萬全", "蔚縣", "下花園", "宣化區", "宣化縣", "陽原", "張北", "涿鹿" ] } ] }, { "name": "河南", "city": [ { "name": "安陽", "county": [ "安陽縣", "北關", "滑縣", "林州", "龍安", "內黃", "湯陰", "文峰", "殷都" ] }, { "name": "鶴壁", "county": [ "鶴山", "浚縣", "淇濱", "淇縣", "山城" ] }, { "name": "焦作", "county": [ "博愛", "解放", "馬村", "孟州", "沁陽", "山陽", "溫縣", "武陟", "修武", "中站" ] }, { "name": "開封", "county": [ "鼓樓", "金明", "開封縣", "蘭考", "龍亭", "杞縣", "順河", "通許", "尉氏", "禹王台" ] }, { "name": "漯河", "county": [ "臨颍", "舞陽", "郾城", "源匯", "召陵" ] }, { "name": "洛陽", "county": [ "瀍河", "吉利", "澗西", "老城", "栾川", "洛龍", "洛寧", "孟津", "汝陽", "嵩縣", "西工", "新安", "偃師", "伊川", "宜陽" ] }, { "name": "南陽", "county": [ "鄧州", "方城", "南召", "內鄉", "社旗", "唐河", "桐柏", "宛城", "臥龍", "淅川", "西峽", "新野", "鎮平" ] }, { "name": "平頂山", "county": [ "寶豐", "魯山", "汝州", "石龍", "衛東", "舞鋼", "新華", "葉縣", "湛河", "郏縣" ] }, { "name": "濮陽", "county": [ "范縣", "華龍", "南樂", "濮陽縣", "清豐", "台前" ] }, { "name": "三門峽", "county": [ "湖濱", "靈寶", "盧氏", "渑池", "陝縣", "義馬" ] }, { "name": "商丘", "county": [ "梁園", "民權", "寧陵", "睢縣", "睢陽", "夏邑", "永城", "虞城", "柘城" ] }, { "name": "濟源", "county": [ "濟源" ] }, { "name": "新鄉", "county": [ "長垣", "封丘", "鳳泉", "紅旗", "輝縣", "獲嘉", "牧野", "衛濱", "衛輝", "新鄉縣", "延津", "原陽" ] }, { "name": "信陽", "county": [ "固始", "光山", "淮濱", "潢川", "羅山", "平橋", "商城", "浉河", "息縣", "新縣" ] }, { "name": "許昌", "county": [ "長葛", "魏都", "襄城", "許昌縣", "鄢陵", "禹州" ] }, { "name": "鄭州", "county": [ "登封", "二七", "鞏義", "管城", "惠濟", "金水", "上街", "新密", "新鄭", "荥陽", "中牟", "中原" ] }, { "name": "周口", "county": [ "川匯", "鄲城", "扶溝", "淮陽", "鹿邑", "商水", "沈丘", "太康", "西華", "項城" ] }, { "name": "駐馬店", "county": [ "泌陽", "平輿", "確山", "汝南", "上蔡", "遂平", "西平", "新蔡", "驿城", "正陽" ] } ] }, { "name": "黑龍江", "city": [ { "name": "大慶", "county": [ "大同", "杜爾伯特", "紅崗", "林甸", "龍鳳", "讓胡路", "薩爾圖", "肇源", "肇州" ] }, { "name": "大興安嶺", "county": [ "呼瑪", "漠河", "塔河" ] }, { "name": "哈爾濱", "county": [ "阿城", "巴彥", "賓縣", "道裡", "道外", "方正", "呼蘭", "木蘭", "南崗", "平房", "尚志", "雙城", "松北", "通河", "五常", "香坊", "延壽", "依蘭" ] }, { "name": "鶴崗", "county": [ "東山", "工農", "蘿北", "南山", "綏濱", "向陽", "興安", "興山" ] }, { "name": "黑河", "county": [ "愛輝", "北安", "嫩江", "孫吳", "五大連池", "遜克" ] }, { "name": "雞西", "county": [ "城子河", "滴道", "恆山", "虎林", "雞東", "雞冠", "梨樹", "麻山", "密山" ] }, { "name": "佳木斯", "county": [ "東風", "撫遠", "富錦", "桦川", "桦南", "郊區", "前進", "湯原", "同江", "向陽" ] }, { "name": "牡丹江", "county": [ "愛民", "東安", "東寧", "海林", "林口", "穆稜", "寧安", "綏芬河", "西安", "陽明" ] }, { "name": "齊齊哈爾", "county": [ "昂昂溪", "拜泉", "富拉爾基", "富裕", "甘南", "建華", "克山", "龍江", "龍沙", "梅裡斯", "讷河", "碾子山", "泰來", "鐵鋒", "依安" ] }, { "name": "七台河", "county": [ "勃利", "茄子河", "桃山", "新興" ] }, { "name": "雙鴨山", "county": [ "寶清", "寶山", "集賢", "尖山", "嶺東", "饒河", "四方台", "友誼" ] }, { "name": "綏化", "county": [ "安達", "北林", "海倫", "蘭西", "明水", "青岡", "慶安", "綏稜", "望奎", "肇東" ] }, { "name": "伊春", "county": [ "翠巒", "帶嶺", "紅星", "嘉蔭", "金山屯", "美溪", "南岔", "上甘嶺", "湯旺河", "鐵力", "烏馬河", "烏伊嶺", "五營", "西林", "新青", "伊春區", "友好" ] } ] }, { "name": "湖北", "city": [ { "name": "鄂州", "county": [ "鄂城", "華容", "梁子湖" ] }, { "name": "恩施", "county": [ "巴東", "恩施市", "鶴峰", "建始", "來鳳", "利川", "鹹豐", "宣恩" ] }, { "name": "黃岡", "county": [ "紅安", "黃梅", "黃州", "羅田", "麻城", "蕲春", "團風", "武穴", "浠水", "英山" ] }, { "name": "黃石", "county": [ "大冶", "黃石港", "鐵山", "西塞山", "下陸", "陽新" ] }, { "name": "荊門", "county": [ "東寶", "掇刀", "京山", "沙洋", "鐘祥" ] }, { "name": "荊州", "county": [ "公安", "洪湖", "監利", "江陵", "荊州區", "沙市", "石首", "松滋" ] }, { "name": "省直轄", "county": [ "潛江", "神農架", "天門", "仙桃" ] }, { "name": "十堰", "county": [ "丹江口", "房縣", "茅箭", "鄖西", "鄖縣", "張灣", "竹山", "竹溪" ] }, { "name": "隨州", "county": [ "廣水", "曾都" ] }, { "name": "武漢", "county": [ "蔡甸", "東西湖", "漢南", "漢陽", "洪山", "黃陂", "江岸", "江漢", "江夏", "硚口", "青山", "武昌", "新洲" ] }, { "name": "鹹寧", "county": [ "赤壁", "崇陽", "嘉魚", "通城", "通山", "鹹安" ] }, { "name": "襄樊", "county": [ "保康", "樊城", "谷城", "老河口", "南漳", "襄城", "襄陽", "宜城", "棗陽" ] }, { "name": "孝感", "county": [ "安陸", "大悟", "漢川", "孝昌", "孝南", "應城", "雲夢" ] }, { "name": "宜昌", "county": [ "長陽", "當陽", "點軍", "五峰", "伍家崗", "西陵", "猇亭", "興山", "宜都", "夷陵", "遠安", "枝江", "秭歸" ] } ] }, { "name": "湖南", "city": [ { "name": "常德", "county": [ "安鄉", "鼎城", "漢壽", "津市", "澧縣", "臨澧", "石門", "桃源", "武陵" ] }, { "name": "長沙", "county": [ "長沙縣", "芙蓉", "開福", "浏陽", "寧鄉", "天心", "望城", "雨花", "岳麓" ] }, { "name": "郴州", "county": [ "安仁", "北湖", "桂東", "桂陽", "嘉禾", "臨武", "汝城", "蘇仙", "宜章", "永興", "資興" ] }, { "name": "衡陽", "county": [ "常寧", "衡東", "衡南", "衡山", "衡陽縣", "耒陽", "南岳", "祁東", "石鼓", "雁峰", "蒸湘", "珠晖" ] }, { "name": "懷化", "county": [ "辰溪", "鶴城", "洪江", "會同", "靖州", "麻陽", "通道", "新晃", "溆浦", "沅陵", "芷江", "中方" ] }, { "name": "婁底", "county": [ "冷水江", "漣源", "婁星", "雙峰", "新化" ] }, { "name": "邵陽", "county": [ "北塔", "城步", "大祥", "洞口", "隆回", "邵東", "邵陽縣", "雙清", "綏寧", "武岡", "新寧", "新邵" ] }, { "name": "湘潭", "county": [ "韶山", "湘潭縣", "湘鄉", "雨湖", "岳塘" ] }, { "name": "湘西", "county": [ "保靖", "鳳凰", "古丈", "花垣", "吉首", "龍山", "泸溪", "永順" ] }, { "name": "益陽", "county": [ "安化", "赫山", "南縣", "桃江", "沅江", "資陽" ] }, { "name": "永州", "county": [ "道縣", "東安", "江華", "江永", "藍山", "冷水灘", "零陵", "寧遠", "祁陽", "雙牌", "新田" ] }, { "name": "岳陽", "county": [ "華容", "君山", "臨湘", "汨羅", "平江", "湘陰", "岳陽樓", "岳陽縣", "雲溪" ] }, { "name": "張家界", "county": [ "慈利", "桑植", "武陵源", "永定" ] }, { "name": "株洲", "county": [ "茶陵", "荷塘", "醴陵", "蘆淞", "石峰", "天元", "炎陵", "攸縣", "株洲縣" ] } ] }, { "name": "吉林", "city": [ { "name": "白城", "county": [ "大安", "洮北", "洮南", "通榆", "鎮赉" ] }, { "name": "白山", "county": [ "八道江", "長白", "撫松", "江源", "靖宇", "臨江" ] }, { "name": "長春", "county": [ "朝陽", "德惠", "二道", "九台", "寬城", "綠園", "南關", "農安", "雙陽", "榆樹" ] }, { "name": "吉林", "county": [ "昌邑", "船營", "豐滿", "桦甸", "蛟河", "龍潭", "磐石", "舒蘭", "永吉" ] }, { "name": "遼源", "county": [ "東豐", "東遼", "龍山", "西安" ] }, { "name": "四平", "county": [ "公主嶺", "梨樹", "雙遼", "鐵東", "鐵西", "伊通" ] }, { "name": "松原", "county": [ "長嶺", "扶余", "寧江", "乾安", "前郭" ] }, { "name": "通化", "county": [ "東昌", "二道江", "輝南", "集安", "柳河", "梅河口", "通化縣" ] }, { "name": "延邊", "county": [ "安圖", "敦化", "和龍", "珲春", "龍井", "圖們", "汪清", "延吉" ] } ] }, { "name": "江蘇", "city": [ { "name": "常州", "county": [ "金壇", "溧陽", "戚墅堰", "天寧", "武進", "新北", "鐘樓" ] }, { "name": "淮安", "county": [ "楚州", "洪澤", "淮陰", "金湖", "漣水", "清河", "清浦", "盱眙" ] }, { "name": "連雲港", "county": [ "東海", "贛榆", "灌南", "灌雲", "海州", "連雲", "新浦" ] }, { "name": "南京", "county": [ "白下", "高淳", "鼓樓", "建邺", "江寧", "溧水", "六合", "浦口", "棲霞", "秦淮", "下關", "玄武", "雨花台" ] }, { "name": "南通", "county": [ "崇川", "港閘", "海安", "海門", "啟東", "如東", "如皋", "通州" ] }, { "name": "蘇州", "county": [ "滄浪", "常熟", "虎丘", "金阊", "昆山", "平江", "太倉", "吳江", "吳中", "相城", "張家港" ] }, { "name": "宿遷", "county": [ "沭陽", "泗洪", "泗陽", "宿城", "宿豫" ] }, { "name": "泰州", "county": [ "高港", "海陵", "姜堰", "靖江", "泰興", "興化" ] }, { "name": "無錫", "county": [ "北塘", "濱湖", "崇安", "惠山", "江陰", "南長", "錫山", "宜興" ] }, { "name": "徐州", "county": [ "豐縣", "鼓樓", "賈汪", "九裡", "沛縣", "邳州", "泉山", "睢寧", "銅山", "新沂", "雲龍" ] }, { "name": "鹽城", "county": [ "濱海", "大豐", "東台", "阜寧", "建湖", "射陽", "亭湖", "響水", "鹽都" ] }, { "name": "揚州", "county": [ "寶應", "高郵", "廣陵", "邗江", "江都", "維揚", "儀征" ] }, { "name": "鎮江", "county": [ "丹徒", "丹陽", "京口", "句容", "潤州", "揚中" ] } ] }, { "name": "江西", "city": [ { "name": "撫州", "county": [ "崇仁", "東鄉", "廣昌", "金溪", "樂安", "黎川", "臨川", "南城", "南豐", "宜黃", "資溪" ] }, { "name": "贛州", "county": [ "安遠", "崇義", "大余", "定南", "贛縣", "會昌", "龍南", "南康", "寧都", "全南", "瑞金", "上猶", "石城", "信豐", "興國", "尋烏", "於都", "章貢" ] }, { "name": "吉安", "county": [ "安福", "吉安縣", "吉水", "吉州", "井岡山", "青原", "遂川", "泰和", "萬安", "峽江", "新干", "永豐", "永新" ] }, { "name": "景德鎮", "county": [ "昌江", "浮梁", "樂平", "珠山" ] }, { "name": "九江", "county": [ "德安", "都昌", "湖口", "九江縣", "廬山", "彭澤", "瑞昌", "武寧", "星子", "修水", "浔陽", "永修" ] }, { "name": "南昌", "county": [ "安義", "東湖", "進賢", "南昌縣", "青山湖", "青雲譜", "灣裡", "西湖", "新建" ] }, { "name": "萍鄉", "county": [ "安源", "蓮花", "蘆溪", "上栗", "湘東" ] }, { "name": "上饒", "county": [ "德興", "廣豐", "橫峰", "鄱陽", "鉛山", "上饒縣", "萬年", "婺源", "信州", "弋陽", "余干", "玉山" ] }, { "name": "新余", "county": [ "分宜", "渝水" ] }, { "name": "宜春", "county": [ "豐城", "奉新", "高安", "靖安", "上高", "銅鼓", "萬載", "宜豐", "袁州", "樟樹" ] }, { "name": "鷹潭", "county": [ "貴溪", "余江", "月湖" ] } ] }, { "name": "遼寧", "city": [ { "name": "鞍山", "county": [ "海城", "立山", "千山", "台安", "鐵東", "鐵西", "岫巖" ] }, { "name": "本溪", "county": [ "本溪縣", "桓仁", "明山", "南芬", "平山", "溪湖" ] }, { "name": "朝陽", "county": [ "北票", "朝陽縣", "建平", "喀左", "凌源", "龍城", "雙塔" ] }, { "name": "大連", "county": [ "長海", "甘井子", "金州", "旅順", "普蘭店", "沙河口", "瓦房店", "西崗", "中山", "莊河" ] }, { "name": "丹東", "county": [ "東港", "鳳城", "寬甸", "元寶", "振安", "振興" ] }, { "name": "撫順", "county": [ "東洲", "撫順縣", "清原", "順城", "望花", "新賓", "新撫" ] }, { "name": "阜新", "county": [ "阜新縣", "海州", "清河門", "太平", "細河", "新邱", "彰武" ] }, { "name": "葫蘆島", "county": [ "建昌", "連山", "龍港", "南票", "綏中", "興城" ] }, { "name": "錦州", "county": [ "北鎮", "古塔", "黑山", "凌海", "凌河", "太和", "義縣" ] }, { "name": "遼陽", "county": [ "白塔", "燈塔", "弓長嶺", "宏偉", "遼陽縣", "太子河", "文聖" ] }, { "name": "盤錦", "county": [ "大窪", "盤山", "雙台子", "興隆台" ] }, { "name": "沈陽", "county": [ "大東", "東陵", "法庫", "和平", "皇姑", "康平", "遼中", "沈北新區", "沈河", "蘇家屯", "鐵西", "新民", "於洪" ] }, { "name": "鐵嶺", "county": [ "昌圖", "調兵山", "開原", "清河", "鐵嶺縣", "西豐", "銀州" ] }, { "name": "營口", "county": [ "鲅魚圈", "大石橋", "蓋州", "老邊", "西市", "站前" ] } ] }, { "name": "內蒙古", "city": [ { "name": "包頭", "county": [ "白雲鄂博", "達爾罕茂明安聯合旗", "東河區", "固陽", "九原區", "昆都侖區", "青山區", "石拐區", "土默特右旗", "滿都拉" ] }, { "name": "赤峰", "county": [ "阿魯科爾沁旗", "敖漢旗", "巴林右旗", "巴林左旗", "紅山區", "喀喇沁旗", "克什克騰旗", "林西", "寧城", "松山區", "翁牛特旗", "元寶山區", "寶國吐", "八裡罕", "浩爾吐", "崗子" ] }, { "name": "鄂爾多斯", "county": [ "東勝", "達拉特旗", "准格爾旗", "鄂托克前旗", "鄂托克旗", "杭錦旗", "烏審旗", "伊金霍洛旗" ] }, { "name": "呼和浩特", "county": [ "和林格爾", "回民區", "清水河", "賽罕區", "土默特左旗", "托克托", "武川", "新城區", "玉泉區" ] }, { "name": "呼倫貝爾", "county": [ "阿榮旗", "陳巴爾虎旗", "額爾古納", "鄂倫春旗", "鄂溫克旗", "根河", "海拉爾", "滿洲裡", "莫力達瓦旗", "新巴爾虎右旗", "新巴爾虎左旗", "牙克石", "扎蘭屯", "圖裡河", "小二溝" ] }, { "name": "通遼", "county": [ "霍林郭勒", "開魯", "科爾沁區", "科爾沁左翼後旗", "科爾沁左翼中旗", "庫倫旗", "奈曼旗", "扎魯特旗", "巴雅爾吐胡碩" ] }, { "name": "烏海", "county": [ "海勃灣區", "海南區", "烏達區" ] }, { "name": "阿拉善盟", "county": [ "阿拉善左旗", "阿拉善右旗", "額濟納旗", "拐子湖", "雅布賴", "烏斯泰", "吉蘭太", "孿井灘", "巴彥諾爾貢" ] }, { "name": "錫林郭勒盟", "county": [ "錫林浩特", "二連浩特", "多倫", "阿巴嘎旗", "蘇尼特左旗", "蘇尼特右旗", "東烏珠穆沁旗", "西烏珠穆沁旗", "太僕寺旗", "鑲黃旗", "正鑲白旗", "正藍旗", "博克圖", "朱日和", "烏拉蓋" ] }, { "name": "興安盟", "county": [ "烏蘭浩特", "阿爾山", "突泉", "科爾沁右翼前旗", "科爾沁右翼中旗", "扎赉特旗", "胡爾勒", "索倫" ] }, { "name": "巴彥淖爾", "county": [ "臨河區", "五原", "磴口", "烏拉特前旗", "烏拉特中旗", "烏拉特後旗", "杭錦後旗", "大佘太", "海力素", "那仁寶力格" ] }, { "name": "烏蘭察布", "county": [ "集寧", "豐鎮", "卓資", "化德", "商都", "興和", "涼城", "察哈爾右翼前旗", "察哈爾右翼中旗", "察哈爾右翼後旗", "四子王旗" ] } ] }, { "name": "寧夏", "city": [ { "name": "固原", "county": [ "泾源", "隆德", "彭陽", "西吉", "原州區" ] }, { "name": "石嘴山", "county": [ "大武口", "惠農", "平羅" ] }, { "name": "吳忠", "county": [ "利通區", "青銅峽", "同心", "鹽池" ] }, { "name": "銀川", "county": [ "賀蘭", "金鳳區", "靈武", "西夏區", "興慶區", "永寧" ] }, { "name": "中衛", "county": [ "海原", "沙坡頭區", "中寧" ] } ] }, { "name": "青海", "city": [ { "name": "果洛", "county": [ "班瑪", "達日", "甘德", "久治", "瑪多", "瑪沁" ] }, { "name": "海東", "county": [ "互助", "化隆", "樂都", "民和", "平安", "循化" ] }, { "name": "海西", "county": [ "德令哈", "都蘭", "格爾木", "天峻", "烏蘭" ] }, { "name": "海北", "county": [ "剛察", "海晏", "門源", "祁連" ] }, { "name": "海南", "county": [ "共和", "貴德", "貴南", "同德", "興海" ] }, { "name": "黃南", "county": [ "河南", "尖扎", "同仁", "澤庫" ] }, { "name": "西寧", "county": [ "城北區", "城東區", "城西區", "城中區", "大通", "湟源", "湟中" ] }, { "name": "玉樹", "county": [ "稱多", "囊謙", "曲麻萊", "玉樹縣", "雜多", "治多" ] } ] }, { "name": "山東", "city": [ { "name": "濱州", "county": [ "濱城區", "博興", "惠民", "無棣", "陽信", "沾化", "鄒平" ] }, { "name": "德州", "county": [ "德城區", "樂陵", "臨邑", "陵縣", "寧津", "平原", "齊河", "慶雲", "武城", "夏津", "禹城" ] }, { "name": "東營", "county": [ "東營區", "廣饒", "河口", "墾利", "利津" ] }, { "name": "菏澤", "county": [ "曹縣", "成武", "定陶", "東明", "巨野", "鄄城", "牡丹區", "單縣", "郓城" ] }, { "name": "濟南", "county": [ "長清", "槐蔭區", "濟陽", "歷城區", "歷下區", "平陰", "商河", "市中區", "天橋區", "章丘" ] }, { "name": "濟寧", "county": [ "嘉祥", "金鄉", "梁山", "曲阜", "任城區", "市中區", "泗水", "微山", "汶上", "兖州", "魚台", "鄒城" ] }, { "name": "萊蕪", "county": [ "鋼城區", "萊城區" ] }, { "name": "聊城", "county": [ "茌平", "東昌府區", "東阿", "高唐", "冠縣", "臨清", "莘縣", "陽谷" ] }, { "name": "臨沂", "county": [ "蒼山", "費縣", "河東區", "莒南", "蘭山區", "臨沭", "羅莊區", "蒙陰", "平邑", "郯城", "沂南", "沂水" ] }, { "name": "青島", "county": [ "城陽區", "黃島區", "即墨", "膠南", "膠州", "萊西", "崂山", "李滄區", "平度", "市北區", "市南區", "四方區" ] }, { "name": "日照", "county": [ "東港區", "莒縣", "岚山區", "五蓮" ] }, { "name": "泰安", "county": [ "岱岳區", "東平", "肥城", "寧陽", "泰山區", "新泰" ] }, { "name": "威海", "county": [ "環翠區", "榮成", "乳山", "文登" ] }, { "name": "濰坊", "county": [ "安丘", "昌樂", "昌邑", "坊子區", "高密", "寒亭區", "奎文區", "臨朐", "青州", "壽光", "濰城區", "諸城" ] }, { "name": "煙台", "county": [ "長島", "福山", "海陽", "萊山區", "萊陽", "萊州", "龍口", "牟平", "蓬萊", "棲霞", "招遠", "芝罘區" ] }, { "name": "棗莊", "county": [ "山亭區", "市中區", "台兒莊", "滕州", "薛城", "峄城" ] }, { "name": "淄博", "county": [ "博山", "高青", "桓台", "臨淄", "沂源", "張店區", "周村", "淄川" ] } ] }, { "name": "山西", "city": [ { "name": "長治", "county": [ "長治縣", "長子", "城區", "壺關", "郊區", "黎城", "潞城", "平順", "沁縣", "沁源", "屯留", "武鄉", "襄垣" ] }, { "name": "大同", "county": [ "城區", "大同縣", "廣靈", "渾源", "礦區", "靈丘", "南郊", "天鎮", "新榮", "陽高", "左雲" ] }, { "name": "晉城", "county": [ "城區", "高平", "陵川", "沁水", "陽城", "澤州" ] }, { "name": "晉中", "county": [ "和順", "介休", "靈石", "平遙", "祁縣", "壽陽", "太谷", "昔陽", "榆次", "榆社", "左權" ] }, { "name": "臨汾", "county": [ "安澤", "大寧", "汾西", "浮山", "古縣", "洪洞", "侯馬", "霍州", "吉縣", "蒲縣", "曲沃", "隰縣", "襄汾", "鄉寧", "堯都", "翼城", "永和" ] }, { "name": "呂梁", "county": [ "方山", "汾陽", "交城", "交口", "岚縣", "離石", "臨縣", "柳林", "石樓", "文水", "孝義", "興縣", "中陽" ] }, { "name": "朔州", "county": [ "懷仁", "平魯", "山陰", "朔城", "應縣", "右玉" ] }, { "name": "太原", "county": [ "古交", "尖草坪", "晉源", "婁煩", "清徐", "萬柏林", "小店", "杏花嶺", "陽曲", "迎澤" ] }, { "name": "忻州", "county": [ "保德", "代縣", "定襄", "繁峙", "河曲", "靜樂", "岢岚", "寧武", "偏關", "神池", "五台", "五寨", "忻府", "原平", "五台山" ] }, { "name": "陽泉", "county": [ "城區", "郊區", "礦區", "盂縣", "平定" ] }, { "name": "運城", "county": [ "河津", "稷山", "绛縣", "臨猗", "平陸", "芮城", "萬榮", "聞喜", "夏縣", "新绛", "鹽湖", "永濟", "垣曲" ] } ] }, { "name": "陝西", "city": [ { "name": "安康", "county": [ "白河", "漢濱", "漢陰", "岚皋", "寧陝", "平利", "石泉", "旬陽", "鎮坪", "紫陽" ] }, { "name": "寶雞", "county": [ "陳倉", "鳳縣", "鳳翔", "扶風", "金台", "麟游", "隴縣", "眉縣", "岐山", "千陽", "太白", "渭濱" ] }, { "name": "漢中", "county": [ "城固", "佛坪", "漢台", "留壩", "略陽", "勉縣", "南鄭", "寧強", "西鄉", "洋縣", "鎮巴" ] }, { "name": "商洛", "county": [ "丹鳳", "洛南", "山陽", "商南", "商州", "柞水", "鎮安" ] }, { "name": "銅川", "county": [ "王益", "耀州", "宜君", "印台" ] }, { "name": "渭南", "county": [ "白水", "澄城", "大荔", "合陽", "華縣", "臨渭", "蒲城", "潼關" ] }, { "name": "西安", "county": [ "灞橋", "碑林", "長安", "高陵", "戶縣", "藍田", "蓮湖", "臨潼", "未央", "新城", "閻良", "雁塔", "周至" ] }, { "name": "鹹陽", "county": [ "彬縣", "長武", "淳化", "富平", "韓城", "華陰", "泾陽", "禮泉", "乾縣", "秦都", "三原", "渭城", "武功", "興平", "旬邑", "楊凌", "永壽" ] }, { "name": "延安", "county": [ "安塞", "寶塔", "富縣", "甘泉", "黃陵", "黃龍", "洛川", "吳起", "延長", "延川", "宜川", "志丹", "子長" ] }, { "name": "榆林", "county": [ "定邊", "府谷", "橫山", "佳縣", "靖邊", "米脂", "清澗", "神木", "綏德", "吳堡", "榆陽", "子洲" ] } ] }, { "name": "上海", "city": [ { "name": "上海", "county": [ "寶山", "長寧", "崇明", "奉賢", "虹口", "黃浦", "嘉定", "金山", "靜安", "盧灣", "闵行", "南匯", "浦東", "普陀", "青浦", "松江", "徐匯", "楊浦", "閘北" ] } ] }, { "name": "四川", "city": [ { "name": "阿壩", "county": [ "阿壩縣", "黑水", "紅原", "金川", "九寨溝", "理縣", "馬爾康", "茂縣", "壤塘", "若爾蓋", "松潘", "汶川", "小金" ] }, { "name": "巴中", "county": [ "巴州", "南江", "平昌", "通江" ] }, { "name": "成都", "county": [ "崇州", "大邑", "都江堰", "金牛", "金堂", "錦江", "龍泉驿", "彭州", "郫縣", "蒲江", "青白江", "青羊", "邛崃", "雙流", "溫江", "武侯", "新都", "新津" ] }, { "name": "達州", "county": [ "達縣", "大竹", "開江", "渠縣", "通川", "萬源", "宣漢" ] }, { "name": "德陽", "county": [ "廣漢", "旌陽", "羅江", "綿竹", "什邡", "中江" ] }, { "name": "甘孜", "county": [ "巴塘", "白玉", "丹巴", "稻城", "道孚", "德格", "得榮", "甘孜縣", "九龍", "康定", "理塘", "泸定", "爐霍", "色達", "石渠", "鄉城", "新龍", "雅江" ] }, { "name": "廣安", "county": [ "廣安區", "華蓥山", "鄰水", "武勝", "岳池" ] }, { "name": "廣元", "county": [ "蒼溪", "朝天", "元壩", "劍閣", "利州", "青川", "旺蒼" ] }, { "name": "樂山", "county": [ "峨邊", "峨眉山", "夾江", "犍為", "金口河", "井研", "馬邊", "沐川", "沙灣", "市中區", "五通橋", "峨眉" ] }, { "name": "涼山", "county": [ "布拖", "德昌", "甘洛", "會東", "會理", "金陽", "雷波", "美姑", "冕寧", "木裡", "寧南", "普格", "西昌", "喜德", "鹽源", "越西", "昭覺" ] }, { "name": "泸州", "county": [ "古蔺", "合江", "江陽", "龍馬潭", "泸縣", "納溪", "敘永" ] }, { "name": "眉山", "county": [ "丹稜", "東坡", "洪雅", "彭山", "青神", "仁壽" ] }, { "name": "綿陽", "county": [ "安縣", "北川", "涪城", "江油", "平武", "三台", "鹽亭", "游仙", "梓潼" ] }, { "name": "南充", "county": [ "高坪", "嘉陵", "阆中", "南部", "蓬安", "順慶", "西充", "儀隴", "營山" ] }, { "name": "內江", "county": [ "東興", "隆昌", "市中區", "威遠", "資中" ] }, { "name": "攀枝花", "county": [ "東區", "米易", "仁和", "西區", "鹽邊" ] }, { "name": "遂寧", "county": [ "安居", "船山", "大英", "蓬溪", "射洪" ] }, { "name": "雅安", "county": [ "寶興", "漢源", "蘆山", "名山", "石棉", "天全", "荥經", "雨城" ] }, { "name": "宜賓", "county": [ "長寧", "翠屏", "高縣", "珙縣", "南溪", "屏山", "興文", "宜賓縣", "筠連" ] }, { "name": "資陽", "county": [ "安岳", "簡陽", "樂至", "雁江" ] }, { "name": "自貢", "county": [ "大安", "富順", "貢井", "榮縣", "沿灘", "自流井" ] } ] }, { "name": "台灣", "city": [ { "name": "台北", "county": [ "台北" ] }, { "name": "高雄", "county": [ "高雄" ] }, { "name": "台中", "county": [ "台中" ] } ] }, { "name": "天津", "city": [ { "name": "天津", "county": [ "寶坻", "北辰", "大港", "東麗", "漢沽", "河北", "河東", "和平", "河西", "紅橋", "薊縣", "津南", "靜海", "南開", "寧河", "塘沽", "武清", "西青" ] } ] }, { "name": "西藏", "city": [ { "name": "阿裡", "county": [ "措勤", "噶爾", "改則", "革吉", "普蘭", "日土", "札達" ] }, { "name": "昌都", "county": [ "八宿", "邊壩", "察雅", "昌都", "丁青", "貢覺", "江達", "類烏齊", "洛隆", "芒康", "左貢" ] }, { "name": "拉薩", "county": [ "城關", "達孜", "當雄", "堆龍德慶", "林周", "墨竹工卡", "尼木", "曲水" ] }, { "name": "林芝", "county": [ "波密", "察隅", "工布江達", "朗縣", "林芝", "米林", "墨脫" ] }, { "name": "那曲", "county": [ "安多", "巴青", "班戈", "比如", "嘉黎", "那曲", "尼瑪", "聶榮", "申扎", "索縣" ] }, { "name": "日喀則", "county": [ "昂仁", "白朗", "定結", "定日", "崗巴", "吉隆", "江孜", "拉孜", "南木林", "聶拉木", "仁布", "日喀則", "薩嘎", "薩迦", "謝通門", "亞東", "仲巴" ] }, { "name": "山南", "county": [ "措美", "錯那", "貢嘎", "加查", "浪卡子", "隆子", "洛扎", "乃東", "瓊結", "曲松", "桑日", "扎囊" ] } ] }, { "name": "香港", "city": [ { "name": "香港島", "county": [ "東區", "南區", "灣仔", "中西" ] }, { "name": "九龍半島", "county": [ "油尖旺區", "深水埗區", "九龍城區", "黃大仙區", "觀塘區" ] }, { "name": "新界", "county": [ "北區", "大埔區", "沙田區", "西貢區", "荃灣區", "屯門區", "元朗區", "葵青區", "離島區" ] } ] }, { "name": "新疆", "city": [ { "name": "阿克蘇", "county": [ "阿克蘇", "阿瓦提", "拜城", "柯坪", "庫車", "沙雅", "溫宿", "烏什", "新和" ] }, { "name": "阿勒泰", "county": [ "阿勒泰", "布爾津", "福海", "富蘊", "哈巴河", "吉木乃", "青河" ] }, { "name": "巴音郭楞", "county": [ "博湖", "和靜", "和碩", "庫爾勒", "輪台", "且末", "若羌", "尉犁", "焉耆", "巴侖台", "巴音布魯克", "鐵干裡克", "塔中" ] }, { "name": "博爾塔拉", "county": [ "博樂", "精河", "溫泉", "阿拉山口" ] }, { "name": "昌吉", "county": [ "昌吉", "阜康", "呼圖壁", "吉木薩爾", "瑪納斯", "木壘", "奇台" ] }, { "name": "哈密", "county": [ "巴裡坤", "哈密", "伊吾" ] }, { "name": "和田", "county": [ "策勒", "和田市", "和田縣", "洛蒲", "民豐", "墨玉", "皮山", "於田" ] }, { "name": "喀什地區", "county": [ "巴楚", "伽師", "喀什", "麥蓋提", "莎車", "疏附", "疏勒", "塔什庫爾干", "葉城", "英吉沙", "岳普湖", "澤普" ] }, { "name": "克拉瑪依", "county": [ "白鹼灘", "獨山子", "克拉瑪依", "烏爾禾" ] }, { "name": "克孜勒蘇", "county": [ "阿合奇", "阿克陶", "阿圖什", "烏恰" ] }, { "name": "塔城", "county": [ "額敏", "沙灣", "塔城", "托裡", "烏蘇", "裕民", "和豐" ] }, { "name": "吐魯番地區", "county": [ "鄯善", "吐魯番", "托克遜" ] }, { "name": "烏魯木齊", "county": [ "達坂城", "米東", "沙依巴克", "水磨溝", "天山", "頭屯河", "烏魯木齊縣", "新市", "白楊溝", "蔡家湖", "天池", "小渠子" ] }, { "name": "伊犁", "county": [ "察布查爾", "鞏留", "霍城", "奎屯", "尼勒克", "特克斯", "新源", "伊寧市", "伊寧縣", "昭蘇", "霍爾果斯" ] }, { "name": "自治區直轄", "county": [ "石河子", "阿拉爾" ] } ] }, { "name": "雲南", "city": [ { "name": "保山", "county": [ "昌寧", "龍陵", "隆陽", "施甸", "騰沖" ] }, { "name": "楚雄", "county": [ "楚雄", "大姚", "祿豐", "牟定", "南華", "雙柏", "武定", "姚安", "永仁", "元謀" ] }, { "name": "大理", "county": [ "賓川", "大理", "洱源", "鶴慶", "劍川", "彌渡", "南澗", "巍山", "祥雲", "漾濞", "永平", "雲龍" ] }, { "name": "德宏", "county": [ "梁河", "隴川", "潞西", "瑞麗", "盈江" ] }, { "name": "迪慶", "county": [ "德欽", "維西", "香格裡拉" ] }, { "name": "紅河", "county": [ "個舊", "河口", "紅河", "建水", "金平", "開遠", "泸西", "綠春", "蒙自", "彌勒", "屏邊", "石屏", "元陽" ] }, { "name": "昆明", "county": [ "安寧", "呈貢", "東川", "富民", "官渡", "祿勸", "盤龍", "晉寧", "石林", "嵩明", "五華", "西山", "尋甸", "宜良" ] }, { "name": "麗江", "county": [ "古城", "華坪", "寧蒗", "永勝", "玉龍" ] }, { "name": "臨滄", "county": [ "滄源", "鳳慶", "耿馬", "臨翔", "雙江", "永德", "雲縣", "鎮康" ] }, { "name": "怒江", "county": [ "福貢", "貢山", "蘭坪", "泸水" ] }, { "name": "普洱", "county": [ "江城", "景東", "景谷", "瀾滄", "孟連", "墨江", "寧洱", "思茅", "西盟", "鎮沅" ] }, { "name": "曲靖", "county": [ "富源", "會澤", "陸良", "羅平", "馬龍", "麒麟", "師宗", "宣威", "沾益" ] }, { "name": "文山", "county": [ "富寧", "廣南", "麻栗坡", "馬關", "丘北", "文山", "西疇", "硯山" ] }, { "name": "西雙版納", "county": [ "景洪", "勐海", "勐臘" ] }, { "name": "玉溪", "county": [ "澄江", "峨山", "紅塔", "華寧", "江川", "通海", "新平", "易門", "元江" ] }, { "name": "昭通", "county": [ "大關", "魯甸", "巧家", "水富", "綏江", "威信", "鹽津", "彝良", "永善", "昭陽", "鎮雄" ] } ] }, { "name": "浙江", "city": [ { "name": "杭州", "county": [ "濱江", "淳安", "富陽", "拱墅", "建德", "江干", "臨安", "上城", "桐廬", "西湖", "下城", "蕭山", "余杭" ] }, { "name": "湖州", "county": [ "安吉", "長興", "德清", "南浔", "吳興" ] }, { "name": "嘉興", "county": [ "海寧", "海鹽", "嘉善", "南湖", "平湖", "桐鄉", "秀洲" ] }, { "name": "金華", "county": [ "東陽", "金東", "蘭溪", "磐安", "浦江", "武義", "婺城", "義烏", "永康" ] }, { "name": "麗水", "county": [ "缙雲", "景寧", "蓮都", "龍泉", "青田", "慶元", "松陽", "遂昌", "雲和" ] }, { "name": "寧波", "county": [ "北侖", "慈溪", "奉化", "海曙", "江北", "江東", "寧海", "象山", "余姚", "鎮海" ] }, { "name": "衢州", "county": [ "常山", "江山", "開化", "柯城", "龍游", "衢江" ] }, { "name": "紹興", "county": [ "上虞", "紹興縣", "嵊州", "新昌", "越城", "諸暨" ] }, { "name": "台州", "county": [ "黃巖", "椒江", "臨海", "路橋", "三門", "天台", "溫嶺", "仙居", "玉環" ] }, { "name": "溫州", "county": [ "蒼南", "洞頭", "樂清", "龍灣", "鹿城", "瓯海", "平陽", "瑞安", "泰順", "文成", "永嘉" ] }, { "name": "舟山", "county": [ "岱山", "定海", "普陀", "嵊泗" ] } ] } ] }全部結束END。
在Android的應用開發中,我們會用到各種代碼調試;其實在Android的開發之後,我們可能會碰到一些隨機的問題,如cpu過高,內存洩露等,我們無法簡單的進行代碼調試,
相信大家平時做Android應用的時候,多少會接觸到異步加載圖片,或者加載大量圖片的問題,而加載圖片我們常常會遇到許多的問題,比如說圖片的錯亂,OOM等問題,對於新手來說
本文實例講述了Android編程之客戶端通過socket與服務器通信的方法。分享給大家供大家參考,具體如下:下面是一個demo,Android客戶端通過socket與服務
1、如何對APK簽名(1)、創建數字證書,android123.keystore keytool -genkey -alias android123.keyst