значение идентификатора контакта в android

Я новичок в разработке Android. Я разрабатываю приложение телефонной книги. Что я делаю, так это пытаюсь заполнить телефонную книгу контактами. У каждого контакта есть имя, номер и идентификатор электронной почты. Поскольку каждый из трех находится в отдельной базе данных, я читаю контакт, телефон и базу данных электронной почты в этом порядке. Основываясь на контактном идентификаторе, который я получаю при первом чтении, я запрашиваю две другие таблицы. Тем не менее, идентификаторы контактов, извлеченные из базы данных контактов, не совпадают с идентификаторами в телефоне и электронной почте. Я предполагаю, что Contacts._ID должен быть ключом для всех трех таблиц. Пожалуйста, дайте мне знать, если я делаю что-то неправильно здесь.


person rahul    schedule 29.01.2012    source источник


Ответы (2)


Когда вы говорите, что у вас есть отдельные БД, вы имеете в виду разные таблицы в одной базе данных, верно? В любом случае вам нужно использовать так называемый «внешний ключ». Я уверен, что если вы погуглите, вы найдете много информации

Предполагая, что вы используете реляционную базу данных, предположим, что у вас есть таблица T1 со столбцом, который является «первичным ключом» (пожалуйста, тоже погуглите), скажем, T1_PK. Предположим, у вас есть вторая таблица T2, которая ссылается на первую, как в вашем случае, на таблицу с адресами электронной почты для данного контакта. Во второй таблице вам нужен такой столбец, как T1_FK, который «указывает» на необработанные данные в T1, где хранится связанный контакт: в этом столбце будут храниться значения, которые в T1 находятся в столбце T1_PK.

Вы можете использовать SQL и ключевое слово JOIN для команды SELECT, чтобы создать представление (вы также можете использовать Google с «реляционной базой данных»), которое содержит всю информацию во всех таблицах.

person kingston    schedule 29.01.2012
comment
Спасибо Гершель. Я взял contact_id в качестве общего столбца в контактах и ​​таблице телефонов... это решило мою проблему. - person rahul; 08.02.2012

В таблицах должен быть какой-то уникальный идентификатор для идентификации связанных записей (может не быть contact_id), это может быть просто идентификатор из таблицы контактов.

person kosa    schedule 29.01.2012