2017-02-04 67 views
-4

我正在创建一个Android应用程序,它将使用已在手机上注册的联系人,但注册了多个联系人的用户可能会导致APP失去性能。所以我问过如何最好地获得所有注册联系人的姓名,身份证号码和电话号码,然后将它们保存到数据库中。这将是运行应用程序的第一步。使用Android联系人的最佳方式是什么?

过了一段时间,有必要进行比较以检查更新或删除。我想知道如何最好地做到这一点。

APP的工作方式与Whatsapp类似,但它不是聊天应用程序。

如果您知道一个教程展示WhatsApp如何完成或者创建WhatsApp模板,它也将对我有所帮助,因为我会问一些问题,因为我会尝试使用与WhatsApp一样使用现有联系人的相同方式。

谢谢。

+0

请编辑问题的标题,你是问有关联系人,日历没有。 – Dario

+0

你为什么要大写'app'?这不是一个缩写。 –

+0

对不起,我没有在标题中看到错误的字词。 – MateusFMello

回答

0

下面的代码是让手机通讯录..

class LoadContactsAyscn extends AsyncTask<Void, Void, ArrayList<AllContact>> { 
    ProgressDialog pd; 
    ArrayList<AllContact> contacts; 

    @Override 
    protected void onPreExecute() { 
     // TODO Auto-generated method stub 
     super.onPreExecute(); 

     pd = ProgressDialog.show(getActivity(), "Loading Contacts", 
       "Please Wait"); 
    } 

    @Override 
    protected ArrayList<AllContact> doInBackground(Void... params) { 
     // TODO Auto-generated method stub 
     ArrayList<AllContact> contacts = new ArrayList<AllContact>(); 

     Cursor c = getActivity().getContentResolver().query(
       ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, 
       null, null, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " ASC"); 
     while (c.moveToNext()) { 

      String contactName = c.getString(c.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); 
      String phNumber = c.getString(c.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); 
      AllContact allcontacts = new AllContact(); 
      allcontacts.setName(contactName); 
      allcontacts.setNumber(phNumber); 

      contacts.add(allcontacts); 

     } 
     c.close(); 

     return contacts; 
    } 

    @Override 
    protected void onPostExecute(ArrayList<AllContact> contacts) { 
     // TODO Auto-generated method stub 
     super.onPostExecute(contacts); 

     pd.cancel(); 
     adapter = new MyCustomAdapter(getActivity(), R.layout.select_text_layout, contacts); 
     list.setAdapter(adapter); 


    } 


} 
+0

我正在使用类似这样的东西,但是当它有很多联系人时,应用程序在执行过程中崩溃,然后再次运行,但它需要一分钟才能发生,我可以部分执行吗? – MateusFMello

相关问题