【问题标题】:Saving records into the database from the hashmap in android从android中的hashmap将记录保存到数据库中
【发布时间】:2013-07-16 01:45:19
【问题描述】:

我只是想为此寻求帮助。我在列表视图中填充了一个哈希图。下面的代码是我的 hashmap 代码:

mylist = new ArrayList<HashMap<String, String>>();
for (int i = 0; i < listSelectedFileNames.size(); i++) 
{
   HashMap<String, String> map = new HashMap<String, String>();
   map.put(FILE_NAME, selectedFileNames[i]);
   map.put(DESC, "");
   map.put(UPLOADED_BY, "User");
   map.put(DATE_UPLOADED, myDate);
   map.put(ACTION, "Delete");
   map.put(ID, String.valueOf(i));
   map.put(FILE_URI, selectedFileUri[i]);
   mylist.add(map);
}

我怎样才能将这些数据保存在数据库中。 FILE_NAME、DESC、UPLOADED_BY、FILE_URI 是我数据库中的不同列。感谢任何愿意帮助我的人。这是其他可能有帮助的代码。

selectedFileNames = new String[listSelectedFileNames.size()];
        for (int i = 0; i < listSelectedFileNames.size(); i++) {
            selectedFileNames[i] = listSelectedFileNames.get(i);
        }

        selectedFileUri = new String[listSelectedFileUri.size()];
        for (int i = 0; i < listSelectedFileUri.size(); i++) {
            selectedFileUri[i] = listSelectedFileUri.get(i);
        }

myCustomAdapterIreport = new CustomArrayAdapterIreport(getApplicationContext(), mylist, R.layout.attribute_selected_ireport_file, 
new String[]{FILE_NAME, DESC, UPLOADED_BY, DATE_UPLOADED, ACTION, ID, FILE_URI}, 
new int[]{R.id.tv_iFile, R.id.txt_iDesc,R.id.tv_iUploadedBy,R.id.tv_iDateUploaded, R.id.tv_iAction, R.id.tv_RowId, R.id.tv_iUri}, true);
lv_AttachedFileData.setAdapter(myCustomAdapterIreport);

【问题讨论】:

    标签: android arraylist hashmap


    【解决方案1】:
    SQLiteDatabase db = mDbHelper.getDatabase();
    db.beginTransaction();
    
    for(HashMap<String, String> map : mylist){
       ContentValues cv = new ContentValues();
       cv.put(FILE_NAME, map.get(FILE_NAME));
       cv.put(DESC, map.get(DESC));
       cv.put(UPLOADED_BY, map.get(DATE_UPLOADED));
       cv.put(ACTION, map.get(FILE_NAME));
       cv.put(ID, map.get(ID));
       cv.put(FILE_URI, map.get(FILE_URI));
       db.insert("tablename", null, cv);
    }
    db.setTransactionSuccessful();
    db.endTransaction();
    db.close();
    

    您需要实现一个数据库助手,字符串键需要与列名匹配。您可以在此处阅读有关数据库助手的更多信息:http://developer.android.com/training/basics/data-storage/databases.html

    【讨论】:

      猜你喜欢
      • 2011-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      • 1970-01-01
      • 2010-11-02
      • 2020-07-19
      相关资源
      最近更新 更多