32号码归属地代码的实现
来源:互联网 发布:辐射4bodyslide数据 编辑:程序博客网 时间:2024/04/29 04:46
在SplashActivity中拷贝数据库到data/data/包名/files/address.db,并且第一次拷贝完成之后,后面启动应用不需要再次拷贝。
/** * 拷贝号码归属地数据库 * 把数据库拷贝到data/data/包名/files/address.db */private void copyDB() {//第一次拷贝之后 后面启动不再需要拷贝try {File file = new File(getFilesDir(),"address.db");if (file.exists() && file.length()>0) {//不需要拷贝了Log.i(TAG, "不需要拷贝了");}else {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 (IOException e) {e.printStackTrace();}}
注意API:getFileDir的用法。以及复制asset目录下的文件的方法。
然后使用去查询:
package com.ustc.mobilemanager.db.dao;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;public class NumberAddressQueryUtils {private static String path = "data/data/com.ustc.mobilemanager/files/address.db";/** * * 传一个号码进来,查询号码的归属地 * * @param number * @return */public static String queryNumber(String number) {String address = number;// path 把数据库拷贝到data/data/包名/files/address.dbSQLiteDatabase database = SQLiteDatabase.openDatabase(path, null,SQLiteDatabase.OPEN_READONLY);Cursor cursor = database.rawQuery("select location from data2 where id = (select outkey from data1 where id = ?)",new String[] { number.substring(0, 7) });while (cursor.moveToNext()) {String location = cursor.getString(0);address = location;}cursor.close();return address;}}
最后是调用:
/** * * 查询号码归属地的按钮的点击事件 * * * @param view */public void query(View view){String phoneNumber = ed_phone.getText().toString().trim();if (TextUtils.isEmpty(phoneNumber)) {//Toast.makeText(this, "号码为空!", Toast.LENGTH_LONG).show();return;}else {//数据库查询号码归属地//写一个工具类,去查询数据库String address = NumberAddressQueryUtils.queryNumber(phoneNumber);Log.i(TAG, "查询的号码为:" + phoneNumber);address_result.setText(address);}}
查询的结果:
0 0
- 32号码归属地代码的实现
- 号码归属地的查询
- 简单的 Android 调用WebService 实现号码归属地查询
- 号码归属地查询那个代码
- Android实现号码归属地查询
- Android实现号码归属地查询
- Android里实现号码归属地查询
- Android实现号码归属地查询
- java语言实现号码归属地查询
- Android实现号码归属地查询
- 109.号码归属地双击实现居中
- flex 查查你的号码归属地
- 31号码归属地查询的原理
- 33号码归属地的完善
- 34查询号码归属地的优化
- 37来电号码归属地的显示
- 号码归属地的Jar包
- 免费的号码归属地查询API
- TRAIN YOUR OWN OPENCV HAAR CLASSIFIER
- 仿写strcmp函数
- iBATIS删除操作
- 不使用ceph-deploy 手动安装两个节点的Ceph集群
- erlang file 追加写
- 32号码归属地代码的实现
- akoj-1264-足球世界杯小组赛
- MessageFormat用法
- iBATIS结果映射
- SQL语句和ArrayList 类
- phonegap安装 环境搭建与配置详解( 完整版 提供下载地址)
- 8596 最长上升子序列(动规)
- LTE-Hi 可解决数据流量瓶颈
- CSU 1272 1272: Karma(几何 判断点是否在三角形内)