Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android中的线程(启动活动时)_Java_Android_Multithreading - Fatal编程技术网

Java android中的线程(启动活动时)

Java android中的线程(启动活动时),java,android,multithreading,Java,Android,Multithreading,这段代码运行良好,没有崩溃,但当我启动一个新活动时,MainAvivity崩溃,logcat中没有详细信息,只是打印(应用程序终止): 以及InitializeSQLCipher方法: private void InitializeSQLCipher() { SQLiteDatabase.loadLibs(MainActivity.this); try { desPath = Environment.getExternalStorageDirectory()

这段代码运行良好,没有崩溃,但当我启动一个新活动时,MainAvivity崩溃,logcat中没有详细信息,只是打印(应用程序终止):

以及InitializeSQLCipher方法:

private void InitializeSQLCipher() {

    SQLiteDatabase.loadLibs(MainActivity.this);

    try {
        desPath = Environment.getExternalStorageDirectory() + "/Android/data/ir.plant.vision2";
        file = new File(desPath);
        if (!file.exists()) {
            file.mkdirs();
            file.createNewFile();
            copyDB(MainActivity.this.getAssets().open("data"), new FileOutputStream(desPath + "/data"));
        }
    } catch (FileNotFoundException f) {
        f.printStackTrace();
    } catch (IOException io) {
        io.printStackTrace();
    }

}

这是因为您正在完成MainActivity,而正在使用
MainActivity的操作仍在进行


确保在完成
InitializeSQLCipher
之前不会调用单击按钮,或者单击只需通过引入一些布尔变量等待操作完成,或者您可以将Object.wait和Object.notify组合在一起。请发布
InitializeSQLCipher
方法请发布
日志错误
private void InitializeSQLCipher() {

    SQLiteDatabase.loadLibs(MainActivity.this);

    try {
        desPath = Environment.getExternalStorageDirectory() + "/Android/data/ir.plant.vision2";
        file = new File(desPath);
        if (!file.exists()) {
            file.mkdirs();
            file.createNewFile();
            copyDB(MainActivity.this.getAssets().open("data"), new FileOutputStream(desPath + "/data"));
        }
    } catch (FileNotFoundException f) {
        f.printStackTrace();
    } catch (IOException io) {
        io.printStackTrace();
    }

}