Android网络开源库Android-async-http 的基本用法(二)

Android-async-http回调逻辑的二次封装


Android-async-http 的用法
在导入jar包,和主清单文件中开启网络权限之后  
<uses-permission android:name="android.permission.INTERNET"/>

在基本用法的基础上对AsyncHttpResponseHandler进行自定义为MyAsyncHttpResponseHandler


在acticity中调用

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		myHttpGet();
//		myHttpPost();
		
	}

    /**
     * get请求
     */
	private void myHttpGet() {
		String url = "http://apis.juhe.cn/mobile/get?phone=13666666666&key=335adcc4e891ba4e4be6d7534fd54c5d";
		AsyncHttpClient client = new AsyncHttpClient();
		client.get(url, new MyAsyncHttpResponseHandler() {
			
			@Override
			public void onMySuccess(String result) {
				Toast.makeText(MainActivity.this, "请求成功", 10).show();
				Log.e("1",  result);
			}
			
			@Override
			public void onMyFailure(Throwable arg0) {
				Toast.makeText(MainActivity.this, "请求失败", 10).show();
				Log.e("1", ""+arg0);
				
				
			}
		});
	
		
	}
	/**
	 * post请求
	 * 对AsyncHttpResponseHandler进行自定义
	 * 
	 */
	private void myHttpPost() {
		String url = "http://apis.juhe.cn/mobile/get?";	
		RequestParams params = new RequestParams();
		params.put("phone", "13666666666");
		params.put("key", "335adcc4e891ba4e4be6d7534fd54c5d");
		AsyncHttpClient client = new AsyncHttpClient();
		client.post(url, params, new MyAsyncHttpResponseHandler() {			
			@Override
			public void onMySuccess(String result) {
				Toast.makeText(MainActivity.this, "请求成功", 10).show();
				Log.e("1",  result);
				
			}
			
			@Override
			public void onMyFailure(Throwable arg0) {
				Toast.makeText(MainActivity.this, "请求失败", 10).show();
				Log.e("1",  ""+arg0);
				
				
			}
		});
		
	}




}

对AsyncHttpResponseHandler类进行封装

<span style="font-size:18px;">public abstract  class MyAsyncHttpResponseHandler extends AsyncHttpResponseHandler {

	@Override
	public void onStart() {
		super.onStart();
		Log.e("1", "请求开始,弹出进度条框");	
	}

	@Override
	public void onSuccess(String arg0) {
		super.onSuccess(arg0);		
		Log.e("1", "请求成功,隐藏进度条框:");
		onMySuccess(arg0);
	}

	@Override
	public void onFailure(Throwable arg0) {
		super.onFailure(arg0);
		Log.e("1", "请求失败,隐藏进度条框:");
		onMyFailure(arg0);
		
		
	}
	public abstract void onMySuccess(String result);

	public abstract void onMyFailure(Throwable arg0);

}
</span>

Android-async-http网络开源库jar包和例子
http://download.csdn.net/detail/zhaihaohao1/9428168

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值