Androidはok Httpを使って画像をダウンロードします。


まずJarパッケージをダウンロードします。
https://github.com/square/okhttp 
Android studioを使うなら、comple'comple.squareup.ok http 3:ok http:3..0'に頼るだけです。  
二、写真をダウンロードして表示する
使用するのはhanderの方式です。 

package com.liunan.okhttpdemo2;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;

import java.io.IOException;
import java.io.InputStream;

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.ResponseBody;

public class MainActivity extends AppCompatActivity {


 private static final int ERROR = 1;
 private static final int SUCCESS = 2 ;
 private String url = "http://192.168.1.102:8080/img/a.jpg";
 private ImageView mIv;

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

 }

 private Handler handler = new Handler(){
 @Override
 public void handleMessage(Message msg) {
  switch (msg.what){
  case SUCCESS:
   mIv.setImageBitmap((Bitmap) msg.obj);
   break;

  case ERROR:

   Toast.makeText(MainActivity.this, "    ", Toast.LENGTH_SHORT).show();

   break;
  }
 }
 };

 /**
 *       
 */
 private void initView() {

 mIv = (ImageView) findViewById(R.id.main_iv);
 }


 /**
 *       
 */
 public void getPic(View v){


 new Thread(){
  @Override
  public void run() {
  //  okHttp  get  ,

  try {
   OkHttpClient client = new OkHttpClient();

   //      
   Request request = new Request.Builder().url(url).build();

   //     

   ResponseBody body = client.newCall(request).execute().body();

   //   
   InputStream in = body.byteStream();
   //   bitmap
   Bitmap bitmap = BitmapFactory.decodeStream(in);

   //  Hanlder    
   Message msg = Message.obtain();

   msg.what = SUCCESS;
   msg.obj = bitmap;

   handler.sendMessage(msg);



  } catch (IOException e) {
   e.printStackTrace();
   //  
   Message msg = Message.obtain();
   msg.what = ERROR;

   handler.sendMessage(msg);
  }


  }
 }.start();
 }


}

ネットワーク要求をツールとして書いてもいいです。 

package com.liunan.okhttpdemo2;

import java.io.IOException;
import java.io.InputStream;

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

/**
 * Created by    on 2016-03-27.
 */
public class OkHttpUtils {

 OkHttpClient client = new OkHttpClient();

 /**
 *    
 * @param url     
 * @return    
 */
 public InputStream getInpuStream(String url) throws IOException {
 //     
 Request request = new Request.Builder()
  .url(url).build();


 //     

 InputStream in = client.newCall(request).execute().body().byteStream();

 return in;


 }

 /**
 *      
 * @param url
 * @return      
 * @throws IOException
 */
 public String getString(String url) throws IOException {
 //     
 Request request = new Request.Builder()
  .url(url).build();


 //     

 Response response = client.newCall(request).execute();

 return response.body().string();


 }

}

以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。