我已经使用db浏览器创建了sqlite db作为名称kpl,并将其粘贴到移动内部存储器中,如Shivu这样的文件夹。
我写了下面的代码:
public class DbHandler extends SQLiteOpenHelper {
private static final int DB_VERSION=1;
private static final String DATABASENAME = "kpl.db";
private static final String TABLENAME = "User_Master";
private static final String USER_ID = "id";
private static final String USER_NAME = "user_name";
private static final String PASS_WORD = "pass_word";
private static final String TABLENAME_1 = "emp_Master";
private static final String EMP_ID = "id";
private static final String EMP_NAME = "user_name";
public static final String LOCAL_DATABASE_PATH = Environment.getExternalStorageDirectory()+ File.separator+"Shivu";
public String databasePath = "";
public DbHandler(Context context) {
super(context,LOCAL_DATABASE_PATH, null, 1);
}
我得到了错误:无法打开数据库,
请帮助我如何通过访问db。
将数据库文件夹定义为代码答案 0 :(得分:1)
您可以尝试下面的代码来获取数据库的确切路径
private static String getDatabasePath(Context _context, String _databaseName) {
return "/data/data/"+_context.getPackageName()+"/databases/"+_databaseName;
}
在此方法中传递上下文和数据库名称
答案 1 :(得分:0)
第二个参数不是db的路径,它是db的名称。数据库应该位于程序目录中一些明确定义的位置。
在SQLiteHelper.oCreate
中自己填充数据库,或者如果你有预先填充的数据库,那么使用这个开源库在你的apk中包含预先填充的数据库
https://github.com/jgilfelt/android-sqlite-asset-helper