联系人获取代码不在设备上工作

时间:2016-11-09 09:57:08

标签: android android-layout

Android应用程序运行完美,在模拟器上没有任何问题,但它在真实设备上崩溃:

MainActivity.java

df.to_hdf('hdfs3.h5', 'df', format='table',mode='w',complevel= 9,complib='blosc') 
store = pd.HDFStore('hdfs3.h5', mode= 'r')
print (store.select('df','Item="Items0"'))
              Values
Item   N            
Items0 Item0    0.25
       Item1    0.50
       Item2    0.75
       Item3    1.00

activity_main.xml中

 package com.example.pc_6.contacts;

 import android.content.ContentResolver;
 import android.database.Cursor;
 import android.provider.ContactsContract;
 import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
 import android.widget.ListView;
 import android.widget.Toast;

 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;

 public class MainActivity extends AppCompatActivity {
     ListView contact;
     //private static List<String> contact_name =   Collections.synchronizedList( new ArrayList());
     // private static List<String> contact_number = Collections.synchronizedList( new ArrayList());
     private static ArrayList<String> contact_name = new ArrayList<String>();
     private static ArrayList<String> contact_number = new ArrayList<String>();

     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
         contact=(ListView)findViewById(R.id.listView);

         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));
                contact_name.add(name);

                if (cur.getInt(cur.getColumnIndex(
                    ContactsContract.Contacts.HAS_PHONE_NUMBER)) > 0) {
                       Cursor pCur = cr.query(
                        ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
                        ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
                        new String[]{id}, null);

                       while (pCur.moveToNext()) {
                          String phoneNo = pCur.getString(pCur.getColumnIndex(
                            ContactsContract.CommonDataKinds.Phone.NUMBER));
                          contact_number.add(phoneNo);

                          Toast.makeText(MainActivity.this, "Name: " + name
                            + ", Phone No: " + phoneNo, Toast.LENGTH_SHORT).show();
                       }
                       pCur.close();
                }
         }
         getContacts(contact_name, contact_number);
    }
}

public void getContacts(ArrayList<String> name ,ArrayList<String> no){
    String itemname[] = new String[name.size()];
    for(int j =0;j<name.size();j++){
        itemname[j] = name.get(j);
    }
    String number[] = new String[no.size()];
    for(int j =0;j<no.size();j++){
        number[j] = no.get(j);
    }
    Integer imgid[]= new Integer[no.size()];
    for (int j=0;j<no.size();j++) {
        imgid[j]= R.drawable.contact_logo;
    }
    CustomList customList=new CustomList(this,itemname,imgid,number);
    contact.setAdapter(customList);
 }
}

AndroidMainfest.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context="com.example.pc_6.contacts.MainActivity">

   <ListView android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:id="@+id/listView"
             android:layout_centerHorizontal="true"
             android:layout_alignParentTop="true" />

</RelativeLayout>

0 个答案:

没有答案