自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

查詢城市(可根據(jù)漢字、拼音和首字母查詢) 源碼下載

移動開發(fā)
可查詢中國所有城市信息,并且支持全稱、拼音及首字母模糊查詢.注:第一次運行會進行數(shù)據(jù)庫初始化操作,需要等待2-4分鐘。再次運行則不需要等待。如果不想等待可以直接將壓縮包中的city_info數(shù)據(jù)庫文件拷貝到手機中的data/data/com.example.searchcity/databases/文件夾中,再注:程序會獲取城市名稱對應的拼音信息,需要導入jar包實現(xiàn):pinyin4j。壓縮包中已經(jīng)放入了一個Jar包,包括文檔。

功能分類:工具

支持平臺:Android

運行環(huán)境:Ecppse

開發(fā)語言:Java

開發(fā)工具:Eclippse

源碼大?。?.12MB

源碼簡介

可查詢中國所有城市信息,并且支持全稱、拼音及首字母模糊查詢
注:第一次運行會進行數(shù)據(jù)庫初始化操作,需要等待2-4分鐘。再次運行則不需要等待。如果不想等待可以直接將壓縮包中的city_info數(shù)據(jù)庫文件拷貝到手機中的data/data/com.example.searchcity/databases/文件夾中
再注:程序會獲取城市名稱對應的拼音信息,需要導入jar包實現(xiàn):pinyin4j。壓縮包中已經(jīng)放入了一個Jar包,包括文檔。

源碼運行截圖

    按名稱查詢

    按首字母查詢

    按拼音查詢

