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

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

android 網(wǎng)絡(luò)請(qǐng)求庫(kù)volley方法詳解

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

使用volley進(jìn)行網(wǎng)絡(luò)請(qǐng)求:需先將volley包導(dǎo)入androidstudio中

File下的Project Structrue,點(diǎn)加號(hào)導(dǎo)包

 

volley網(wǎng)絡(luò)請(qǐng)求步驟:

      1. 創(chuàng)建請(qǐng)求隊(duì)列       RequestQueue queue = Volley.newRequestQueue(this);

      2.創(chuàng)建請(qǐng)求對(duì)象(3種)    

                       StringRequest request = new StringRequest(“請(qǐng)求方法”,“請(qǐng)求的網(wǎng)絡(luò)地址”,“成功的網(wǎng)絡(luò)回調(diào)”,“失敗的網(wǎng)絡(luò)回調(diào)”);

                       ImageRequest request = new ImageRequest(“圖片路徑”,“成功的回調(diào)函數(shù)”,“圖片寬度”,“圖片高度”,“圖片的顏色屬性”,“失敗的網(wǎng)絡(luò)回調(diào)”);

                       Jsonrequest request = new Jsonrequest();

      3.把請(qǐng)求對(duì)象放入請(qǐng)求隊(duì)列     queue.add(request);

 // 注銷請(qǐng)求:重寫onstop方法 @Override  protected void onStop() {   super.onStop();   /*取消當(dāng)前請(qǐng)求隊(duì)列的所有請(qǐng)求*/   queue.cancelAll(this);   /*取消當(dāng)前請(qǐng)求隊(duì)列tag為get的請(qǐng)求*/   queue.cancelAll("get");   /*取消當(dāng)前請(qǐng)求隊(duì)列tag為post的請(qǐng)求*/   queue.cancelAll("post");  }//設(shè)置當(dāng)前請(qǐng)求的優(yōu)先級(jí):重寫getPriority方法@Overridepublic Priority getPriority() { return Priority.LOW;}//設(shè)置請(qǐng)求頭:重寫GetHeader方法@Overridepublic Map<String, String> getHeaders() throws AuthFailureError { Map<String,String> map = new HashMap<String, String>(); map.put("apikey","fc642e216cd19906f642ee930ce28174"); return map;}//傳遞參數(shù):重寫GetParams方法@Overrideprotected Map<String, String> getParams() throws AuthFailureError { Map<String,String> map = new HashMap<String, String>(); map.put("num","10"); map.put("page","1"); map.put("word","%E6%9E%97%E4%B8%B9"); return map;}

代碼部分:

xml文件:

<?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" android:orientation="vertical" tools:context="com.jredu.helloworld.activity.VolleyActivity"> <WebView  android:id="@+id/volleyWebView"  android:layout_width="match_parent"  android:layout_height="300dp"> </WebView> <ImageView  android:id="@+id/img"  android:layout_width="match_parent"  android:layout_height="wrap_content" /> <Button  android:id="@+id/volleyButton"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:layout_marginTop="5dp"  android:textAllCaps="false"  android:text="Volley"/> <Button  android:id="@+id/imgButton"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:layout_marginTop="5dp"  android:textAllCaps="false"  android:text="Volley獲取圖片"/></LinearLayout>

  activity文件:

