无法在android中打开外部创建的sqlite

时间:2016-02-04 10:07:57

标签: android android-sqlite

我在外部创建了sqlite数据库,我正在尝试在Android App中使用该数据库。我提到了一个教程,我按照它编写了下面的代码来打开 在android中外部创建了sqlite数据库。

我试图确保在android中正确读取数据库,所以我调用了下面代码中的方法“getTotalRowsInDB”,但是在运行时我收到错误并将它们发布在下面 请告诉我当我调用“getTotalRowsInDB”时,我在数据库表中收到正确的行数。

public class SQLiteHelper extends SQLiteOpenHelper {

private final String TAG = this.getClass().getSimpleName();

private static final int DATABASE_VERSION = 2;
private static final String DATABASE_NAME = "sqliteDB_00.db";
private static final String DATABASE_PATH = Environment.getExternalStorageDirectory() + "/database/";
private static final String DATABASE_TABLE_NAME = "NODE_22";

private Context mCtx = null;
private SQLiteDatabase myDataBase = null;

public SQLiteHelper(Context context) {
    super(context, DATABASE_PATH, null, DATABASE_VERSION);
    this.mCtx = context;
}

public void createDataBase() throws IOException{

    boolean dbExist = checkDataBase();

    if(dbExist){
        Log.i(TAG, "DB Exist");
        //do nothing - database already exist
    }else{

        Log.i(TAG, "DB does not Exist");
        //By calling this method and empty database will be created into the default system path
        //of your application so we are gonna be able to overwrite that database with our database.
        this.getReadableDatabase();

        try {
            copyDataBase();
        } catch (IOException e) {
            throw new Error("Error copying database");
        }
    }
}

private boolean checkDataBase(){

    SQLiteDatabase checkDB = null;

    try{
        String myPath = DATABASE_PATH + DATABASE_NAME;
        checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);

    }catch(SQLiteException e){

        //database does't exist yet.

    }

    if(checkDB != null){

        checkDB.close();

    }

    return checkDB != null ? true : false;
}

private void copyDataBase() throws IOException{

    //Open your local db as the input stream
    InputStream myInput = this.mCtx.getAssets().open(DATABASE_NAME);

    // Path to the just created empty db
    String outFileName = DATABASE_PATH + DATABASE_NAME;

    //Open the empty db as the output stream
    OutputStream myOutput = new FileOutputStream(outFileName);

    //transfer bytes from the inputfile to the outputfile
    byte[] buffer = new byte[1024];
    int length;
    while ((length = myInput.read(buffer))>0){
        myOutput.write(buffer, 0, length);
    }

    //Close the streams
    myOutput.flush();
    myOutput.close();
    myInput.close();
}

public void openDataBase() throws SQLException {

    //Open the database
    String myPath = DATABASE_PATH + DATABASE_NAME;
    myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
}

@Override
public synchronized void close() {

    if(myDataBase != null)
        myDataBase.close();

    super.close();

}

@Override
public void onCreate(SQLiteDatabase db) {
    Log.w(TAG, "onCreate");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    Log.w(TAG, "onUpgrade");
}

public int getTotalRowsInDB() {
    SQLiteDatabase db = this.getReadableDatabase();
    SQLiteCursor c = (SQLiteCursor) db.rawQuery("SELECT * FROM " + DATABASE_PATH, null);

    c.moveToFirst();
    int r = c.getCount();
    c.close();
    db.close();
    return r;
}

}

logcat的

failed to open "/storage/emulated/0/database" with flag (131138) and mode_t (0) due to error (21)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteLog: (14) cannot open file at line 32509 of [b3bb660af9]
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteLog: (14) os_unix.c:32509: (21) open(/storage/emulated/0/database) - 
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase: Failed to open database '/storage/emulated/0/database'.
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase: android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:318)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:228)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:512)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:206)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:178)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:894)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:864)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:699)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:1507)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:282)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:223)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at com.example.com.externalsqlite_00.SQLiteHelper.getTotalRowsInDB(SQLiteHelper.java:136)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at com.example.com.externalsqlite_00.ActMain.onCreate(ActMain.java:35)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.app.Activity.performCreate(Activity.java:6288)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2642)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2754)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.app.ActivityThread.access$900(ActivityThread.java:177)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.os.Handler.dispatchMessage(Handler.java:102)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.os.Looper.loop(Looper.java:145)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.app.ActivityThread.main(ActivityThread.java:5938)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at java.lang.reflect.Method.invoke(Native Method)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at java.lang.reflect.Method.invoke(Method.java:372)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper: Couldn't open /storage/emulated/0/database/ for writing (will try read-only):
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper: android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:318)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:228)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:512)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:206)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:178)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:894)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:864)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:699)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:1507)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:282)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:223)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at com.example.com.externalsqlite_00.SQLiteHelper.getTotalRowsInDB(SQLiteHelper.java:136)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at com.example.com.externalsqlite_00.ActMain.onCreate(ActMain.java:35)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.app.Activity.performCreate(Activity.java:6288)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2642)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2754)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.app.ActivityThread.access$900(ActivityThread.java:177)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.os.Handler.dispatchMessage(Handler.java:102)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.os.Looper.loop(Looper.java:145)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at android.app.ActivityThread.main(ActivityThread.java:5938)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at java.lang.reflect.Method.invoke(Native Method)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at java.lang.reflect.Method.invoke(Method.java:372)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteOpenHelper:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteLog: (28) multiple links to file: /storage/emulated/0/database
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteLog: (10) unixRead() File Descriptor : 30 gets errno : 21
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase: Failed to open database '/storage/emulated/0/database'.
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase: android.database.sqlite.SQLiteDiskIOException: unknown error (code 10): Could not open database
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:318)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:228)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:512)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:206)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:178)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:894)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:864)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:699)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:234)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at com.example.com.externalsqlite_00.SQLiteHelper.getTotalRowsInDB(SQLiteHelper.java:136)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at com.example.com.externalsqlite_00.ActMain.onCreate(ActMain.java:35)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.app.Activity.performCreate(Activity.java:6288)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2642)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2754)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.app.ActivityThread.access$900(ActivityThread.java:177)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.os.Handler.dispatchMessage(Handler.java:102)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.os.Looper.loop(Looper.java:145)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at android.app.ActivityThread.main(ActivityThread.java:5938)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at java.lang.reflect.Method.invoke(Native Method)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at java.lang.reflect.Method.invoke(Method.java:372)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/SQLiteDatabase:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication D/AndroidRuntime: Shutting down VM
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime: Process: com.example.com.myapplication, PID: 24080
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.com.myapplication/com.example.com.externalsqlite_00.ActMain}: android.database.sqlite.SQLiteDiskIOException: unknown error (code 10): Could not open database
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2689)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2754)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.app.ActivityThread.access$900(ActivityThread.java:177)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:102)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:145)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5938)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:372)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:  Caused by: android.database.sqlite.SQLiteDiskIOException: unknown error (code 10): Could not open database
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:318)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:228)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:512)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:206)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:178)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:894)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:864)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:699)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:234)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at com.example.com.externalsqlite_00.SQLiteHelper.getTotalRowsInDB(SQLiteHelper.java:136)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at com.example.com.externalsqlite_00.ActMain.onCreate(ActMain.java:35)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.app.Activity.performCreate(Activity.java:6288)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2642)
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2754) 
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.app.ActivityThread.access$900(ActivityThread.java:177) 
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448) 
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:102) 
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:145) 
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5938) 
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method) 
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:372) 
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400) 
02-04 10:59:03.682 24080-24080/com.example.com.myapplication E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195) 

0 个答案:

没有答案
相关问题