Android SMS _id

Я гуглил несколько раз, но не смог найти то, что искал. Android назначает идентификатор для каждого смс-сообщения. Я хотел знать, всегда ли этот идентификатор уникален? Могу ли я полагаться на него для идентификации смс-сообщений или мне следует назначить свои собственные?

Спасибо :)

Ответы на вопрос(3)

толбец с именем Thread_ID, который является общим для каждого разговора, т. Е. Сам разговор в телефоне Android дал уникальный Thread_Id. Но каждое сообщение в этой конкретной теме имеет уникальный SMS_ID

 Davita18 июн. 2012 г., 07:07
Спасибо, приятно это знать :) +1

MmsSmsDatabaseHelper и обратите внимание на реализациюcreateSmsTables метод:

private void createSmsTables(SQLiteDatabase db) {
    // N.B.: Whenever the columns here are changed, the columns in
    // {@ref MmsSmsProvider} must be changed to match.
    db.execSQL("CREATE TABLE sms (" +
               "_id INTEGER PRIMARY KEY," +
               "thread_id INTEGER," +
               "address TEXT," +
               "person INTEGER," +
               "date INTEGER," +
               "date_sent INTEGER DEFAULT 0," +
               "protocol INTEGER," +
               "read INTEGER DEFAULT 0," +
               "status INTEGER DEFAULT -1," + 
               "type INTEGER," +
               "reply_path_present INTEGER," +
               "subject TEXT," +
               "body TEXT," +
               "service_center TEXT," +
               "locked INTEGER DEFAULT 0," +
               "error_code INTEGER DEFAULT 0," +
               "seen INTEGER DEFAULT 0" +
               ");");

    /* rest of implementation not shown */
}

_id что присваивается каждому смс-сообщениюPRIMARY KEY так что да, он однозначно идентифицирует каждое смс-сообщение.

Решение Вопроса

то есть реляционную базу данных, невозможно иметь дубликат идентификатора.

 Davita18 июн. 2012 г., 02:54
Большое спасибо Фернандо :)
 15 окт. 2012 г., 08:28
@Fernando являются ли thread_id уникальными для каждого разговора? то есть все ли разговоры имеют уникальный идентификатор, даже после того, как я его удалю?
 22 авг. 2015 г., 14:49
Хм, SQLite не применяет уникальный ключ. Или другие ограничения. И это на самом деле не реляционная база данных. Это больше похоже на текстовый файл с запросами.

Ваш ответ на вопрос