Android 中的联系人 ID 值
我是安卓开发新手。我正在开发一个电话簿应用程序。我正在做的是尝试用联系人填充电话簿。每个联系人都有姓名、电话号码和电子邮件 ID。由于这三个数据库中的每一个都位于单独的数据库中,因此我正在按顺序读取联系人、电话和电子邮件数据库。根据我从第一次读取中检索到的 contactId,我正在查询其他两个表。但是,从联系人数据库中检索到的 contactId 与电话和电子邮件中的不匹配。 我的假设是 Contacts._ID 应该是所有三个表的键。 如果我在这里做错了什么,请告诉我。
I am new to android development. I am developing a phonebook app. What I am doing is, trying to populate the phonebook with the contacts. Each contact has name, number and the emailId. Since each of the three is in a separate database, I am reading contact, phone and the Email db in that order. Based on the contactId I retrieve from the first read, I am querying the other two tables. However, the contactIds retreive from the contacts database does not match the ones in the phone and the email.
My assumption is the Contacts._ID should be the key for all the three tables.
Please let me know if I am doing something wrong here.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当你说你有独立的数据库时,你的意思是同一数据库中的不同表,对吗?无论如何,您需要使用所谓的“外键”。我确信,如果你用谷歌搜索,你会找到很多信息
假设你使用的是关系数据库,假设你有一个表 T1,其中有一列是“主键”(也请用谷歌搜索)让我们说 T1_PK 。
假设您有第二个表 T2,它引用第一个表,就像您的案例中包含给定联系人的电子邮件地址的表一样。在第二个表中,您需要像 T1_FK 这样的列,它“指向”T1 中存储相关联系人的原始数据:该列将存储 T1 中 T1_PK 列中的值。
您可以使用 SQL 和 SELECT 命令的 JOIN 关键字来创建一个视图(您也可以使用“关系数据库”在 google 上搜索),其中包含所有表中的所有信息。
When you say that you have separated DBs you mean different tables in the same database right? Anyway you need to use a so-called "foreign-key". I'm sure that if you google it you will find a lot of info
Assuming that you are using a relational database let's suppose you have a table T1 with a column that is the "primary key" (please google it too) let's say T1_PK.
Let's suppose you have a second table T2 that references the first one like in your case the table with the email addresses for a given contact. In this second table you need a column like T1_FK that "points" to the raw in the T1 where the related contact is stored: this column will store the values that in T1 are in the column T1_PK.
You can use SQL and the JOIN keyword for the SELECT command to create a view (you can google it too with "relational database") that contains all the info in all the tables.
各个表之间应该有一些唯一的 ID 来标识相关记录(可能不是 contacts_id),也可以只是 Contacts 表中的 ID。
There should be some unique ID across the tables to identify related records (may not be contacts_id), it could be just ID from Contacts table.