您的位置:首页 > 理论基础 > 计算机网络

扣丁学堂笔记第19天Volley、android-async-http、ksoap2与WebView组件

2016-04-02 15:55 621 查看
1.Volley

简介与StringRequest











在编写代码之前要提前下载好volley.jar,粘贴到相应project的libs目录下,再右键工程添加到路径

首先通过调用Volley的newRequestQueue方法创建一个请求队列,

然后创建一个字符串请求,参数为(请求方式,url,响应的回调接口,错误的回调接口);

最后把request添加到请求队列里;

别忘了在清单文件添加访问网络的权限。

StringRequest发送get请求代码:

MainActivity

package com.example.volleytest;

import com.android.volley.Request;
import com.android.volley.Request.Method;
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.StringRequest;
import com.android.volley.toolbox.Volley;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends Activity {

private RequestQueue queue = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//创建一个请求队列
queue = Volley.newRequestQueue(this);
}

//发送一个字符串请求
public void sendStringRequestClick(View view){
String url = "http://www.baidu.com";
//创建一个字符串请求参数(请求方式,url,响应的回调接口,错误的回调接口)
StringRequest stringRequest = new StringRequest(Method.GET, url, new Listener<String>() {

@Override
public void onResponse(String s) {
// TODO Auto-generated method stub
System.out.println(s);
}
}, new ErrorListener() {

@Override
public void onErrorResponse(VolleyError volleyError) {
// TODO Auto-generated method stub
System.out.println(volleyError);
}
});
queue.add(stringRequest);
}
}


AndroidMainfest

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






JsonRequest与ImageRequest









MainActivity

public void sendImageRequestClick(View view){
String url = "http://d.hiphotos.baidu.com/zhidao/pic/item/b2de9c82d158ccbf177cac341bd8bc3eb03541ff.jpg";
ImageRequest imageRequest = new ImageRequest(url, new Listener<Bitmap>() {

@Override
public void onResponse(Bitmap bitmap) {
// TODO Auto-generated method stub
imageView.setImageBitmap(bitmap);
}
}, 0, 0, Bitmap.Config.RGB_565, new ErrorListener() {

@Override
public void onErrorResponse(VolleyError volleyError) {
// TODO Auto-generated method stub
System.out.println(volleyError);
}
});
queue.add(imageRequest);
}


activity_main

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
android:layout_alignRight="@+id/button1"
android:layout_below="@+id/button1"
android:text="发送ImageRequest"
android:onClick="sendImageRequestClick" />

<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="center"
android:layout_alignLeft="@+id/button2"
android:layout_alignParentBottom="true"
android:layout_alignRight="@+id/button2"
android:layout_below="@+id/button2"
android:layout_marginTop="20dp"
/>


ImageLoader与NetworkImageView









public void imageLoaderClick(View view){
String url = "http://d.hiphotos.baidu.com/zhidao/pic/item/b2de9c82d158ccbf177cac341bd8bc3eb03541ff.jpg";
//新建一个图片加载器
ImageLoader imageLoader = new ImageLoader(queue, new ImageCache() {

@Override
public void putBitmap(String arg0, Bitmap arg1) {
// TODO Auto-generated method stub

}

@Override
public Bitmap getBitmap(String arg0) {
// TODO Auto-generated method stub
return null;
}
});
//获取一个图片监听器
ImageListener imageListener = ImageLoader.getImageListener(imageView, R.drawable.ic_launcher, android.R.drawable.btn_default);
imageLoader.get(url, imageListener, 200, 200);

}










activity_main

<com.android.volley.toolbox.NetworkImageView
android:id="@+id/niv"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center_horizontal"
android:layout_below="@+id/button3">
</com.android.volley.toolbox.NetworkImageView>
MainActivity

private void networkImageView() {
networkImageView.setDefaultImageResId(R.drawable.ic_launcher);
networkImageView.setErrorImageResId(android.R.drawable.btn_default);
String url = "http://d.hiphotos.baidu.com/zhidao/pic/item/b2de9c82d158ccbf177cac341bd8bc3eb03541ff.jpg";
networkImageView.setImageUrl(url, new ImageLoader(queue, new ImageCache() {

@Override
public void putBitmap(String arg0, Bitmap arg1) {
// TODO Auto-generated method stub

}

@Override
public Bitmap getBitmap(String arg0) {
// TODO Auto-generated method stub
return null;
}
}));
}


自定义Request与Volley工作流程























2.android-async-http

简介和发送带参和无参的请求







文件上传



文件下载与Json请求







3.ksoap2

WebService客户端调用















4.WebView

参数设置













网页回退与js交互







内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: