0

この質問を投稿して多くの調査を行った後。これらの画像のURLを含むjsonデータから画像をリストビューに追加します。次のコードを含めましたが、画像を読み込むために実装するコードが正確にわかりません。

      public class MainActivity extends ListActivity {



   // url to make request
    private static String url = "http://website/?json=get_recent_posts";

    // JSON Node names
   private static final String TAG_POSTS = "posts";
   private static final String TAG_ID = "id";
   private static final String TAG_TITLE = "title";
   private static final String TAG_DATE = "date";
   private static final String TAG_CONTENT = "content";
   private static final String TAG_AUTHOR = "author";
   private static final String TAG_NAME = "name";
   private static final String TAG_IMAGES = "images";
   private static final String TAG_THUMBNAIL = "thumbnail";

   // contacts JSONArray
    JSONArray posts = null;

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



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

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

    // getting JSON string from URL
    JSONObject json = jParser.getJSONFromUrl(url);

    try {
        // Getting Array of Contacts
        posts = json.getJSONArray(TAG_POSTS);

        // looping through All Contacts
        for(int i = 0; i < posts.length(); i++){
            JSONObject c = posts.getJSONObject(i);

            // Storing each json item in variable
            String id = c.getString(TAG_ID);
            String title = c.getString(TAG_TITLE);
            String date = c.getString(TAG_DATE);
            String content = c.getString(TAG_CONTENT);
            // to remove all <P> </p> and <br /> and replace with ""
             content = content.replace("<br />", "");
             content = content.replace("<p>", "");
             content = content.replace("</p>", "");

            // Author is agin  JSON Object
            JSONObject author = c.getJSONObject(TAG_AUTHOR);
            String name = author.getString(TAG_NAME);

            JSONObject images = c.getJSONObject(TAG_IMAGES);
            String thumbnail = images.getString(TAG_THUMBNAIL);
            // creating new HashMap
             HashMap<String, String> map = new HashMap<String,  String>();

            // adding each child node to HashMap key => value
            map.put(TAG_ID, id);
            map.put(TAG_TITLE, title);
            map.put( TAG_DATE, date);
            map.put( TAG_NAME, name);
            map.put( TAG_CONTENT, content);
            // adding HashList to ArrayList
            contactList.add(map);
        }   
    } catch (JSONException e) {
        e.printStackTrace();
    }


    /**
     * Updating parsed JSON data into ListView
     * */
    ListAdapter adapter = new SimpleAdapter(this, contactList,
            R.layout.list_row,
            new String[] { TAG_TITLE, TAG_DATE, TAG_NAME, TAG_CONTENT }, new int[] {
                    R.id.name, R.id.email,R.id.mobile, R.id.content });

    setListAdapter(adapter);

    // selecting single ListView item
    ListView lv = getListView();

    // Launching new screen on Selecting Single ListItem
    lv.setOnItemClickListener(new OnItemClickListener() {

        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            // getting values from selected ListItem
            String title = ((TextView)    view.findViewById(R.id.name)).getText().toString();
            String date = ((TextView) view.findViewById(R.id.email)).getText().toString();
            String name = ((TextView) view.findViewById(R.id.mobile)).getText().toString();
            String content = ((TextView)  view.findViewById(R.id.content)).getText().toString();

            // Starting new intent
            Intent in = new Intent(getApplicationContext(),  SampleDesp.class);
            in.putExtra(TAG_TITLE, title);
            in.putExtra(TAG_DATE, date);
            in.putExtra(TAG_NAME, name);
            in.putExtra(TAG_CONTENT, content);
            startActivity(in);

        }
    });

}

JSONデータ形式

    { "status": "ok","count": 10,"count_total": 429,"pages": 43,"posts": [ {       "id": 2512,"title": "Sansui Eq Sound Processor 2 Mic option in a single unit.","content": "<p>Sansui Eq Sound Processor 2 Mic option in a single unit For sale .<br />\nFor more details contact<br />\n9886673699</p>\n", "date": "2012-12-24 09:39:53",
"author": {"name": "sales" }, "attachments": [{  "images": {"thumbnail": {
"url": "http://site/wp-content/uploads/2012/12/372967-50x37.jpg"
 } } }}],.......
4

1 に答える 1