Android Volley是Android平台上很好用的第三方开源网络通信框架。使用简答,功能强大。
Android Volley的库jar包Volley.ja下载连接地址:Volley下载
下载后解压的volley.jar直接添加到项目的libs中就可以使用
images/loading.gif' data-original="http://images2015.cnblogs.com/blog/822717/201511/822717-20151123154841342-1989956566.png" />
使用代码如下:
activity_main.
1 <LinearLayout ="http://schemas.android.com/apk/res/android" 2 ="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 <ImageView18 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.
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 @Override25 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 // 第二步,得到StringRequest47 StringRequest stringRequest = new StringRequest(url, new Listener<String>() {48 // 请求成功后返回的数据设置49 @Override50 public void onResponse(String response) {51 mTextView.setText(response);52 }53 }, new ErrorListener() {54 // 请求失败后返回的数据设置55 @Override56 public void onErrorResponse(VolleyError error) {57 Toast.makeText(getApplicationContext(), "加载失败", 1).show();58 }59 });60 61 // 第三步,添加到requestQueue62 requestQueue.add(stringRequest);63 }64 65 /*66 * 加载图片建议使用Glide 67 * Glide:http://www.cnblogs.com/zzw1994/p/4978312.html68 */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 // 第二步,得到ImageRequest78 ImageRequest imageRequest = new ImageRequest(url,79 // 请求成功后返回的数据设置80 new Listener<Bitmap>() {81 @Override82 public void onResponse(Bitmap response) {83 mImageView.setImageBitmap(response);84 }85 }, 0, 0, Config.RGB_565, new ErrorListener() {86 // 请求失败后返回的数据设置87 @Override88 public void onErrorResponse(VolleyError error) {89 Toast.makeText(getApplicationContext(), "加载失败", 1).show();90 }91 });92 93 // 第三步,添加到requestQuene94 requestQuene.add(imageRequest);95 }96 }
最后不要忘记在AndroidManifest.
1 <uses-permission android:name="android.permission.INTE.NET" />
Android Volley的技术文档主页:https://developer.android.com/training/volley/index.html
Android Volley的开源代码库官方主页:https://android.googlesource.com/platform/frameworks/volley
原标题:强大的网络通信框架(实现缓存)
关键词:网络