我已經使用Eclipse + ADT創建了一個應用程序,它可以讀取和寫入sqlite數據庫,它在Android終端模擬器上工作正常,但是,從手機本身運行,它不會從數據庫填充Spinners,這意味着它沒有在內部存儲器中找到數據庫,我已經使用adb shell檢查過,如果數據庫在手機上並且在那裏,所以我想我需要爲應用程序提供根權限以允許它使用數據庫,我該怎麼做?我的手機是摩托羅拉Defy,它的根源在於,先進的感謝,有一個愉快的一天。Android - 如何從內部手機訪問sqlite數據庫?
編輯:這是我的類來創建表,並增加了方法的onCreate和的onUpdate:
public class passwordSQLiteHelper extends SQLiteOpenHelper{
String SqlCreate = "CREATE TABLE password(id INTEGER, name TEXT, password TEXT)";
public passwordSQLiteHelper(Context context, String name,
CursorFactory factory, int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(SqlCreate);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS password");
db.execSQL(SqlCreate);
}
}
而當活動開始,我從主類調用它:
passwordSQLiteHelper passUserDb = new passwordSQLiteHelper(this, "/data/data/com.project.otto/databases/password", null, 1);
在終端上工作很好,但不是在手機上,似乎無法找到數據庫,我檢查與亞行,它在那裏,請幫助我,謝謝!
您是否試圖在應用程序存儲之外存儲數據庫? –
它是你的應用程序的數據庫嗎?那你就不需要root了。 –
郵政編碼和您可以在logcat中看到的任何錯誤。正如Pulsar所說,您自己的應用程序不需要任何特殊權限就可以在內部存儲器中使用自己的數據庫。 – Squonk