我正在尝试修复一个不允许我打开数据库的错误.可能通过所有合并,出了点问题,但我似乎无法找到它.这是我的Log Cat报告.
E/SQLiteLog(894): (14) cannot open file at line 30191 of [00bb9c9ce4]
E/SQLiteLog(894): (14) os_unix.c:30191: (2) open(/data/data/com.packagename/databases/MainDB) -
Failed to open database '/data/data/com.packagename/databases/MainDB'.
android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)
at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:209)
at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193)
at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)
at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)
at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)
at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804)
at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:789)
at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)
at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:669)
at com.packagename.database.DBAdapter$DatabaseHelper.checkDataBase(DBAdapter.java:757)
at com.packagename.database.DBAdapter$DatabaseHelper.createDataBase(DBAdapter.java:734)
at com.packagename.database.DBAdapter.resetAllData(DBAdapter.java:490)
at com.packagename.OptionActivity$4.onClick(OptionActivity.java:157)
at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) …Run Code Online (Sandbox Code Playgroud) 目前,我想知道是否有办法将子类对象添加到父类数组。
我的代码遵循以下通用行:
public abstract class Parent {
...
}
public class Child extends Parent {
...
}
Run Code Online (Sandbox Code Playgroud)
我有一个遵循以下行的数组:
Parent[] array = new Parent[number];
Run Code Online (Sandbox Code Playgroud)
我希望能够将我的子对象添加到这个数组中,例如:
array[0] = new Child();
Run Code Online (Sandbox Code Playgroud)
但是,每当我这样做时,我都会收到一条错误消息,指出它们是不兼容的类型。我知道这可以实现,ArrayList但我想看看上面的格式是否可行。有没有办法在没有 ArrayList 的情况下实现这一目标?
我想返回一个不超过我设定限制的数字.例如,我想做相当于:
if (number >= limit)
number = limit;
return number;
Run Code Online (Sandbox Code Playgroud)
是否有一种数学方法可以完全相同于我刚才描述的一行?
在我正在进行的一个项目中,我需要检查一个值是否介于可被12整除的数字和可被12 + 5整除的数字之间.
if (Number >= 0 && Number <= 5) {
value = 0;
} else if (Number >= 12 && Number <= 17) {
value = 12;
} else if (Number >= 24 && Number <= 29) {
value = 24;
}
// etc...
Run Code Online (Sandbox Code Playgroud)
上面的代码工作得很好,但我觉得它可以减少.有没有人有另一种方式来实现我的目标,但更优雅?