2017-02-04 58 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

相關問題