午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    Android中手機(jī)號(hào)碼歸屬地查詢實(shí)現(xiàn)
    來源:易賢網(wǎng) 閱讀:1250 次 日期:2015-02-10 10:25:39
    溫馨提示:易賢網(wǎng)小編為您整理了“Android中手機(jī)號(hào)碼歸屬地查詢實(shí)現(xiàn)”,方便廣大網(wǎng)友查閱!

    這部分是昨天學(xué)習(xí)的,但是因?yàn)檠劬Τ?fù)荷所以拖到現(xiàn)在,以后要合理規(guī)劃時(shí)間。

    目前手機(jī)里面的號(hào)碼歸屬地查詢主要是通過兩種方式:1.聯(lián)網(wǎng)查詢,2.匹配本機(jī)歸屬地?cái)?shù)據(jù)庫。

    我認(rèn)為兩種結(jié)合方式最好,在本地?cái)?shù)據(jù)庫中匹配不到的在進(jìn)行聯(lián)網(wǎng)查詢,能大大增加匹配效果,并且不用過于增加本地?cái)?shù)據(jù)庫容量而增大安裝包大小。

    步驟:1.開啟軟件的時(shí)候把數(shù)據(jù)庫從assets目錄拷貝到files目錄下,如果已存在,則不用重新拷貝。

    2.實(shí)現(xiàn)界面。

    3.實(shí)現(xiàn)工具類PhoneAddressUtils的getPhoneAddress()方法

    4.在界面類activity里調(diào)用工具類方法得到地址兵顯示出來。

    首先是復(fù)制數(shù)據(jù)庫的操作:

    private void copyDB() {

    File file = new File(getFilesDir(), "address.db");

    if(file.exists()&&file.length()>0) {

    Toast.makeText(this, "已經(jīng)復(fù)制數(shù)據(jù)庫", 0).show();

    } else {

    try {

    AssetManager am = getAssets();

    byte[] buffer = new byte[1024];

    InputStream is = am.open("address.db");

    FileOutputStream fis = new FileOutputStream(file);

    int len = 0;

    while((len=is.read(buffer))>0) {

    fis.write(buffer, 0, len);

    }

    } catch (IOException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    }

    因?yàn)檫\(yùn)行中工具類得不到assets目錄下的文件,所以要在在開機(jī)啟動(dòng)的SplashActivity中把數(shù)據(jù)庫拷貝到files目錄下。

    獲得assert目錄下的文件要用AssetManager對(duì)象的open()方法,打開文件返回輸入流。

    實(shí)現(xiàn)界面:就一個(gè)簡單的輸入框,按鈕,顯示框就行。

    工具類:

    package com.itheima.mobilesafe.db.dao;

    import android.database.Cursor;

    import android.database.sqlite.SQLiteDatabase;

    public class AddressDao {

    private static String path = "data/data/com.itheima.mobilesafe/files/address.db";

    public static String getAddress(String number) {

    String address = number;

    if(number.matches("^1[34568]\d{9}$")) {

    String sql = "select location from data2 where id = (select outkey from data1 where id= ?)";

    SQLiteDatabase database = SQLiteDatabase.openDatabase(path, null, SQLiteDatabase.OPEN_READONLY);

    Cursor cursor = database.rawQuery(sql, new String[] {number.substring(0, 7)});

    while(cursor.moveToNext()) {

    address = cursor.getString(0);

    }

    cursor.close();

    database.close();

    } else {

    address = "不是手機(jī)號(hào)碼";

    }

    return address;

    }

    }

    調(diào)用顯示:

    點(diǎn)擊按鈕時(shí):

    public void queryAddress(View view) {

    String number = et_phone.getText().toString();

    String address = AddressDao.getAddress(number);

    et_address.setText(address);

    }

    但是我們要?jiǎng)討B(tài)的顯示位置,所以要對(duì)輸入框加一個(gè)TextChangedListener,當(dāng)輸入字符串大于3的時(shí)候,自動(dòng)調(diào)用進(jìn)行匹配顯示出來。

    et_phone.addTextChangedListener(new TextWatcher() {

    @Override

    public void onTextChanged(CharSequence s, int start, int before, int count) {

    // TODO Auto-generated method stub

    if(s.length()>3) {

    String address = AddressDao.getAddress(s.toString());

    et_address.setText(address);

    }

    }

    @Override

    public void beforeTextChanged(CharSequence s, int start, int count,

    int after) {

    // TODO Auto-generated method stub

    }

    @Override

    public void afterTextChanged(Editable s) {

    // TODO Auto-generated method stub

    }

    });

    更多信息請(qǐng)查看IT技術(shù)專欄

    更多信息請(qǐng)查看數(shù)據(jù)庫
    易賢網(wǎng)手機(jī)網(wǎng)站地址:Android中手機(jī)號(hào)碼歸屬地查詢實(shí)現(xiàn)
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2025國考·省考課程試聽報(bào)名

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)