国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android使用okHttp(get方式)下載圖片

2019-12-12 05:40:26
字體:
供稿:網(wǎng)友

一、首先下載Jar包

https://github.com/square/okhttp 

如果使用android studio只需要加入依賴compile 'com.squareup.okhttp3:okhttp:3.2.0'  

二、下載一張圖片并顯示
使用的是hanlder的方式 

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, "請求超時(shí)", Toast.LENGTH_SHORT).show();   break;  } } }; /** * 初始化 組件 */ private void initView() { mIv = (ImageView) findViewById(R.id.main_iv); } /** * 點(diǎn)擊獲取圖片 */ 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();   //獲取響應(yīng)體   ResponseBody body = client.newCall(request).execute().body();   //獲取流   InputStream in = body.byteStream();   //轉(zhuǎn)化為bitmap   Bitmap bitmap = BitmapFactory.decodeStream(in);   //使用Hanlder發(fā)送消息   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(); }}

也可以把網(wǎng)絡(luò)請求寫為一個(gè)工具類, 

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 { //設(shè)置 請求 Request request = new Request.Builder()  .url(url).build(); //獲取行響應(yīng) InputStream in = client.newCall(request).execute().body().byteStream(); return in; } /** * 返回字符串 * @param url * @return 返回字符串 * @throws IOException */ public String getString(String url) throws IOException { //設(shè)置 請求 Request request = new Request.Builder()  .url(url).build(); //獲取行響應(yīng) Response response = client.newCall(request).execute(); return response.body().string(); }}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南郑县| 庆安县| 怀安县| 长白| 厦门市| 德江县| 濮阳县| 攀枝花市| 安康市| 松潘县| 西宁市| 塔河县| 建瓯市| 泾阳县| 鄂尔多斯市| 大理市| 扬中市| 高要市| 海口市| 蓬溪县| 子长县| 阳信县| 德江县| 泾川县| 镇远县| 百色市| 开原市| 志丹县| 乐亭县| 阳江市| 泸定县| 出国| 定南县| 会泽县| 临城县| 义乌市| 呼伦贝尔市| 贵德县| 连平县| 安丘市| 瑞安市|