我正在尝试制作一个Android浏览器,使用SQLite数据库存储历史记录,书签等。当我插入书签时它工作正常但是当输入历史记录时应用程序崩溃。此外,在Android 7.0中一切正常。
这就是我尝试在数据库中插入历史记录的方法。
browser_data.execSQL("Insert into tb_history values('"+DateFormat.getDateTimeInstance().format(new Date())+"', '"+SqlCompatible(view.getTitle())+"' , '"+SqlCompatible(ac_sub)+"', '"+SqlCompatible(view.getUrl())+"');");
public static String SqlCompatible(String str){
str = str.replaceAll("'", "''");
return str;
}
书签和历史记录表只有一个区别,即历史记录表中的额外时间和日期列。
另外我很确定在我检查表时正确创建了表,并且它在android 7.0中工作,我也检查了logcat但没有发现任何可疑之处。如果你们想要它,我可以发布它。
答案 0 :(得分:1)
如果您将这些导入文件用于日期
import android.icu.text.DateFormat;
import java.text.SimpleDateFormat;
然后尝试用
替换它们import java.text.DateFormat;
至少它为我解决了这个问题。希望它也适合你。
答案 1 :(得分:0)
将新的Date()转换为字符串并尝试插入。因为日期列属性可能是字符串或文本