Как получить данные из вставленной записи для отображения в другой деятельности Android?
Привет, я создал таблицу для вставки записи, т.е. имя, сообщение и время. Я успешно вставил, но как извлечь вставленные данные для отображения в другой деятельности. Вот код.
//this i have done in Activity A:
ContentValues userValues = new ContentValues();
//name of customer
userValues.put("from_user", Application.returnEmptyStringIfNull(userName));
userValues.put(Constants.LAST_MSG, msgBody);
userValues.put(Constants.CHAT_TIME, msgTime);
if(AAEDatabaseHelper.checkIDStatus(msgTo, Constants.TABLE_LIVE_CHAT, Constants.CUSTOEMR_ID)){
String whereClause = Constants.CUSTOEMR_ID + "='" + msgTo
+ "'";
AAEDatabaseHelper.updateValues(Constants.TABLE_LIVE_CHAT,
userValues, whereClause);
}
else {
userValues.put(Constants.CUSTOEMR_ID, msgTo);
AAEDatabaseHelper.insertValues(Constants.TABLE_LIVE_CHAT,
userValues);
}
AAEDatabaseHelper:
private static final String TEXT_NOT_NULL = " text not null ",
TEXT = " text , ", TEXT_PRIMARY_KEY = " text primary key",
CREATE_TABLE_STRING = "create table if not exists ";
private static final String CREATE_TABLE_LIVE_CHATS= CREATE_TABLE_STRING
+ Constants.TABLE_LIVE_CHAT + "(" + Constants.CUSTOEMR_ID + TEXT_PRIMARY_KEY + " , " + CHAT_COLUMN_FROM_USER_NAME
+ TEXT + Constants.CHAT_TIME + TEXT + Constants.LAST_MSG +" text ) ";
public static boolean checkIDStatus(String id, String tableName,String columnName) {
LogMessage.d("TABLE_NAME", tableName);
Cursor cursor = null;
cursor = dbHelper.query(tableName, null, columnName + "=?",
new String[] { id }, null, null, null);
boolean status = false;
try {
if (cursor != null) {
if (cursor.getCount() > 0)
status = true;
cursor.close();
}
} catch (Exception e) {
LogMessage.e(Constants.TAG, e);
}
return status;
}
В другом упражнении B: // как получить вставленные данные для отображения в тексте. вставлены следующие данные: имя пользователя, сообщение,time.customerid.
1 ответ
То, как вы используете contentValue для хранения этих данных. Таким же образом вы можете получить данные в курсоре и сохранить их в contectValue; В следующем примере показано, как извлечь данные и затем сохранить их в contentValues.
Cursor c = db.query(tableName,
tableColumn,
where,
whereArgs,
groupBy,
having,
orderBy);
ArrayList<ContentValues> retVal = new ArrayList<ContentValues>();
ContentValues map;
if(c.moveToFirst()) {
do {
map = new ContentValues();
DatabaseUtils.cursorRowToContentValues(c, map);
retVal.add(map);
} while(c.moveToNext());
}
c.close();