2017-09-19 6 views
0

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もチェックしても何も見つかりませんでした。もしあなたがそれを望むなら、私はそれを掲示することができます。

+0

Androidの挿入メソッドを使用して同じことが起こりますか?browser_data.insert(String tableName、String nullColumnHack、ContentValues values); ? –

+0

スタックトレースを提供する必要があります。 –

+0

私はあなたがフォーマットの問題を抱えていると仮定し、ログを見ることなく確認することはできません。次の形式のリンクを確認できます。 https://stackoverflow.com/questions/1933720/how-do-i-insert-datetime-value-into-a-sqlite-database –

答えて

1

かもしれその後、

import java.text.DateFormat; 

でそれらを交換してみているため、少なくともそれは私のために問題を解決しました。それもあなたのために働くことを願っています。

0

新しい日付()を文字列に変換して挿入します。日付

import android.icu.text.DateFormat; 
import java.text.SimpleDateFormat; 

のためにこれらのインポートファイルを使用している場合、日付列の属性は、文字列またはテキスト

関連する問題