0

나는 안드로이드에 새로운입니다. 여기에 연락처를 읽고 CSV 파일 형식의 파일에 저장하는 등의 앱을 만듭니다. 연락처를 읽는 데 오랜 시간이 걸립니다. 나는 내 코드에서 진행 막대를 삽입 할 수있는 것을 혼란 스러워요 details.Now 연락처를 쓰고 파일까지 진행 표시 줄을 사용할 필요가 오전 시간 ..안드로이드에서 내 애플 리케이션에 진행률 막대를 삽입하는 방법

내 코딩이 ...

입니다 의미 것 말이다
private String getPrimaryNumber(long _id) { 
      String primaryNumber = null; 
      try { 
       Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
         new String[]{Phone.NUMBER, Phone.TYPE}, 
         ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ _id, // We need to add more selection for phone type 
         null, 
         null); 
       if(cursor != null) { 
        while(cursor.moveToNext()){ 
         switch(cursor.getInt(cursor.getColumnIndex(Phone.TYPE))){ 
          case Phone.TYPE_MOBILE : 
           primaryNumber = cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); 
           break; 
          case Phone.TYPE_HOME : 
           primaryNumber = cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); 
           break; 
          case Phone.TYPE_WORK : 
           primaryNumber = cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); 
           break; 
          case Phone.TYPE_OTHER : 
         } 
         if(primaryNumber != null) 
          break; 
        } 
       }  
      } catch (Exception e) { 
       Log.i("test", "Exception " + e.toString()); 
      } finally { 
       if(cursor != null) { 
        cursor.deactivate(); 
        cursor.close();    
       } 
      } 
      return primaryNumber; 
     } 

휴대 전화에서 연락처를 읽는 코드입니다. 진행률 표시 줄을 추가 할 수있는 코드는 ... 누군가에게 도움을주십시오 .. 미리 감사드립니다.

+0

은 그냥 하나의 문자열을 반환 더 많은 시간을 갖지해야합니까? – NaserShaikh

+0

이 작업의 진행률 표시 줄은 불필요한 것으로 보입니다. –

+0

@Naser 답장을 보내 주셔서 감사합니다 .. 200 연락처를 읽으려면 .. 시간이 좀 걸리나요? 그래서 진행 막대를 구현해야했습니다. – rajesh

답변

0

이 시도 :

protected Void doInBackground(Void... params) { 
     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)); 
      if (Integer 
        .parseInt(cur.getString(cur 
          .getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) { 
       System.out.println("name : " + name + ", ID : " + id); 
       // Result=Result+ "Name: "+name; 
       // get the phone number 
       Cursor pCur = cr.query(
         ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
         null, 
         ContactsContract.CommonDataKinds.Phone.CONTACT_ID 
           + " = ?", new String[] { id }, null); 
       while (pCur.moveToNext()) { 
        String phone = pCur 
          .getString(pCur 
            .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); 

        publishProgress("Name:" + name + ",Number:" + phone 
          + "\n"); 
       } 
       pCur.close(); 
      } 
     } 
    } 
    return null; 
} 
+0

회신 해 주셔서 감사합니다. – rajesh