当前位置: 代码迷 >> Android >> 求手机号码归属地sqlite数据库,该如何处理
  详细解决方案

求手机号码归属地sqlite数据库,该如何处理

热度:40   发布时间:2016-05-01 10:11:55.0
求手机号码归属地sqlite数据库
如题,有的话,可否发一份给小弟

或者手机号码的编码规律

或者查询在线api接口,之前用一个在线的api接口,现在不能用了

------解决方案--------------------
以下是我之前写的代码,楼主参考下
访问了本地的手机归属地信息的数据库,楼主需要的话我可以发给你

package com.litian.mobilesafe.service;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import com.litian.mobilesafe.R;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;

/**
 * 手机号 是11位的. 
 * 固定电话 本地号码7位 ,8位
 * 长途号码 带区号 区号有3位和4位的
 * 10位 3位区号+7位电话号码
 * 11位 4位区号+7位电话 3位区号+8位电话
 * 12位 4位区号+8位电话
 */

/**
 * 提供来电区域查询的服务
 * @author Administrator
 */
public class AddressService {

private static final String TAG = "AddressService";
private static final String DB_NAME = "address.db";

private Context context;

public AddressService(Context context){
this.context = context;
}

/**
 * 判断数据库是否存在
 * @return
 */
public boolean isExist(){
//this.context.getFilesDir()表手机文件目录
File file = new File(this.context.getFilesDir(), DB_NAME);
return file.exists();
}

/**
 * 拷贝数据库到系统的<包名>/data/data/下
 * @throws IOException 
 */
public void copyDbToFileDir(){
InputStream in = null;
FileOutputStream fos = null;

try {
in = this.getClass().getClassLoader().getResourceAsStream("address.db");
File file = new File(context.getFilesDir(), DB_NAME);

fos = new FileOutputStream(file);
byte[] buffer = new byte[1024];
//int len = 0;
int len = -1;
  相关解决方案