• 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;
    
        }
    }
  • 相关阅读:
    1-6.webpack对字体图标和图片的处理
    1-5.Webpack对Html模板处理
    1-4.Webpack对样式的处理
    1-3.Webpack对脚本的处理
    1-2.Webpack初始化
    1-1.mmall电商项目搭建
    Java 随心笔记11
    Java 随心笔记10
    Java 随心笔记9
    Java 随心笔记8
  • 原文地址:https://www.cnblogs.com/84126858jmz/p/5014565.html
Copyright © 2020-2023  润新知