您的位置:首页 > 移动开发 > Android开发

Android xUtils3.0 数据库操作出错

2017-03-25 22:24 369 查看
我在demo中能操作成功成功,但是放到项目中就出错,权限已加,so包也加了。

public class MyApplication extends Application {

    @Override

    public void onCreate() {

        super.onCreate();

        x.Ext.init(this);

        x.Ext.setDebug(BuildConfig.DEBUG); 

        DbManager.DaoConfig daoConfig = new DbManager.DaoConfig()

            .setDbName("logininfo.db")

            .setDbDir(new File("/sdcard")) 

            .setDbVersion(2)

            .setDbOpenListener(new DbManager.DbOpenListener() {

                @Override

                public void onDbOpened(DbManager db) {

                    db.getDatabase().enableWriteAheadLogging();

                }

            })

            .setDbUpgradeListener(new DbManager.DbUpgradeListener() {

                @Override

                public void onUpgrade(DbManager db, int oldVersion, int newVersion) {

                    // TODO: ...

                    // db.addColumn(...);

                    // db.dropTable(...);

                    // ...

                    // or

                    // db.dropDb();

                }

            });

DbManager db = x.getDb(daoConfig);

Member member =new Member();

member.setUsername("名字");

member.setMobile("136");

member.setUserCategory("1");

db = x.getDb(daoConfig);

try {

db.saveBindingId(member);

} catch (DbException e) {

e.printStackTrace();

}

try {

member = db.findFirst(Member.class);

System.out.println("name:" + member.getMobile());

} catch (DbException e) {

e.printStackTrace();

}

    }

}

放在Application中,项目中要存储用户登录信息,就用框架里的,没想到出问题了,两天了都没解决。请大神们帮帮忙。

05-07 10:29:20.865: E/SQLiteLog(28430): (14) cannot open file at line 31278 of [2ef4f3a5b1]

05-07 10:29:20.865: E/SQLiteLog(28430): (14) os_unix.c:31278: (2) open(/sdcard/logininfo.db) - 

05-07 10:29:20.867: E/SQLiteDatabase(28430): Failed to open database '/sdcard/logininfo.db'.

05-07 10:29:20.867: E/SQLiteDatabase(28430): android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:207)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:191)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:806)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:791)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:709)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:702)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at org.xutils.db.DbManagerImpl.openOrCreateDatabase(DbManagerImpl.java:411)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at org.xutils.db.DbManagerImpl.<init>(DbManagerImpl.java:62)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at org.xutils.db.DbManagerImpl.getInstance(DbManagerImpl.java:77)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at org.xutils.x.getDb(x.java:76)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at com.jecansoft.t
4000
ubaku2.app.MyApplication.onCreate(MyApplication.java:47)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1014)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4751)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at android.app.ActivityThread.-wrap1(ActivityThread.java)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1424)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at android.os.Handler.dispatchMessage(Handler.java:102)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at android.os.Looper.loop(Looper.java:148)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at android.app.ActivityThread.main(ActivityThread.java:5461)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at java.lang.reflect.Method.invoke(Native Method)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)

05-07 10:29:20.867: E/SQLiteDatabase(28430):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

05-07 10:29:20.870: E/AndroidRuntime(28430): FATAL EXCEPTION: main

05-07 10:29:20.870: E/AndroidRuntime(28430): Process: com.jecansoft.tubaku2, PID: 28430

05-07 10:29:20.870: E/AndroidRuntime(28430): Theme: themes:{default=overlay:system, fontPkg:system, com.android.systemui=overlay:system}

05-07 10:29:20.870: E/AndroidRuntime(28430): java.lang.RuntimeException: Unable to create application com.jecansoft.tubaku2.app.MyApplication: android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database

05-07 10:29:20.870: E/AndroidRuntime(28430):  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4754)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at android.app.ActivityThread.-wrap1(ActivityThread.java)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1424)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at android.os.Handler.dispatchMessage(Handler.java:102)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at android.os.Looper.loop(Looper.java:148)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at android.app.ActivityThread.main(ActivityThread.java:5461)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at java.lang.reflect.Method.invoke(Native Method)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

05-07 10:29:20.870: E/AndroidRuntime(28430): Caused by: android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database

05-07 10:29:20.870: E/AndroidRuntime(28430):  at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:207)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:191)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:806)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:791)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:709)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:702)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at org.xutils.db.DbManagerImpl.openOrCreateDatabase(DbManagerImpl.java:411)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at org.xutils.db.DbManagerImpl.<init>(DbManagerImpl.java:62)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at org.xutils.db.DbManagerImpl.getInstance(DbManagerImpl.java:77)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at org.xutils.x.getDb(x.java:76)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at com.jecansoft.tubaku2.app.MyApplication.onCreate(MyApplication.java:47)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1014)

05-07 10:29:20.870: E/AndroidRuntime(28430):  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4751)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: