LiteHttp是一款简单、智能、灵活的HTTP框架库,它在请求和响应层面做到了全自动构建和解析,主要用于Android快速开发。借助LiteHttp你只需要一行代码即可完美实现http连接,它全面支持GET, POST, PUT, DELETE, HEAD, TRACE, OPTIONS 和 PATCH八种基本类型。LiteHttp能将Java Model转化为http请求参数,也能将响应的json语句智能转化为Java Model,这种全自动解析策略将节省你大量的构建请求、解析响应的时间。并且,你能自己继承重新实现Dataparser这个抽象类并设置给Request,来将http原始的inputstream转化为任何你想要的东西。


LiteHttpClient client =LiteHttpClient.getInstance(context);Response res = client.execute(newRequest("http://baidu.com"));String html = res.getString();HttpAsyncExcutor asyncExcutor
=newHttpAsyncExcutor();asyncExcutor.execute(client,newRequest(url),newHttpResponseHandler(){@Overrideprotectedvoid
onSuccess(Response res,HttpStatus
status,NameValuePair[]
headers){// do some thing
on UI thread}@Overrideprotectedvoid
onFailure(Response res,HttpException
e){// do some thing
on UI thread }});// build a
request url as : http://a.com?name=jame&id=18Man man =newMan("jame",18);Response resonse = client.execute(newRequest("http://a.com",man));man class:
publicclassManimplementsHttpParam{privateString
name;privateint
id;privateint
age;publicMan(String
name,int
id){this.name = name;this.id= id;}}String url ="http://litesuits.github.io/mockdata/user?id=18";User user =
client.get(url,null,User.class);User Class :
publicclassUserextendsApiResult{//全部声明public是因为写sample方便,不过这样性能也好,//即使private变量LiteHttp也能自动赋值,开发者可自行斟酌修饰符。publicUserInfo
data;publicstaticclassUserInfo{publicString
name;publicint
age;publicArrayList<String> girl_friends;}}publicabstractclassApiResult{publicString
api;publicString
v;publicResult
result;publicstaticclassResult{publicint
code;publicString
message;}}User json structure:
{"api":"com.xx.get.userinfo","v":"1.0","result":{"code":200,"message":"success"},"data":{"age":18,"name":"qingtianzhu","girl_friends":["xiaoli","fengjie","lucy"]}}String url ="http://192.168.2.108:8080/LiteHttpServer/ReceiveFile";FileInputStream fis =newFileInputStream(newFile("sdcard/1.jpg"));Request req =newRequest(url);
req.setMethod(HttpMethod.Post).addParam("lite",newFile("sdcard/lite.jpg"),"image/jpeg").addParam("feiq",newFile("sdcard/feiq.exe"),"application/octet-stream");if(fis !=null) req.addParam("meinv", fis,"sm.jpg","image/jpeg");Response res = client.execute(req);// one
wayFile file = client.execute(imageUrl,newFileParser("sdcard/lite.jpg"),HttpMethod.Get);// other
wayResponse res = client.execute(newRequest(imageUrl).setDataParser(newBitmapParser()));Bitmap bitmap = res.getBitmap();LiteHttp:一款‘智能’的HTTP框架类库,布布扣,bubuko.com
原文:http://www.cnblogs.com/youngforlife/p/3651353.html