Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android 2.1中使用联系人名称填充AutoCompleteTextView_Android_Autocompletetextview - Fatal编程技术网

如何在android 2.1中使用联系人名称填充AutoCompleteTextView

如何在android 2.1中使用联系人名称填充AutoCompleteTextView,android,autocompletetextview,Android,Autocompletetextview,我有一个AutoCompleteTextView,我希望它在输入时自动完成联系人姓名。问题是Contacts.People已被弃用。新文档中说要使用ContactsContract,但我找不到任何合适的教程。谁能给我一个示例代码或者给我一个合适的教程 谢谢。适用于2.0的Android联系人API 授予访问权限 在应用程序可以查询联系人记录之前,必须通过存储在项目根目录中的AndroidManifest.xml文件授予访问权限。在uses sdk语句下面添加以下uses权限 <uses-

我有一个AutoCompleteTextView,我希望它在输入时自动完成联系人姓名。问题是Contacts.People已被弃用。新文档中说要使用ContactsContract,但我找不到任何合适的教程。谁能给我一个示例代码或者给我一个合适的教程


谢谢。

适用于2.0的Android联系人API

授予访问权限

在应用程序可以查询联系人记录之前,必须通过存储在项目根目录中的AndroidManifest.xml文件授予访问权限。在uses sdk语句下面添加以下uses权限

 <uses-permission android:name="android.permission.READ_CONTACTS" />
该应用程序与任何其他Android应用程序一样启动。首先在cr中创建一个
ContentResolver
实例。然后使用
ContentResolver
实例查询数据库并返回带有联系人列表的
光标。该查询针对存储在
Contacts contract.Contacts.CONTENT\u URI
中的URI执行。接下来检查光标是否包含记录,如果包含,则循环遍历这些记录。记录ID字段存储在ID变量中。这将在以后用作
where
参数。显示名称字段也存储在字符串名称中


阅读更多关于

我正在做类似的事情!!!
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;

public class TestContacts extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ContentResolver cr = getContentResolver();
        Cursor cur = cr.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) {
                    //Query phone here.  Covered next
                }
            }
        }
    }
}