我已经开发了一个Android应用程序,它将在一个设备上运行,我有一个SQLite数据库,我想将其复制到设备内部存储器上的// data / data //数据库目录中,但我有两个问题:
在模拟器中,我将db复制到自动创建的文件,并且app正常工作。 谢谢你的帮助
这是我的sqlite代码:
SQLiteDatabase db=openOrCreateDatabase("a",MODE_PRIVATE, null);
Cursor c=db.rawQuery("SELECT * FROM person WHERE id=?", new String [] {String.valueOf(1)});
c.moveToFirst();
String name=c.getString(c.getColumnIndex("name"));
db.close();
TextView tv=(TextView) findViewById(R.id.textView1);
tv.setText(name);
答案 0 :(得分:0)
您必须将SQLite数据库复制到主项目文件夹中的assets
文件夹中。您不能将其直接放在/data/data/your application package/
。
按照tutorial进行操作。
代码中有一行
private static String DB_PATH = "/data/data/YOUR_PACKAGE/databases/";
用
替换它 private static String DB_PATH;
和
将构造函数更新为
public DataBaseHelper(Context context) {
super(context, DB_NAME, null, 1);
this.myContext = context;
// you will get a warning if you'll try to hardcode your path
DB_PATH = myContext.getDatabasePath(DB_NAME).getPath();
}
休息在本教程中进行了解释。