最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺析Android手機衛(wèi)士之號碼歸屬地查詢

 更新時間:2016年04月22日 10:53:55   作者:陶士涵  
這篇文章主要介紹了淺析Android手機衛(wèi)士之號碼歸屬地查詢的相關(guān)資料,需要的朋友可以參考下

使用小米號碼歸屬地數(shù)據(jù)庫,有兩張表data1和data2

先查詢data1表,把手機號碼截取前7位

select outkey from data1 where id=”前七位手機號”

再查詢data2表,

select location from data2 where id=”上面查出的outkey”

可以使用子查詢

select location from data2 where id=(select outkey from data1 where id=”前7位手機號”)

創(chuàng)建數(shù)據(jù)庫工具類

新建一個包xxx.db.dao

新建一個類NumberAddressUtils,新建一個靜態(tài)方法queryNumber

調(diào)用SQLiteDatabase.openDatabase()方法,獲取到SQLiteDatabase對象,參數(shù):數(shù)據(jù)庫路徑(/data/data/包名/files/xxx.db),游標(biāo)工廠(null),打開方式(SQLiteDatabse.OPEN_READONLY)

把數(shù)據(jù)庫address.db拷貝到 /data/data/包名/files/目錄里面

調(diào)用SQLiteDatabase對象的rawQuery()方法,獲取到Cursor對象,查詢數(shù)據(jù),參數(shù):sql語句,string[]條件數(shù)組

例如:select location from data2 where id=(select outkey from data1 where id=?) ,new String[]{phone.subString(0,7)}

while循環(huán)Cursor對象,條件調(diào)用Cursor對象的moveToNext()方法

循環(huán)中調(diào)用Cursor對象的getString()方法,傳入字段索引

關(guān)閉游標(biāo)Cursor對象的close()方法

把得到的地址返回出去

拷貝數(shù)據(jù)庫從assets目錄到data目錄

在歡迎頁面,進(jìn)行拷貝

調(diào)用getAssets().open()方法,得到InputStream對象,參數(shù):xxx.db文件名

獲取File對象,new出來,參數(shù):getFilesDir()獲取到/data/data/包/files/目錄,xxx.db

獲取FileOutputStream對象,new出來,參數(shù):File對象

定義緩沖區(qū)byte[] buffer,一般1024

定義長度len

while循環(huán)讀取,條件:讀入的長度不為-1

循環(huán)中調(diào)用FileOutputStream對象的write()方法,參數(shù):緩沖區(qū),從0開始,len長度

調(diào)用InputStream對象的close()方法

判斷只要存在和長度大于0就不再拷貝了,調(diào)用File對象的exist()方法和length()方法大于0

NumberQueryAddressUtil.java

package com.qingguow.mobilesafe.utils;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
public class NumberQueryAddressUtil {
private static final String path = "/data/data/com.qingguow.mobilesafe/files/address.db";
/**
* 查詢號碼歸屬地
* @param phone
* @return
*/
public static String queryAddress(String phone){
SQLiteDatabase db=SQLiteDatabase.openDatabase(path, null,SQLiteDatabase.OPEN_READONLY);
Cursor cursor=db.rawQuery("select location from data2 where id=(select outkey from data1 where id=?)", new String[]{phone.substring(0,7)});
while(cursor.moveToNext()){
String address=cursor.getString(0);
return address;
}
cursor.close();
return "";
}
} 

拷貝數(shù)據(jù)庫

