gpt4 book ai didi

android - 如何将联系人详细信息存储为类变量android

转载 作者:行者123 更新时间:2023-11-29 17:57:07 24 4
gpt4 key购买 nike

这可能是一个JAVA问题,但我不知道如何构造它。因此,版主请根据需要更改标签。

我正在使用以下代码检索联系人的信息...

Cursor cur = cr_RC.query(ContactsContract.Contacts.CONTENT_URI, null,
null, null, null);

if (cur.getCount() > 0) {
while (cur.moveToNext()) {
String id = cur.getString(cur
.getColumnIndex(ContactsContract.Contacts._ID));
String name = cur
.getString(cur
.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
if (Integer
.parseInt(cur.getString(cur
.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
Cursor pCur = cr_RC.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID
+ " = ?", new String[] { id }, null);
while (pCur.moveToNext()) {
// Do something with phones
}
pCur.close();
}
}
}

我想创建一个类,它包含所有这些值(多个联系人),然后检索它们以将它们存储在数据库中。但是,我不太确定如何编写该类。有人可以帮我弄这个吗?如何将这些多个联系人存储在一个类中?在存储或检索联系人信息时,如何区分一个联系人与另一个联系人?

我要存储的东西列表..

  1. 姓名

  2. 所有电话号码

  3. 电子邮件 ID - 未包含在此处的代码中。

  4. 联系人的照片 - 此处的代码中未包含。

感谢您的帮助!!!

最佳答案

这看起来像是一道面向对象编程的问题。

我想你想要多个“联系人”,所以你可能在谈论成员变量,而不是(静态)类变量。

您需要创建一个类,其中包含存储数据所需的所有 memer 变量。然后编写 getter 和 setter 方法向对象添加新数据或从对象中获取数据。

例如,您想要的类(class)可能如下所示:

MyContact.java

public  class MyContact {

private String name;
private ArrayList<String> phoneNumbers; // a list for storing multiple numbers
private ArrayList<String> emailIDs;

// storing bitmaps permanently is probably not the best solution
private Bitmap photo; // BE VERY CAREFUL HERE, Bitmaps use lots of memory so only keep them in memory as long as needed

public MyContact() {
phoneNumbers = new ArrayList<String>();
emailIDs = new ArrayList<String>();
}

public void setName(String name) {
this.name = name;
}

public void addPhoneNumer(String number) {
this.phoneNumbers.add(number);
}

public void addEmailID(String number) {
this.emailIDs.add(number);
}

public String getName() {
return name;
}

public String getEmaiIDByIndex(int index) {
return emailIDs.get(index);
}

// and so on...
}

然后,如果您想在类中保存值:

MyContact c = new MyContact();

c.setName("somename");
c.addPhoneNumber("145325235235");
c.addPhoneNumber("94205325");
c.addEmailID("emailid");

// to get information and store it somewhere else:
YourDatabase.storeValue(c.getName()); // just as an example

关于android - 如何将联系人详细信息存储为类变量android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18591001/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com