Как получить данные из вставленной записи для отображения в другой деятельности 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();  
Другие вопросы по тегам