Android Volley是Android平台上很好用的第三方开源网络通信框架。使用简答,功能强大。
一、安装jar包
Android Volley的库jar包Volley.jar放出来供下载使用,下载连接地址点击打开链接 直接把此包放在安卓工程libs目录下即可。
二、layout布局文件
<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:orientation="vertical"
tools:context="com.hxzy.volley.MainActivity" >
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" />
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:scrollbars="vertical"
android:singleLine="false" />
</LinearLayout>
三、Java代码
package com.hxzy.volley;
import com.android.volley.RequestQueue;
import com.android.volley.Response.ErrorListener;
import com.android.volley.Response.Listener;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.ImageRequest;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.media.ImageReader;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setImageView();
setTextView();
}
private void setTextView() {
final TextView textView = (TextView) findViewById(R.id.text);
// 设置textView可以滚动
textView.setMovementMethod(ScrollingMovementMethod.getInstance());
// 第一步:得到Volley请求队列
RequestQueue queue = Volley.newRequestQueue(this);
// 第二步:new 请求对象stringRequest
String url = "http://www.baidu.com";
StringRequest stringRequest = new StringRequest(url,
new Listener<String>() {
// 返回成功后回调
@Override
public void onResponse(String response) {
textView.setText(response);
}
},
new ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), "错误", 0).show();
}
});
// 第三步:添加请求队列,启动
queue.add(stringRequest);
}
private void setImageView() {
final ImageView image = (ImageView) findViewById(R.id.image);
RequestQueue queue = Volley.newRequestQueue(this);
String url = "http://a.hiphotos.baidu.com/image/pic/item/8d5494eef01f3a29dd2a44c09b25bc315d607cda.jpg";
ImageRequest imageRequest = new ImageRequest(url, new Listener<Bitmap>() {
@Override
public void onResponse(Bitmap response) {
image.setImageBitmap(response);
}
}, 0, 0, Config.RGB_565, new ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), "错误", 0).show();
}
});
queue.add(imageRequest);
}
}
四、添加权限
<uses-permission android:name="android.permission.INTERNET"/>