2009-10-25 8 views
0

Я только начал работать с Android SDK, и у меня проблемы с моим первым приложением. В настоящее время я пытаюсь перечислить всех пользователей в большом списке. Однако, независимо от того, что я пытаюсь, приложение продолжает принудительно закрывать. Я нашел код в файлах примеров, но это все еще дает мне проблемы. Ниже приведен код, который я использую.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 (контакты)». Кто-нибудь еще видел это? Я нахожусь в убытке и не нашел никаких решений через 2 часа или исследования.

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

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

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

ответ

4

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

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

+0

Это было сделано. Благодаря! – Blather

Смежные вопросы