SQLiteデータベースを使用して履歴、ブックマークなどを格納するアンドロイドブラウザを作成しようとしています。ブックマークを挿入しても履歴は入力されてもクラッシュします。また、すべてのアンドロイド7.0で正常に動作しています。SQLiteデータベースに日付と時刻を挿入しようとするとアプリケーションがクラッシュする
これは、データベースに履歴を挿入する方法です。
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;
}
ブックマークと履歴テーブルは、履歴テーブルの余分な時間と日付の列に1つだけ違いがあります。
また、私はそれをチェックしても、テーブルが正しく作成されていることを確信しています。また、アンドロイド7.0でも動作していますが、logcatもチェックしても何も見つかりませんでした。もしあなたがそれを望むなら、私はそれを掲示することができます。
Androidの挿入メソッドを使用して同じことが起こりますか?browser_data.insert(String tableName、String nullColumnHack、ContentValues values); ? –
スタックトレースを提供する必要があります。 –
私はあなたがフォーマットの問題を抱えていると仮定し、ログを見ることなく確認することはできません。次の形式のリンクを確認できます。 https://stackoverflow.com/questions/1933720/how-do-i-insert-datetime-value-into-a-sqlite-database –