实现归属地查询大体有两种方法可以实现,一种是通过归属地API进行查询,另一种是查询本地数据库。两种方法各有优劣,最好结合起来使用,我本次采用的是查询数据库的方法。首先需要从网上下载归属地数据库callHomeDB.db。CSDN就可以下载。

下载好数据库之后,可以利用一个小软件SQLite Expert Professional对数据库进行查看,同时该软件也支持对SQL语句进行操作。

有了数据库之后就可以进行代码编写了:

1. 将数据库文件复制到Android Studio工程目录assets下。

2. 对数据库进行复制,将assets目录下的数据库复制到工程目录下:

/**

* 复制数据库

*/

private void copyDB(final String dbname){

new Thread(){

public void run(){

try {

File file = new File(getFilesDir(),dbname);

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

Log.i("VirusScanActivity","数据库已存在");

return;

}

InputStream is = getAssets().open(dbname);

FileOutputStream fos = openFileOutput(dbname,MODE_PRIVATE);

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();

}

}

}.start();

}

3. 对数据库执行查询语句,获取查询结果

public static String checkCallHome(String phonenumber){

String desc = null;

SQLiteDatabase db = SQLiteDatabase.openDatabase("data/data/com.example.user.callhomedemo/files/callHomeDB.db",null,SQLiteDatabase.OPEN_READONLY);

Cursor cursor = db.rawQuery("select * from mob_location where _id = ?",new String[]{phonenumber.substring(0,7)});

if (cursor.moveToNext()){

desc = cursor.getString(1);

}

cursor.close();

db.close();

return desc;

}

演示图片如下:

android项目实现查询功能,Android实现归属地查询功能(示例代码)相关推荐

  1. Android项目:手机安全卫士(7)—— 手机防盗功能

    Android项目:手机安全卫士(7)-- 手机防盗功能 1 介绍 前面已经将手机防盗的界面.业务代码逻辑完成了,现在就是最后的功能实现了,手机防盗主要有这么几个功能: 短信:发送警报短信,接收命令短 ...

  2. 基于eclipse的android项目实战—博学谷(二十三)其他功能

    本项目是用eclipse软件编写,经过我的亲自实践,其真实有效,希望能给您有所帮助 项目版本:android5.1.1 ADT版本:23.0.6 SDK版本:24.4.1 运行模拟器:夜神模拟器 若有 ...

  3. 视频教程-Android 项目实战-影讯-Android

    Android 项目实战-影讯 1999年开始从事开发工作,具备十余年的开发.管理和培训经验. 在无线通信.Android.iOS.HTML5.游戏开发.JavaME.JavaEE.Linux等领域都 ...

  4. android 代码 卸载app,Android在一个app中安装并卸载另一个app的示例代码

    Android在一个app中安装并卸载另一个app 1.在app→src→main下新建文件夹asserts,将准备安装的apk文件放在asserts内 2.在app→src→main→res下新建文 ...

  5. Android 调用webservice(ksoap-2-Android)手机号码归属地查询

    之前做过一次但是隔了一个月再做就有点忘了,果然好记性不如烂笔头!还是打算记一下. 现在网络上的一些有关这方面的文章都比较久远了虽然方法没错但是之前的网址都变了所以需要进行一些修改. 记录时间2016/ ...

  6. android项目服装管理系统,基于Android平台的服装零售管理系统的设计与实现

    摘要: 服装零售管理系统是基于Android平台的一款应用软件.目前,Android操作系统是当今智能手机最主要的[1],占比十分大的一类操作系统.在现有的Android应用中,可以应用于服装零售行业 ...

  7. php实现手机归属地的查询,PHP实现手机归属地查询API接口

    PHP实现手机归属地查询API接口 WebServices:http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx header(& ...

  8. uni-app - 最详细 H5 网页接入微信登录功能,提供公众号配置与详细注释示例代码(移动端网页实现点击登录按钮后 调用微信公众号授权登录功能 详细讲解接入流程与详细示例代码)官方最新超级详细教程

    前言 关于 uni-app 项目中接入微信授权登录的文章鱼龙混杂,各种乱代码.过时.没注释.不讲流程原理,非常难用. 本文实现了 uni-app H5 移动端网页项目,实现微信授权登录功能,详细讲解接 ...

  9. android项目 用手机,基于Android平台的手机记账应用开发全程实录|Android项目手机记账应用...

    <基于Android平台的手机记账应用开发全程实录> 百度云链接:http://pan.baidu.com/s/1dFFPWpr 密码: j435 01.项目概述与项目需求 02.数据库设 ...

  10. Android项目:基于安卓Android校园零食配送系统app(计算机毕业设计)

    当今社会是一个信息技术迅速发展的社会,人们的生活越来越离不开计算机和手机.作为一个计算机专业的学生,希望通过自己四年所学的知识编制一款基于Android平台的校园零食配送系统软件,方便你我方便他人. ...

最新文章

  1. centos+ffmpeg安装配置+切片
  2. 怎样下载python模块sublime text3中_Python3.7.3安装教程并集成Sublime Text3
  3. 大班运用计算机教学案例,幼儿园大班体验课程教学案例
  4. Visual SVN 非常好的转贴
  5. Oracle 检查点队列和HASH Bucket
  6. how to undo git commit
  7. C# 互通操作 (二)基础知识1
  8. 为什么不能在lock语句的主体内使用#39;await#39;运算符?
  9. Oracle提供的自治事务记录日志的方法
  10. 增强环路现象!? 为你揭示云计算魔力!
  11. 排序算法__冒泡排序
  12. 输入n个学生的成绩c语言,c语言帮忙改错!输入n个学生的成绩信息,按照每个学生的个人平均成绩从高到低输出他们的信息...
  13. 超级整理术--读后笔记
  14. 全国高校经纬度(txt版)
  15. CS5211 eDP转LVDS转换器芯片 CS5211芯片说明书
  16. 服务器开机硬盘raid连接错误,服务器磁盘阵列常见问题及解决方法
  17. c php 速度,CSpeed: CSpeed 框架,全堆栈的轻量级C语言PHP扩展框架,以高性能、极速为目标。...
  18. SAP中物料主数据MRP3中的计划消耗模式及消耗期间的应用逻辑简析
  19. 商业竞争中的战争策略 - 读《商战》
  20. Unity 简单实现子弹射击

热门文章

  1. 项目成本管理名词解析
  2. 102道java算法
  3. python按照日期筛选数据_pandas 按日期范围筛选数据的实现
  4. 重温马云英文演讲:最伟大的成功
  5. 可视化图形界面编程(Easyx联合c++的通讯录系统)
  6. 中北大学工程硕士计算机技术,中北大学工程硕士专业排名
  7. VLC Media Player
  8. 史上最简单的mybatis-plus快速入门
  9. 华硕vm510l最大支持多大内存_华硕vm510l与w519l区别
  10. python官方下载链接_Python下载、安装及简单操作介绍(附下载链接)