【发布时间】:2016-03-18 08:04:23
【问题描述】:
我使用 SQLite 来包含数据。
我删除的文件夹包含数据库包括:callrecord.db 和 callrecord.db-journal 文件。
并再次打开应用显示错误:不幸的是,记录已停止。
所以我更改path以在代码中创建新路径,但是再次运行时再次出现错误。
log cat Window 抛出异常:
无法启动活动 ComponentInfo{kr.co.composer.callrecord/kr.co.composer.callrecord.page.MainActivity}:android.database.sqlite.SQLiteCantOpenDatabaseException:未知错误(代码 14):无法打开数据库
我在创建中的代码是:
public static final int DATABASE_VERSION = 1;
public static final String DATABASE_NAME = Environment.getDataDirectory().getAbsolutePath() + "/Lapsoft-CRM/callrecord.db";
public CallDatabaseHelper(Context context){
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "create table " + TABLE_NAME + " ("
+ ROW_ID + " integer primary key autoincrement, "
+ NAME + " varchar, "
+ PHONE_NUMBER + " varchar, "
+ START_TIME + " varchar, "
+ CALL_TIME + " varchar, "
+ SEND_RECEIVE + " varchar, "
+ PHOTO_ID + " integer, "
+ FILE_NAME + " varchar"
+");";
Log.i("Tạo 1 bản cơ sở dữ liệu", sql);
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String sql = "drop table if exists " + TABLE_NAME + ";";
db.execSQL(sql);
onCreate(db);
}
如何解决这个错误?非常感谢。
【问题讨论】:
-
您需要卸载旧应用才能再次安装相同的应用