zoukankan      html  css  js  c++  java
  • android项目查询号码归属地

    首先要有一个号码归属地的数据库,然后把这个数据库放进assets目录下,之后在闪屏页里读取这个数据库,

    放到data/data/包名/files目录下、

    最后就是对这个数据库进行操作了

    在闪屏页拷贝数据库文件

        private void copyDB(String dbname){
            File targetFile = new File(getFilesDir(),dbname);
            if(targetFile.exists()){
                System.out.println("已经存在了");
                return;
            }
            FileOutputStream fos = null;
            InputStream in  = null;
            try {
                fos = new FileOutputStream(targetFile);
                in = getAssets().open(dbname);
                int len = 0;
                byte[] b = new byte[1024];
                while((len=in.read(b))!=-1){
                    fos.write(b, 0, len);
                }
                
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                if(in!=null){
                    try {
                        in.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
                if(fos!=null){
                    try {
                        fos.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
        }

    然后具体查询操作

    package com.itheima.db.dao;
    
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    
    public class AddressDao {
        private static final String PATH = "data/data/com.itheima.superman/files/address.db";
    
        public static String findAddress(String phoneNumber) {
            String address="未知号码";
            // 读取一个数据库文件
            if(phoneNumber.matches("^[1]([3][0-9]{1}|59|58|88|89)[0-9]{8}$")){
                
                SQLiteDatabase database = SQLiteDatabase.openDatabase(PATH, null,
                        SQLiteDatabase.OPEN_READONLY);
                Cursor cu = database.rawQuery(
                        "select location from data2 where id=(select outkey from data1 where id=?)",
                        new String[] {phoneNumber.substring(0,7)});
                if(cu.moveToNext()){
                    address = cu.getString(0);
                }
                cu.close();
                database.close();
            }
            return address;
    
        }
    }
  • 相关阅读:
    系统提供的列表框的选择菜单
    symbian 下 xml 的操作总结
    在3版中实现并动态配置开机自启动
    Symbian (Read Inbox)读取收件箱的内容
    S60平台:使用外部应用程序View
    手机通讯录助手s60 第三版与 s60第五版可用 诺基亚手机
    关于静默安装需要注意的一些问题(转)
    关于自定义控件捕获 EButton1Up 事件
    javascript简单区分现代浏览器和ie6,7,8
    301、404、200、304等HTTP状态
  • 原文地址:https://www.cnblogs.com/84126858jmz/p/5014565.html
Copyright © 2011-2022 走看看