我尝试在Android(API 25)中创建和使用SQLite数据库。 我在清单中提供了许可。我想也许有数据库路径问题。但我不能老是解决这个问题...Android sqlExcetion打开数据库:权限被拒绝JDBC
有数据库开放代码
String db = "jdbc:sqlite:" + Environment.getDataDirectory().getAbsolutePath() + "/MyDatabase.db";
Class.forName("org.sqlite.JDBC");
但有关于权限
06-05 21:05:35.962 3698-3698/com.example.user.app W/System.err: java.sql.SQLException: opening db: '/data/MyDatabase.db': Permission denied
06-05 21:05:35.962 3698-3698/com.example.user.app W/System.err: at org.sqlite.core.CoreConnection.open(CoreConnection.java:203)
06-05 21:05:35.962 3698-3698/com.example.user.app W/System.err: at org.sqlite.core.CoreConnection.(CoreConnection.java:76)
06-05 21:05:35.962 3698-3698/com.example.user.app W/System.err: at org.sqlite.jdbc3.JDBC3Connection.(JDBC3Connection.java:24)
06-05 21:05:35.962 3698-3698/com.example.user.app W/System.err: at org.sqlite.jdbc4.JDBC4Connection.(JDBC4Connection.java:23)
06-05 21:05:35.962 3698-3698/com.example.user.app W/System.err: at org.sqlite.SQLiteConnection.(SQLiteConnection.java:45)
06-05 21:05:35.962 3698-3698/com.example.user.app W/System.err: at org.sqlite.JDBC.createConnection(JDBC.java:114)
06-05 21:05:35.962 3698-3698/com.example.user.app W/System.err: at org.sqlite.JDBC.connect(JDBC.java:88)
06-05 21:05:35.962 3698-3698/com.example.user.app W/System.err: at java.sql.DriverManager.getConnection(DriverManager.java:569)
06-05 21:05:35.962 3698-3698/com.example.user.app W/System.err: at java.sql.DriverManager.getConnection(DriverManager.java:237)
06-05 21:05:35.962 3698-3698/com.example.user.app W/System.err: at com.example.user.app.DB.openDbConnection(DB.java:33)
06-05 21:05:35.962 3698-3698/com.example.user.app W/System.err: at com.example.user.app.Helpers.isTableIsEmpty(Helpers.java:24)
06-05 21:05:35.962 3698-3698/com.example.user.app W/System.err: at com.example.user.app.activity.BachelorITFCourses1.onCreate(BachelorITFCourses1.java:42)
06-05 21:05:35.962 3698-3698/com.example.user.app W/System.err: at android.app.Activity.performCreate(Activity.java:6679)
06-05 21:05:35.962 3698-3698/com.example.user.app W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
06-05 21:05:35.962 3698-3698/com.example.user.app W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
06-05 21:05:35.963 3698-3698/com.example.user.app W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
06-05 21:05:35.963 3698-3698/com.example.user.app W/System.err: at android.app.ActivityThread.-wrap12(ActivityThread.java)
06-05 21:05:35.963 3698-3698/com.example.user.app W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
06-05 21:05:35.963 3698-3698/com.example.user.app W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102)
06-05 21:05:35.963 3698-3698/com.example.user.app W/System.err: at android.os.Looper.loop(Looper.java:154)
06-05 21:05:35.963 3698-3698/com.example.user.app W/System.err: at android.app.ActivityThread.main(ActivityThread.java:6119)
06-05 21:05:35.963 3698-3698/com.example.user.app W/System.err: at java.lang.reflect.Method.invoke(Native Method)
06-05 21:05:35.963 3698-3698/com.example.user.app W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
06-05 21:05:35.963 3698-3698/com.example.user.app W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
附:一些错误我有针对dtabase操作的特殊类DB。
2017-06-05
Aleksejs