async-http-connection

一个基于回调机制的多线程异步Http连接框架。A multithread callback-based async http connection framework

APACHE-2.0 License

Stars
6

Async Http Connection

=====================

  • a multithread callback-based async http connection framework. it can be use on android project or common java project.
  • HttpAndroidJava

Async HTTP ConnectionHttpAPI SDKAndroid
JavaJUnit4Android
[android-async-http](https://github.com/loopj/android-async-http)

  • **** POSTGETHttp
  • **** JDKJar
  • **** Executor
  • **** InvokerRequestInvokerHttpClient

SimpleHttpInvokerHttpHttpUrlConnection BinaryResponseHandlerStringResponseHandler

test

//Get
AsyncHttpConnection http = AsyncHttpConnection.getInstance();
ParamsWrapper params = ...;
String url = ...
int requestId = http.get(url, params, new ResponseCallback() {
	
	@Override
	public void onResponse(InputStream response,URL url) {
		System.out.println("[test GET] --> response back, url = "+url);
		Assert.assertNotNull(response);
		requestBack();
	}
	
	@Override
	public void onError(Throwable exp) {
		System.err.println("[test GET] --> response error, url = "+url);
		requestBack();
	}

	@Override
	public void onSubmit(URL url) {
	}
});

//POST
AsyncHttpConnection http = AsyncHttpConnection.getInstance();
ParamsWrapper params = ...;
String url = ...
int requestId = http.post(url, params, new ResponseCallback() {
	
	@Override
	public void onResponse(InputStream response,URL url) {
		System.out.println("[test POST] --> response back, url = "+url);
		Assert.assertNotNull(response);
		requestBack();
	}
	
	@Override
	public void onError(Throwable exp) {
		System.err.println("[test POST] --> response error, url = "+url);
		requestBack();
	}

	@Override
	public void onSubmit(URL url) {
	}
});

//POST
AsyncHttpConnection http = AsyncHttpConnection.getInstance();
final int KEY_VAL = 24;
ParamsWrapper params = new ParamsWrapper();
params.put("firstname", "chen");
params.put("lastname", "yoca");
params.put("foo", KEY_VAL);
params.put("cookiename", KEY_VAL);
params.put("cookievalue", KEY_VAL);
int requestId = http.post(url, params, new StringResponseHandler() {

	@Override
	public void onSubmit(URL url) { 
		System.out.println(">> target: "+url.getHost()+" --> "+url.getPath());
	}

	@Override
	public void onError(Throwable exp) {
		requestBack();
		exp.printStackTrace();
	}

	@Override
	public void onResponse(String content, URL url) {
		Assert.assertNotNull(content);
		boolean containsKey = content.contains(String.valueOf(KEY_VAL));
		Assert.assertEquals(true, containsKey);
		requestBack();
	}
});

//
//
// 1getpostRequestIDRequestID
// 2getposttoken

AsyncHttpConnection http = AsyncHttpConnection.getInstance();
final int KEY_VAL = 24;
ParamsWrapper params = new ParamsWrapper();
params.put("firstname", "chen");
params.put("lastname", "yoca");
params.put("foo", KEY_VAL);
params.put("cookiename", KEY_VAL);
params.put("cookievalue", KEY_VAL);

//  ******** token  ************
Object token = "1234566";

// tokenonResponse(String content, URL url, Object token)
int requestId = http.post(url, params, token, new StringResponseHandler() {

	@Override
	public void onSubmit(URL url) { 
		System.out.println(">> target: "+url.getHost()+" --> "+url.getPath());
	}

	@Override
	public void onError(Throwable exp) {
		requestBack();
		exp.printStackTrace();
	}

	@Override
	public void onResponse(String content, URL url, Object token) {
		// token == "1234566" Token
		Assert.assertNotNull(content);
		boolean containsKey = content.contains(String.valueOf(KEY_VAL));
		Assert.assertEquals(true, containsKey);
		requestBack();
	}
});

The code of this project is released under the Apache License 2.0, see LICENSE