Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 強大的網絡通信框架--第三方開源--volley,開源--volley

強大的網絡通信框架--第三方開源--volley,開源--volley

編輯:關於android開發

強大的網絡通信框架--第三方開源--volley,開源--volley


Android Volley是Android平台上很好用的第三方開源網絡通信框架。使用簡答,功能強大。

Android Volley的庫jar包Volley.jar放出來供大家下載使用,下載連接地址:Volley下載

下載後解壓的volley.jar直接添加到項目的libs中就可以使用

使用代碼如下:

activity_main.xml:

1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:orientation="vertical" 6 tools:context="com.zzw.testvolley.MainActivity" > 7 8 <TextView 9 android:id="@+id/textView" 10 android:layout_width="match_parent" 11 android:layout_height="wrap_content" 12 android:layout_weight="1" 13 android:scrollbars="vertical" 14 android:singleLine="false" 15 android:text="@string/hello_world" /> 16 17 <ImageView 18 android:id="@+id/imageView" 19 android:layout_width="match_parent" 20 android:layout_height="wrap_content" 21 android:layout_weight="1" /> 22 23 </LinearLayout> activity_main.xml

MainActivity.java:

 1 package com.zzw.testvolley;
 2 
 3 import com.android.volley.RequestQueue;
 4 import com.android.volley.Response.ErrorListener;
 5 import com.android.volley.Response.Listener;
 6 import com.android.volley.VolleyError;
 7 import com.android.volley.toolbox.ImageRequest;
 8 import com.android.volley.toolbox.StringRequest;
 9 import com.android.volley.toolbox.Volley;
10 
11 import android.app.Activity;
12 import android.graphics.Bitmap;
13 import android.graphics.Bitmap.Config;
14 import android.os.Bundle;
15 import android.text.method.ScrollingMovementMethod;
16 import android.view.Menu;
17 import android.view.MenuItem;
18 import android.widget.ImageView;
19 import android.widget.TextView;
20 import android.widget.Toast;
21 
22 public class MainActivity extends Activity {
23 
24     @Override
25     protected void onCreate(Bundle savedInstanceState) {
26         super.onCreate(savedInstanceState);
27         setContentView(R.layout.activity_main);
28         TextView textView = (TextView) findViewById(R.id.textView);
29         //設置下拉
30         textView.setMovementMethod(ScrollingMovementMethod.getInstance());
31 
32         ImageView imageView = (ImageView) findViewById(R.id.imageView);
33 
34         useVolleyGetString("http://www.cnblogs.com/zzw1994", textView);
35         useVolleyGetImage("http://pic.cnblogs.com/avatar/822717/20151120000857.png", imageView);
36 
37     }
38 
39     private void useVolleyGetString(String url, TextView textView) {
40 
41         final TextView mTextView = textView;
42 
43         // 第一步,得到Volley請求
44         RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
45 
46         // 第二步,得到StringRequest
47         StringRequest stringRequest = new StringRequest(url, new Listener<String>() {
48             // 請求成功後返回的數據設置
49             @Override
50             public void onResponse(String response) {
51                 mTextView.setText(response);
52             }
53         }, new ErrorListener() {
54             // 請求失敗後返回的數據設置
55             @Override
56             public void onErrorResponse(VolleyError error) {
57                 Toast.makeText(getApplicationContext(), "加載失敗", 1).show();
58             }
59         });
60 
61         // 第三步,添加到requestQueue
62         requestQueue.add(stringRequest);
63     }
64 
65     /*
66      * 加載圖片建議使用Glide 
67      * Glide:http://www.cnblogs.com/zzw1994/p/4978312.html
68      */
69 
70     private void useVolleyGetImage(String url, ImageView imageView) {
71 
72         final ImageView mImageView = imageView;
73 
74         // 第一步,得到Volley請求
75         RequestQueue requestQuene = Volley.newRequestQueue(getApplicationContext());
76 
77         // 第二步,得到ImageRequest
78         ImageRequest imageRequest = new ImageRequest(url,
79                 // 請求成功後返回的數據設置
80                 new Listener<Bitmap>() {
81                     @Override
82                     public void onResponse(Bitmap response) {
83                         mImageView.setImageBitmap(response);
84                     }
85                 }, 0, 0, Config.RGB_565, new ErrorListener() {
86                     // 請求失敗後返回的數據設置
87                     @Override
88                     public void onErrorResponse(VolleyError error) {
89                         Toast.makeText(getApplicationContext(), "加載失敗", 1).show();
90                     }
91                 });
92 
93         // 第三步,添加到requestQuene
94         requestQuene.add(imageRequest);
95     }
96 }

最後不要忘記在AndroidManifest.xml中添加權限:

1 <uses-permission android:name="android.permission.INTERNET" />

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved