Я новичок в разработке Android. Я разрабатываю приложение для телефонной книги. Я делаю это, пытаясь заполнить телефонную книгу контактами. Каждый контакт имеет имя, номер и адрес электронной почты. Поскольку каждый из трех находится в отдельной базе данных, я читаю контакт, телефон и адрес электронной почты в этом порядке. Основываясь на contactId, я извлекаю из первого чтения, я запрашиваю две другие таблицы. Однако контактные данные из базы данных контактов не совпадают с данными в телефоне и электронной почте. Мое предположение - это Contacts._ID, который должен быть ключом для всех трех таблиц. Пожалуйста, дайте мне знать, если я делаю что-то не так.значение идентификатора контакта в android
ответ
Когда вы говорите, что вы разделили БД, вы имеете в виду разные таблицы в одной и той же базе данных? В любом случае вам нужно использовать так называемый «внешний ключ». Я уверен, что если вы его найдете, вы найдете много информации
Предполагая, что вы используете реляционную базу данных, предположим, что у вас есть таблица T1 со столбцом, который является «первичным ключом» (пожалуйста, google it too), скажем, T1_PK. Предположим, у вас есть вторая таблица T2, которая ссылается на первую, как в вашем случае, таблицу с адресами электронной почты для данного контакта. В этой второй таблице вам нужен столбец типа T1_FK, который «указывает» на необработанное значение в T1, где хранится связанный контакт: этот столбец будет хранить значения, которые в T1 находятся в столбце T1_PK.
Вы можете использовать SQL и ключевое слово JOIN для команды SELECT для создания представления (вы также можете использовать его в Google с реляционной базой данных), которая содержит всю информацию во всех таблицах.
Для идентификации соответствующих записей (может быть, не контактов) не должно быть уникального идентификатора по таблицам, это может быть только идентификатор из таблицы контактов.
Thx Herschel. Я взял contact_id в качестве общего столбца в контактах и телефонной таблице ... он решил мою проблему. – rahul