-1

JSON を使用してユーザー データを取得しており、画像の URL も取得していますが、URL の代わりに画像を表示するにはどうすればよいですか? 現在、画像からの URL のみが表示されます。

コードは次のとおりです。

StringBuilder tweetResultBuilder = new StringBuilder();
            try {
                //get JSONObject from result
                JSONObject resultObject = new JSONObject(result);
                //get JSONArray contained within the JSONObject retrieved - "results"
                JSONArray tweetArray = resultObject.getJSONArray("results");
                //loop through each item in the tweet array
                for (int t=0; t<tweetArray.length(); t++) {
                    //each item is a JSONObject
                    JSONObject tweetObject = tweetArray.getJSONObject(t);
                //get the username and text content for each tweet
                tweetResultBuilder.append(tweetObject.getString("from_user")+": ");

           tweetResultBuilder.append(tweetObject.get("profile_image_url")+"\n");

                tweetResultBuilder.append(tweetObject.get("text")+"\n\n");
            }
        }
4

3 に答える 3

3

最初にイメージをダウンロードしてキャッシュする必要があります。この記事Displaying Bitmaps Efficientlyを読み、サンプル アプリケーションを確認してください。

URLから画像を表示する短い方法:

new DownloadImageTask((ImageView) findViewById(R.id.imageView1))
                .execute("http://java.sogeti.nl/JavaBlog/wp-content/uploads/2009/04/android_icon_256.png");




private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
    ImageView bmImage;

    public DownloadImageTask(ImageView bmImage) {
        this.bmImage = bmImage;
    }

    protected Bitmap doInBackground(String... urls) {
        String urldisplay = urls[0];
        Bitmap mIcon11 = null;
        try {
            InputStream in = new java.net.URL(urldisplay).openStream();
            mIcon11 = BitmapFactory.decodeStream(in);
        } catch (Exception e) {
            Log.e("Error", e.getMessage());
            e.printStackTrace();
        }
        return mIcon11;
    }

    protected void onPostExecute(Bitmap result) {
        bmImage.setImageBitmap(result);
    }
}
于 2012-12-04T12:25:55.783 に答える
0

これを試してみてください

try {
   ImageView i = (ImageView)findViewById(R.id.image);
   Bitmap bitmap = BitmapFactory.decodeStream((InputStream)new URL(imageUrl).getContent());
   i.setImageBitmap(bitmap); 
} catch (MalformedURLException e) {
   e.printStackTrace();
} catch (IOException e) {
  e.printStackTrace();
}
于 2012-12-04T12:27:19.250 に答える
0

取得しているURLから画像をダウンロードする必要があります。

そのためには、次のことを行う必要があります。

ImageView my_image = (ImageView) findViewById(R.id.my_imageView);        
        String image_url = "http://www.clker.com/cliparts/1/d/7/e/12570918991185627521Ramiras_Earth_small_icon.svg.med.png";
        Bitmap bm = getImageFromServer(image_url);
        my_image.setImageBitmap(bm);

次の関数を呼び出して画像をダウンロードします。

private Bitmap getImageFromServer(String image_url) {
        Bitmap bm = null;
        try {
            URL aURL = new URL(image_url);
            URLConnection conn = aURL.openConnection();
            conn.connect();
            InputStream is = conn.getInputStream();
            BufferedInputStream bis = new BufferedInputStream(is);
            bm = BitmapFactory.decodeStream(bis);
            bis.close();
            is.close();
        } catch (IOException e) {
            Log.e("DEBUGTAG", "Remtoe Image Exception", e);
        }
        return bm;
    }

それでおしまい。これが何らかの形でお役に立てば幸いです。

ありがとう。

于 2012-12-04T12:33:38.733 に答える