2014-12-06 5 views
0

내 연락처가 서버에 전송되어이 번호가 내 데이터베이스에 포함되어 있는지 확인하려고합니다. 데이터베이스에 포함 된 모든 전화 번호와 전화 번호 목록이 마침내 목록보기에 표시되어야합니다.'for'문이 반복되지 않습니다 (응용 프로그램에 문의하십시오)

각 루프의를 사용하는 동안 ('(문자열 phoneNumberString을 위해 : AA)') 나는이 경고를 얻을 : '에 대한'문이없는 루프 ...

가 어떻게이 문제를 해결할 수 있는가?

public class AllUserActivity extends ListActivity { 

// Progress Dialog 
private ProgressDialog pDialog; 

// Creating JSON Parser object 
JSONParser jParser = new JSONParser(); 

ArrayList<HashMap<String, String>> usersList; 

// url to get all users list 
private static String url_all_user = "http://.../.../.../get_user.php"; 

// JSON Node names 
private static final String TAG_SUCCESS = "success"; 
private static final String TAG_USER = "user"; 
private static final String TAG_PHONE = "phone"; 
private static final String TAG_UID = "uid"; 
private static final String TAG_USERNAME = "username"; 

String phoneNumber; 

ArrayList<String> aa= new ArrayList<String>(); 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.all_user); 

    // Hashmap for ListView 
    usersList = new ArrayList<HashMap<String, String>>(); 

    // Loading users in Background Thread 
    new LoadAllUsers().execute(); 

    getNumber(this.getContentResolver()); 

} 

// get all numbers of contacts 
public void getNumber(ContentResolver cr) 
{ 
    Cursor phones = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null, null); 
    // use the cursor to access the contacts 
    while (phones.moveToNext()) 
    { 
     phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); 
     String phoneNumberString = phoneNumber.replaceAll("\\D+",""); 

     // get phone number 
     System.out.println(".................."+phoneNumberString); 
     aa.add(phoneNumberString); 
    } 
    phones.close();// close cursor 
} 

class LoadAllUsers extends AsyncTask<String, String, String> { 

    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 
     pDialog = new ProgressDialog(AllUserActivity.this); 
     pDialog.setMessage("Loading users. Please wait..."); 
     pDialog.setIndeterminate(false); 
     pDialog.setCancelable(false); 
     pDialog.show(); 
    } 

    protected String doInBackground(String... args) { 

     ArrayList<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(); 

      for (String phoneNumberString : aa){ 
      params.add(new BasicNameValuePair("phone[]", phoneNumberString)); 

      // getting JSON string from URL 
      JSONObject json = jParser.makeHttpRequest(url_all_user, "GET", params); 

      // Check your log cat for JSON response 
      Log.d("All users: ", json.toString()); 

      try { 
       // Checking for SUCCESS TAG 
       int success = json.getInt(TAG_SUCCESS); 

       if (success == 1) { 
        JSONArray users = json.getJSONArray(TAG_USER); 

        // looping through all contacts 
        for (int i = 0; i < users.length(); i++) { 
         JSONObject c = users.getJSONObject(i); 

         // Storing each json item in variable 
         String uid = c.getString(TAG_UID); 
         String phone = c.getString(TAG_PHONE); 
         String username = c.getString(TAG_USERNAME); 

         // creating new HashMap 
         HashMap<String, String> map = new HashMap<String, String>(); 

         // adding each child node to HashMap key => value 
         map.put(TAG_UID, uid); 
         map.put(TAG_PHONE, phone); 
         map.put(TAG_USERNAME, username); 

         // adding HashList to ArrayList 
         usersList.add(map); 
        } 
       } 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
      return null; 
     } 
     return null; 
    } 

    // After completing background task Dismiss the progress dialog 

    protected void onPostExecute(String file_url) { 
     // dismiss the dialog after getting all users 
     pDialog.dismiss(); 
     // updating UI from Background Thread 
     runOnUiThread(new Runnable() { 
      public void run() { 

       // Updating parsed JSON data into ListView 
       ListAdapter adapter = new SimpleAdapter(
         AllUserActivity.this, usersList, 
         R.layout.list_users, new String[] { TAG_PHONE, 
         TAG_USERNAME}, 
         new int[] { R.id.phone, R.id.name }); 
       // updating listview 
       setListAdapter(adapter); 
      } 
     }); 
    }} 
    } 

답변

9

당신은 첫 번째 요소를 통과하고 doInBackground() 호출에서 반환됩니다 의미 루프에 대한 당신의 마지막에 return 문이있다.

+0

감사합니다. 경고가 사라졌지만 왜 내 목록보기가 여전히 비어 있는지 알 수 없습니다 ... Logcat에 따르면 JSON 응답이 없습니다. 뭐가 문제 야? – Timitrov