Android: как отобразить результат JSON Post - PullRequest
1 голос
/ 02 марта 2012

У меня проблемы с получением результата отображения из JSON.

Userfunctions.java
Чтобы получить идентификатор и затем опубликовать его в PHP.

private static String imageURL = "http://xxx/imageDisplay.php";
public JSONObject imageDisplay(String id){
    // Building Parameters
    List<NameValuePair> params = new ArrayList<NameValuePair>();
    params.add(new BasicNameValuePair("id", id));
    JSONObject json = jsonParser.getJSONFromUrl(imageURL, params);
    return json;
}

PictureActivity.java

import org.example.veniew.library.UserFunctions; 
public class PictureActivity extends Activity {

private static final String TAG_ID = "ID";

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.grid_layout);

    Intent picAct = getIntent();
    //get ID from previos activity
    String id = picAct.getStringExtra(TAG_ID);

    UserFunctions userFunction = new UserFunctions();
    JSONObject json = userFunction.imageDisplay(id);

    try {
        JSONObject jsonResponse = new JSONObject(new String());
        JSONArray imagelink = jsonResponse.getJSONArray("imagelink");

        String link = imagelink.toString();
        Toast.makeText(this, link, Toast.LENGTH_LONG).show();
        //How to TOAST imgPath?

    }catch (JSONException e) {
        e.printStackTrace();
    }
}

JSON из imageDisplay.php, если ID = 1

{"imgDisplay":[{"imgID":"1","imgPath":"imgFolder\/Penguins.jpg","ID":"1"},{"imgID":"2","imgPath":"imgFolder\/Jellyfish.jpg","ID":"1"},{"imgID":"4","imgPath":"imgFolder\/Koala.jpg","ID":"1"}]}

Как мне сделать тост, чтобы отобразить результат просто "imgPath" ??

Thankyou.

1 Ответ

1 голос
/ 02 марта 2012

Я не знаю, как logcat показывает эту информацию

В любом случае, вот решение

  JSONObject json = userFunction.imageDisplay(id);
  try { 


     JSONArray imagelink = json.getJSONArray("imgDisplay");

     String firstlink=imagelink.getJSONObject(0).getString("imgPath");

     String secondlink=imagelink.getJSONObject(1).getString("imgPath"); 


    String link = imagelink.toString();
     Toast.makeText(this, firstlink, Toast.LENGTH_LONG).show();
     //How to TOAST imgPath? 
  }catch (JSONException e) {
     e.printStackTrace();     
  }

Я посчитал, что у вас есть только эти данные, если у вас больше, чем вы должны использовать цикл.

...