我在外部创建了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)