Android SDK - список всех пользователей - PullRequest
0 голосов
/ 25 октября 2009

Я только начал работать с Android SDK, и у меня возникли проблемы с моим первым приложением. В настоящее время я пытаюсь перечислить всех пользователей в большой список. Однако, что бы я ни пытался, приложение продолжает принудительно закрываться. Я нашел код в примерах файлов, но это все еще вызывает у меня проблемы. Ниже приведен код, который я использую.

 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        String[] projection = new String[] {
                People._ID,
                People._COUNT,
                People.NAME,
                People.NUMBER
             };

        //Get the base URI for the People table in the Contacts content provider.
        Uri contacts =  People.CONTENT_URI;

        //Make the query. 
        Cursor managedCursor = managedQuery(contacts,
                    projection, // Which columns to return 
                    null,       // Which rows to return (all rows)
                    null,       // Selection arguments (none)
                    // Put the results in ascending order by name
                    People.NAME + " ASC");      

        Cursor c = getContentResolver().query(Contacts.CONTENT_URI, null, null, null, null);
        startManagingCursor(c);

        String[] columns = new String[] {People.NAME};
        int[] names = new int[] {R.id.text1};

        SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, 
          R.layout.main, c, columns, names);
        setListAdapter(mAdapter);
    }

Это прямо из файла примера, но оно все равно выдает ошибку. Я обнаружил, что линией, вызывающей проблему, является строка «Cursor managedCursor = managedQuery (contacts,»). Кто-нибудь еще видел это? Я в растерянности и не нашел решений после 2 часов или исследований. *

Кроме того, я добавил следующую строку в файл манифеста моего приложения:

<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>

Спасибо, и если вам нужна дополнительная информация, пожалуйста, дайте мне знать.

1 Ответ

4 голосов
/ 25 октября 2009

Я считаю, что пример из документации по SDK устарел. Попробуйте избавиться от столбца People._COUNT из проекции курсора.

Вероятно, это вызывает IllegalArgumentException (см. Вывод adb logcat)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...