源碼片段

    /**獲取外部數(shù)據(jù)庫中的城市列表,并將其存入新表中(如果有服務端支持,應該將獲取城市計算拼音的邏輯放入服務端,并提供獲取城市列表及對應拼音的接口)*/ 

        private void initCitypst(){ 

            cityDao = new CityDao(this); 

            if(cityDao.cityIsExists()){   //初始化只進行一次,可通過判斷數(shù)據(jù)庫中是否有數(shù)據(jù),也可通過SharedPreferences實現(xiàn) 

                return

            } 

            waitDialog = new AlertDialog.Builder(this).setTitle("提醒").setIcon(android.R.drawable.ic_dialog_alert) 

                    .setMessage("正在加載數(shù)據(jù),請稍后\n初次加載比較耗時,需要2-4分鐘左右。再次啟動就不會有任何問題。請親耐心等待哦").setCancelable(false).create(); 

            waitDialog.show(); 

            final Handler handler = new Handler(){ 

                pubpc void handleMessage(android.os.Message msg) { 

                    //數(shù)據(jù)加載完成后關閉對話框 

                    if(msg.what == MESSAGE_CITY_LOADED){ 

                        waitDialog.cancel(); 

                    } 

                }; 

            }; 

            //初次加載比較耗時,所以需要新啟動線程完成加載,并通過對話框告知用戶。這段邏輯最好放到服務端,這里只是為了實現(xiàn)功能 

            new Thread(){ 

                pubpc void run() { 

                    pyUtil = new PinYinUtil(); 

                      

                    String dbFileName = "weather_info"

                    File file = new File("data/data/"+getPackageName()+"/databases/"+dbFileName); 

                    try { 

                        //從外部資源文件夾中獲取城市數(shù)據(jù)庫,并將其保存到數(shù)據(jù)庫文件夾中 

                        StreamUtil.getInputStream(getAssets().open(dbFileName), new FileOutputStream(file));  //將外部資源中的數(shù)據(jù)庫文件拷貝到數(shù)據(jù)庫文件夾中 

                        SQpteDatabase db = openOrCreateDatabase(dbFileName, Context.MODE_PRIVATE, null); 

                        Cursor c = db.query("city_info"new String[]{"_id","city_name"}, nullnullnullnullnull); 

                        if(c!=null){ 

                            //查詢外部數(shù)據(jù)庫中的城市數(shù)據(jù),并在新構(gòu)建的數(shù)據(jù)庫中將原始數(shù)據(jù)和對應的拼音/首字母也保存到數(shù)據(jù)庫中,待后續(xù)查詢使用 

                            while(c.moveToNext()){ 

                                int id = c.getInt(c.getColumnIndex("_id"));  //獲取id 

                                String cityName = c.getString(c.getColumnIndex("city_name"));  //獲取城市名稱 

                                citys.add(new CityEntity(id, cityName, pyUtil.getStringPinYin(cityName), pyUtil.getFirstSpell(cityName)));  //pyutil是漢字與拼音轉(zhuǎn)化的工具類,需要引入Jar包:pinyin4j 

                            } 

                            c.close(); 

                        } 

                        db.close(); 

                        cityDao.addCity(citys); 

                        citys.clear(); 

                        handler.sendEmptyMessage(MESSAGE_CITY_LOADED); 

                    } catch (FileNotFoundException e) { 

                        e.printStackTrace(); 

                    } catch (IOException e) { 

                        e.printStackTrace(); 

                    } 

                }; 

            }.start(); 

              

        } 

          

        private SearchView sv; 

        private pstView lv; 

          

        private void initView(){ 

            sv = (SearchView)findViewById(R.id.searchview); 

            lv = (pstView)findViewById(R.id.pstview); 

        } 

          

        private ArrayAdapter<cityentity> cityAdapter; 

          

        private void setAdapter(){ 

            cityAdapter = new ArrayAdapter<cityentity>(this, android.R.layout.simple_pst_item_1, citys); 

            lv.setAdapter(cityAdapter); 

        } 

          

        private void addpstener(){ 

              

            //為搜索框添加搜索文字的監(jiān)聽器 

            sv.setOnQueryTextpstener(new OnQueryTextpstener() { 

                  

                //當用戶點擊提交時執(zhí)行 

                @Override 

                pubpc boolean onQueryTextSubmit(String query) { 

                      

                    return true

                } 

                  

                //當用戶輸入文字改變時執(zhí)行 

                @Override 

                pubpc boolean onQueryTextChange(String newText) { 

                    if(newText == null || newText.length() == 0){ 

                        update(null);  //如果用戶刪除了搜索內(nèi)容,pstview中的內(nèi)容也應該清空 

                    }else

                        Arraypst<cityentity> newCitys = cityDao.getCitysForName(newText); 

                        update(newCitys); 

                    } 

                    return true

                } 

            }); 

              

            lv.setOnItemCpckpstener(new OnItemCpckpstener() { 

      

                @Override 

                pubpc void onItemCpck(AdapterView<!--?--> parent, View view, 

                        int position, long id) { 

                    Toast.makeText(MainActivity.this"您已經(jīng)選中:"+citys.get(position).getCityName(), Toast.LENGTH_SHORT).show(); 

                } 

                  

            }); 

        } 

          

        /**該方法用來更新adapter中的內(nèi)容,并刷新界面*/ 

        private void update(Arraypst<cityentity> newCitys){ 

            citys.clear(); 

            if(newCitys != null && newCitys.size() != 0){ 

                citys.addAll(newCitys); 

            } 

            cityAdapter.notifyDataSetChanged(); 

        }</cityentity></cityentity></cityentity></cityentity> 

源碼下載地址:http://down.51cto.com/data/1968756

責任編輯:閆佳明 來源: 網(wǎng)絡整理
相關推薦

2010-10-14 16:45:54

MySQL查詢

2010-10-25 10:20:33

ORACLE函數(shù)

2010-09-09 10:32:24

SQL函數(shù)拼音

2010-09-28 11:53:28

SQL查詢

2015-01-21 15:50:55

Android源碼全國城市列表

2020-11-23 09:49:00

Python開發(fā)拼音

2020-12-17 12:27:52

Git文件名React

2010-09-06 16:07:21

SQL函數(shù)

2010-10-14 16:34:41

MySQL查詢

2025-01-15 14:58:06

2021-02-11 13:48:17

Python單詞大寫

2009-07-24 08:56:00

Windows 7省電系統(tǒng)節(jié)能

2010-07-21 17:02:35

SQL Server取

2022-09-24 16:53:05

Python工具辦公

2024-10-11 16:51:02

2013-08-26 10:41:30

谷歌專利解鎖

2011-07-21 14:09:03

OracleSybasepid查詢sql語句

2019-08-09 14:13:22

Python知乎程序員

2015-09-01 10:42:15

編程規(guī)范完全指南

2020-12-03 09:33:58

前端開發(fā)工具
點贊
收藏

51CTO技術棧公眾號