设置权限:<uses-permission android:name="android.permission.INTERNET"></uses-permission>
布局:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="aaaaa.okhttp.MainActivity" android:orientation="vertical"> <Button android:id="@+id/button" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="加载网络图片" /> <ImageView android:id="@+id/imgshow" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
Activity:
public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private Button button; private ImageView imgshow; private String path="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1507806564096&di=8f6c4ca350df6adc50c02fe697a1c92a&imgtype=0&src=http%3A%2F%2Fimg4q.duitang.com%2Fuploads%2Fitem%2F201504%2F08%2F20150408H2344_evGCs.jpeg"; private static final int SUCCESS=1; private static final int FALL=2; Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what){ case SUCCESS: byte[] Picture=(byte[])msg.obj; Bitmap bitmap = BitmapFactory.decodeByteArray(Picture, 0, Picture.length); imgshow.setImageBitmap(bitmap); break; case FALL: Toast.makeText(MainActivity.this,"网络异常",Toast.LENGTH_SHORT).show(); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView(){ button=(Button)findViewById(R.id.button); imgshow=(ImageView)findViewById(R.id.imgshow); button.setOnClickListener(this); } @Override public void onClick(View view) { switch (view.getId()){ case R.id.button: OkHttpClient okHttpClient = new OkHttpClient(); Request request = new Request.Builder().url(path).build(); Call call = okHttpClient.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { byte[] Picture_bt = response.body().bytes(); Message message = handler.obtainMessage(); message.obj=Picture_bt; message.what=SUCCESS; handler.sendMessage(message); } }); break; } }