我创建了一个使用 Eclipse + ADT 读取和写入 sqlite db 的应用程序,它在 Android 终端模拟器上运行良好,但是,从手机本身运行,它不会从 db 填充 Spinner,这意味着它没有找到db 在内部存储器中,我已经用 adb shell 检查了 db 是否在手机上并且它在那里,所以我想我需要授予应用程序 root 权限以允许它使用 db,我该怎么做?我的手机是摩托罗拉 Defy,它已经植根,谢谢,祝你有美好的一天。
编辑:这是我创建表并添加方法 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);
在终端上效果很好,但在手机上似乎找不到数据库,我用 adb 查了一下,它就在那里,请帮帮我,谢谢!