您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Android >> AndroidStudio下读取assets下db文件报错

AndroidStudio下读取assets下db文件报错

来源:网络整理     时间:2016/4/10 23:24:03     关键词:Android,assets

关于网友提出的“AndroidStudio下读取assets下db文件报错”问题疑问,本网通过在网上对“AndroidStudio下读取assets下db文件报错”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:AndroidStudio下读取assets下db文件报错
描述:

Androidandrostudio

Hi,以下问题困扰我很久,求大神们不吝赐教!
首先我是用的IDE是AndroidStudio 1.5.1 ,API 23 (Android 6.0)
在读取assets下的db文件时出现问题,以下是我的相关代码以及报错提示:
ublic class AntiVirusDao {
    private static String DB_PATH = "";
    private static String DB_NAME = "antivirus.db";
    public static String checkVirus(String md5,Context context){
        String desc = null;
        /**打开病毒MD5数据库*/
        SQLiteDatabase db = SQLiteDatabase.openDatabase
                (DB_PATH = context.getApplicationInfo().dataDir + "/"+DB_NAME,null,SQLiteDatabase.OPEN_READWRITE);
        Cursor cursor = db.rawQuery("select desc from datable where md5=?",new String[]{md5});
        if(cursor.moveToNext()){
            desc = cursor.getString(0);
        }
        cursor.close();
        db.close();
        return desc;
    }

new Thread(){
            public void run(){
                Message msg = Message.obtain();
                msg.what = SCAN_BEGIN;
                myHandler.sendMessage(msg);//sengEmptyMessage只能存放整形数据,sendMessage可以存放其他类型
                List installedPackage = pm.getInstalledPackages(0);
                total = installedPackage.size();
                for(PackageInfo info : installedPackage){
                    if(!flag){
                        isStop = true;
                        return;
                    }
                    String apkpath = info.applicationInfo.sourceDir;
                    String md5info = MD5Utils.getFileMD5(apkpath);
//                    context = getApplicationContext();
                    String result = AntiVirusDao.checkVirus(md5info,mcontext);
                    msg = Message.obtain();
                    msg.what = SCANNING;
                    ScanAppInfo scanAppInfo = new ScanAppInfo();
                    if(result==null){
                        scanAppInfo.description = "您的手机安全";
                        scanAppInfo.isVirus = false;
                    }else {
                        scanAppInfo.description = result;
                        scanAppInfo.isVirus = true;
                    }
                    process++;
                    scanAppInfo.packageName = info.packageName;
                    scanAppInfo.appName = info.applicationInfo.loadLabel(pm).toString();
                    msg.obj = scanAppInfo;
                    msg.arg1 = process;
                    myHandler.sendMessage(msg);
                    try{
                        Thread.sleep(300);
                    }catch (InterruptedException e){
                        e.printStackTrace();
                    }
                }
                msg = Message.obtain();
                msg.what = SCAN_FINISH;
                myHandler.sendMessage(msg);
            };
        }.start();
    }

AndroidStudio下读取assets下db文件报错AndroidStudio下读取assets下db文件报错AndroidStudio下读取assets下db文件报错AndroidStudio下读取assets下db文件报错AndroidStudio下读取assets下db文件报错
解决方案1:

读取assets下的文件用InputStream is = getAssets().open("文件名");


以上介绍了“AndroidStudio下读取assets下db文件报错”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/640652.html

相关图片

相关文章