问题描述
我只是想为此寻求帮助.我在列表视图中填充了一个哈希图.下面的代码是我的哈希图代码:
I just wanted to ask help for this one. I have a hashmap populate in the listview. the code below is my code for my 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 是我数据库中的不同列.感谢任何愿意帮助我的人.这是其他可能有帮助的代码.
How can I possibly save that data in the database. FILE_NAME, DESC, UPLOADED_BY, FILE_URI are the different columns in my database. Thanks for anyone who would help me. Here's the other code that maybe could help.
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);
推荐答案
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
A database helper will need to be implemented by you, the string keys will need to match the column names. You can read more on database helpers here: http://developer.android.com/training/basics/data-storage/databases.html
这篇关于将记录从android中的hashmap保存到数据库中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!