private void copyAddressDatabase() {
try {
//判斷是否存在
File file = new File(getFilesDir(), "address.db");
if (file.exists() && file.length() > 0) {
return;
}
InputStream is = getAssets().open("address.db");
FileOutputStream fos = new FileOutputStream(file);
byte[] buffer = new byte[1024];
int len = 0;
while ((len = is.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
is.close();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}

推薦閱讀:

淺析Android手機衛(wèi)士sim卡綁定

深入淺析Android手機衛(wèi)士保存密碼時進(jìn)行md5加密

詳解Android 手機衛(wèi)士設(shè)置向?qū)ы撁?/a>

淺析Android手機衛(wèi)士關(guān)閉自動更新

淺析Android手機衛(wèi)士自定義控件的屬性

淺析Android手機衛(wèi)士讀取聯(lián)系人

淺析Android手機衛(wèi)士接收短信指令執(zhí)行相應(yīng)操作

淺析Android手機衛(wèi)士手機定位的原理

淺析Android手機衛(wèi)士之手機實現(xiàn)短信指令獲取位置

以上內(nèi)容是小編給大家介紹的Android手機衛(wèi)士之號碼歸屬地查詢的相關(guān)內(nèi)容,希望對大家有所幫助!

相關(guān)文章

  • 了解Android OpenGLES2.0(一)

    了解Android OpenGLES2.0(一)

    OpenGLES2.0是一個功能強大,調(diào)用方便的底層圖形庫,這篇文章主要為大家詳細(xì)介紹了Android OpenGLES2.0的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Android 仿日歷翻頁、仿htc時鐘翻頁、數(shù)字翻頁切換效果

    Android 仿日歷翻頁、仿htc時鐘翻頁、數(shù)字翻頁切換效果

    這篇文章主要介紹了Android 仿日歷翻頁、仿htc時鐘翻頁、數(shù)字翻頁切換效果,需要的朋友可以參考下
    2017-07-07
  • Android EasyPermissions官方庫高效處理權(quán)限相關(guān)教程

    Android EasyPermissions官方庫高效處理權(quán)限相關(guān)教程

    Easypermissions簡化了Android M的運行時權(quán)限的申請、結(jié)果處理、判斷等步驟。這篇文章主要介紹了Android EasyPermissions官方庫高效處理權(quán)限相關(guān)教程,需要的朋友可以參考下
    2017-11-11
  • Android再探全面屏適配示例詳解

    Android再探全面屏適配示例詳解

    這篇文章主要為大家介紹了Android再探全面屏適配示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Android支付寶支付設(shè)計開發(fā)

    Android支付寶支付設(shè)計開發(fā)

    這篇文章主要為大家詳細(xì)介紹了Android支付寶支付設(shè)計開發(fā),設(shè)計支付寶支付開發(fā)方案,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 使用IntelliJ IDEA 配置安卓(Android)開發(fā)環(huán)境的教程詳解(新手必看)

    使用IntelliJ IDEA 配置安卓(Android)開發(fā)環(huán)境的教程詳解(新手必看)

    這篇文章主要介紹了使用IntelliJ IDEA 配置安卓(Android)開發(fā)環(huán)境的教程詳解(新手必看),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • 詳解如何在Flutter中獲取設(shè)備標(biāo)識符

    詳解如何在Flutter中獲取設(shè)備標(biāo)識符

    這篇文章主要為大家介紹了幾種通過Flutter讀取設(shè)備信息的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下
    2022-04-04
  • 用Android?studio實現(xiàn)簡易計算器功能

    用Android?studio實現(xiàn)簡易計算器功能

    這篇文章主要為大家詳細(xì)介紹了用Android?studio實現(xiàn)簡易計算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Listview的異步加載性能優(yōu)化

    Listview的異步加載性能優(yōu)化

    Android中ListView是使用平率最高的控件之一(GridView跟ListView是兄弟,都是繼承AbsListView),ListView優(yōu)化最有效的無非就是采用ViewHolder來減少頻繁的對view查詢和更新,緩存圖片加快解碼,減小圖片尺寸
    2016-01-01
  • Android實現(xiàn)自定義輪播圖片控件詳解

    Android實現(xiàn)自定義輪播圖片控件詳解

    這篇文章給大家主要介紹了Android實現(xiàn)自定義輪播圖片控件的詳細(xì)過程,文中通過實例代碼介紹的很詳細(xì),相信會對大家的理解和學(xué)習(xí)很有幫助,感興趣的朋友們下面來一起看看吧。
    2016-10-10

最新評論

灯塔市| 东光县| 仲巴县| 衡东县| 长宁县| 天柱县| 横山县| 灵石县| 和静县| 敦煌市| 永清县| 延川县| 田林县| 都江堰市| 衡山县| 海阳市| 西丰县| 将乐县| 邯郸县| 黑山县| 神池县| 玉山县| 丹棱县| 永昌县| 合作市| 甘泉县| 从化市| 临武县| 特克斯县| 长丰县| 登封市| 普兰县| 鹤庆县| 林甸县| 奉节县| 泸定县| 江山市| 松江区| 根河市| 永平县| 苏尼特右旗|