私はjson文字列を解析し、値をarraylistに保存しました。今、この値をデータベースに入れたいです。これは、以下のようにバックグラウンドメソッドで非同期タスクを実行しています:
ArrayList<HashMap<String, String>> budget_val = new ArrayList<HashMap<String, String>>();
HashMap<String, String> budget_Val_map = new HashMap<String, String>();
budget_Val_map.put(PRODUCT_CAKE, cake);
budget_Val_map.put(PRODUCT_YEASTEXTRACT, yeastextract);
budget_Val_map.put(PRODUCT_BIFLAVOURS, biflavours);
budget_Val_map.put(PRODUCT_YEASTNUTRIFERM, yeastnutriferm);
budget_val.add(budget_Val_map);
dbHelper.open();
dbHelper.topinchartsRecord(new ProductCategory(budget_val));
今、私のデータベースアダプタでテーブルを作成し、それらの値を以下のように挿入しました:
public void topinchartsRecord(ProductCategory productCategory) {
try{
insertRecords(productCategory.getBudget_val(), SQLITE_TABLE3);
}catch (Exception e) {
String LOG_TAG = "mylog";
Log.e(LOG_TAG, "error reporting", e);
}}
private void insertRecords(ArrayList<HashMap<String, String>> budget_val,
String sqliteTable3) {
if (budget_val != null && budget_val.size() > 0) {
ContentValues con = new ContentValues();
for (int i = 0; i < budget_val.size(); i++) {
con.clear();
HashMap<String, String> row = budget_val.get(i);
Iterator<String> it = row.keySet().iterator();
while (it.hasNext()) {
String columnName = it.next();
con.put(columnName, row.get(columnName));
}
mDb.insert(SQLITE_TABLE3, null, con);
Log.d(LOG_TAG, "error reporting");
System.out.println("Control entered last line of the insert record=========== 3");
}}}
しかし、私のデータベースには何も表示されず、トレースにエラーもありません。正しく実行しているかどうか教えてください。