2016-12-12 6 views
1

私は、Volley Libraryを使用してImageViewに画像をダウンロードしようとしています。
私は、Volley LibraryのレスポンスをImageViewに注入しますが、希望の結果が得られません。Volleyを使ってイメージをダウンロードするには?

私のコードを確認し、希望の結果を得るために変更を加えることができる場所を教えてください。

public class MainActivity extends AppCompatActivity { 
    Button response_click; 
    TextView text_response; 
    RequestQueue requestQueue; 
    ImageView image_download; 
    String server_url="https://upload.wikimedia.org/wikipedia/commons/thumb/c/c1/Starburst_in_NGC_4449_(captured_by_the_Hubble_Space_Telescope).jpg/1024px-Starburst_in_NGC_4449_(captured_by_the_Hubble_Space_Telescope).jpg"; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     response_click=(Button) findViewById(R.id.click_response); 
     text_response=(TextView) findViewById(R.id.text_response); 
     image_download=(ImageView)findViewById(R.id.image_download); 
    } 
    public void response_click(View view){ 
     requestQueue= Volley.newRequestQueue(getApplicationContext()); 
     StringRequest stringRequest=new StringRequest(Request.Method.POST, server_url, new Response.Listener<String>() { 
      @Override 
      public void onResponse(String response) { 
       image_download.setImageResource(Integer.parseInt(response)); 


      } 
     }, new Response.ErrorListener() { 
      @Override 
      public void onErrorResponse(VolleyError error) { 
       text_response.setText("ou got an error..."); 
      } 
     }); 

    } 
} 

答えて

4

間違ったタイプのリクエストを使用しています。 ImageRequestがあります。 Volley: Request an Image

ImageView mImageView; 
String url = "http://i.imgur.com/7spzG.png"; 
mImageView = (ImageView) findViewById(R.id.myImage); 
... 

// Retrieves an image specified by the URL, displays it in the UI. 
ImageRequest request = new ImageRequest(url, 
    new Response.Listener<Bitmap>() { 
     @Override 
     public void onResponse(Bitmap bitmap) { 
      mImageView.setImageBitmap(bitmap); 
     } 
    }, 0, 0, null, 
    new Response.ErrorListener() { 
     public void onErrorResponse(VolleyError error) { 
      mImageView.setImageResource(R.drawable.image_load_error); 
     } 
    }); 
// Access the RequestQueue through your singleton class. 
MySingleton.getInstance(this).addToRequestQueue(request); 

それとも、バレーボールの一部も、NetworkImageViewを使用することができます。

は、このドキュメントを参照してください。 How to use the legacy Apache HTTP client on Android Marshmallow?

ほとんどの人が提案するように、あなたは、ピカソhttp://square.github.io/picasso/

に更新することができた場合:しかし、GoogleはApacheの廃止によって、自分のボレーを推奨していませんが、一時、回避策があることが

を助言します

関連する問題