package com.jredu.helloworld.activity;import android.graphics.Bitmap;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.webkit.WebView;import android.widget.Button;import android.widget.ImageView;import com.android.volley.AuthFailureError;import com.android.volley.NetworkResponse;import com.android.volley.ParseError;import com.android.volley.Request;import com.android.volley.RequestQueue;import com.android.volley.Response;import com.android.volley.VolleyError;import com.android.volley.toolbox.HttpHeaderParser;import com.android.volley.toolbox.ImageRequest;import com.android.volley.toolbox.StringRequest;import com.android.volley.toolbox.Volley;import com.jredu.helloworld.R;import java.io.UnsupportedEncodingException;import java.util.HashMap;import java.util.Map;public class VolleyActivity extends AppCompatActivity { WebView webView; Button button; Button imgButton; ImageView img; RequestQueue queue = null; @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_volley);  queue = Volley.newRequestQueue(this);  webView = (WebView) findViewById(R.id.volleyWebView);  img = (ImageView) findViewById(R.id.img);  button = (Button) findViewById(R.id.volleyButton);  button.setOnClickListener(new View.OnClickListener() {   @Override   public void onClick(View v) {    doStringVolley2();    doStringVolley();   }  });  imgButton = (Button) findViewById(R.id.imgButton);  imgButton.setOnClickListener(new View.OnClickListener() {   @Override   public void onClick(View v) {    GetImg();   }  }); } /*get方法*/ public void doStringVolley(){  /*創(chuàng)建請(qǐng)求隊(duì)列*/  //RequestQueue queue = Volley.newRequestQueue(this);  /*創(chuàng)建請(qǐng)求對(duì)象*/  StringRequest request = new StringRequest(    Request.Method.GET,    "http://apis.baidu.com/txapi/tiyu/tiyu?num=10&page=1&word=%E6%9E%97%E4%B8%B9",    /*"http://www.baidu.com",*/    new Response.Listener<String>() {     @Override     public void onResponse(String response) {      String s = response;      webView.getSettings().setDefaultTextEncodingName("utf-8");      webView.getSettings().setJavaScriptEnabled(true);      webView.loadDataWithBaseURL(null,s,"text/html","utf-8",null);     }    },    new Response.ErrorListener() {     @Override     public void onErrorResponse(VolleyError error) {      webView.loadDataWithBaseURL(null,"網(wǎng)絡(luò)連接失敗!!!","text/html","utf-8",null);     }    }  ){   /*設(shè)置請(qǐng)求頭*/   @Override   public Map<String, String> getHeaders() throws AuthFailureError {    Map<String,String> map = new HashMap<String, String>();    map.put("apikey","fc642e216cd19906f642ee930ce28174");    return map;   }   /*解析網(wǎng)絡(luò)請(qǐng)求結(jié)果的方法*/   @Override   protected Response<String> parseNetworkResponse(     NetworkResponse response) {    try {     String jsonObject = new String(       new String(response.data, "UTF-8"));     return  Response.success(jsonObject, HttpHeaderParser.parseCacheHeaders(response));    } catch (UnsupportedEncodingException e) {     return Response.error(new ParseError(e));    } catch (Exception je) {     return Response.error(new ParseError(je));    }   }   /*設(shè)置當(dāng)前請(qǐng)求的優(yōu)先級(jí)*/   @Override   public Priority getPriority() {    return Priority.LOW;   }  };  request.setTag("get");  /*把請(qǐng)求對(duì)象放入請(qǐng)求隊(duì)列*/  queue.add(request); } /*post方法*/ public void doStringVolley2(){  /*創(chuàng)建請(qǐng)求隊(duì)列*/  //RequestQueue queue = Volley.newRequestQueue(this);  /*創(chuàng)建請(qǐng)求對(duì)象*/  StringRequest request = new StringRequest(    Request.Method.POST,    "http://www.baidu.com",    new Response.Listener<String>() {     @Override     public void onResponse(String response) {      String s = response;      webView.getSettings().setDefaultTextEncodingName("utf-8");      webView.getSettings().setJavaScriptEnabled(true);      webView.loadDataWithBaseURL(null,s,"text/html","utf-8",null);     }    },    new Response.ErrorListener() {     @Override     public void onErrorResponse(VolleyError error) {      webView.loadDataWithBaseURL(null,"網(wǎng)絡(luò)連接失敗!!!","text/html","utf-8",null);     }    }  ){   /*重寫params方法寫參數(shù)*/   @Override   protected Map<String, String> getParams() throws AuthFailureError {    Map<String,String> map = new HashMap<String, String>();    map.put("num","10");    map.put("page","1");    map.put("word","%E6%9E%97%E4%B8%B9");    return map;   }   /*設(shè)置請(qǐng)求對(duì)象優(yōu)先級(jí)*/   @Override   public Priority getPriority() {    return Priority.HIGH;   }  };  request.setTag("post");  /*把請(qǐng)求對(duì)象放入請(qǐng)求隊(duì)列*/  queue.add(request); } /*獲取圖片*/ public void GetImg(){  ImageRequest request = new ImageRequest(    "https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png",    new Response.Listener<Bitmap>() {     @Override     public void onResponse(Bitmap response) {      img.setImageBitmap(response);     }    },    5000,    5000,    Bitmap.Config.ARGB_8888,    new Response.ErrorListener() {     @Override     public void onErrorResponse(VolleyError error) {      img.setImageResource(R.drawable.first5);     }    }  );  queue.add(request); } /*重寫onStop方法,用來注銷請(qǐng)求*/ @Override protected void onStop() {  super.onStop();  /*取消當(dāng)前請(qǐng)求隊(duì)列的所有請(qǐng)求*/  queue.cancelAll(this);  /*取消當(dāng)前請(qǐng)求隊(duì)列tag為get的請(qǐng)求*/  queue.cancelAll("get");  /*取消當(dāng)前請(qǐng)求隊(duì)列tag為post的請(qǐng)求*/  queue.cancelAll("post"); }}

以上就是android 網(wǎng)絡(luò)請(qǐng)求庫(kù)volley方法 的資料整理,后續(xù)繼續(xù)補(bǔ)充相關(guān)資料,謝謝大家對(duì)本站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 元朗区| 滨州市| 文山县| 和静县| 云霄县| 香河县| 东乌珠穆沁旗| 阳谷县| 故城县| 浮梁县| 台北县| 周宁县| 朝阳市| 喀什市| 新营市| 芜湖县| 大化| 界首市| 华坪县| 镇坪县| 安庆市| 洪洞县| 岗巴县| 晋宁县| 漯河市| 临潭县| 揭西县| 横山县| 乌海市| 大荔县| 湟中县| 十堰市| 玛沁县| 鄂尔多斯市| 沙湾县| 黎城县| 墨竹工卡县| 吴川市| 句容市| 内江市| 晋城|