简介
引言
2012年底开发聚划算android至今,积累了不少的教训与经验,这里陆续会向小伙伴输出一些简单的库。
一个案例展示LiteHttp的基础功能: http://litesuits.github.io/guide/http/get-start.html
项目来自我的开源站点: http://litesuits.com
看到下面有反馈中文乱码,根据经验一般都是手机端和服务器编码不一致,手机端默认UTF-8,之前有同学信誓旦旦说服务器utf-8,最后用gbk2312才解决。所以一定确保手机和服务器编码一致,办法可网上查。
特色及功能
下一步计划
1. 给出上传、下载进度
2. 加入缓存机制
节操与理念, LiteHttp所坚持的理念:
1. 坚持 性能优先 不改变:将不断提升性能
2. 坚持 专一化 策略不改变:只做网络连接,精而深
3. 坚持 轻量级 策略不改变:加功能的基础上保持最轻量(99K以内)
架构图
一个良好的项目结构:
LiteHttp结构模型:
异步请求
Java Model 作为参数的请求
Man:
全自动Json转化
多文件上传
文件和位图下载
之前有小伙伴反馈的HTTP POST方式穿参现在已经彻底重写,修复。并做了详细测试:
收藏并克隆LiteHttp Github 仓库吧,并且可以看到更多的使用案列,方便你进阶。
Github:https://github.com/litesuits/android-lite-http
EOE兄弟贴:
LiteHttp:极简且智能的 android HTTP 框架库 (专注于网络)
LiteOrm:极简且智能的 android ORM 框架库 (专注数据库)
LiteAsync:强势的 android 异步 框架库 (专注异步与并发)
LiteCommon:丰富通用的android工具类库(专注于基础组件)
其他贴子:
关于java的线程并发和锁的总结
android开发技术经验总结60条
聚划算android客户端1期教训总结
移动互联网产品设计小结
LiteHttp是一款简单、智能、灵活的HTTP框架库,它在请求和响应层面做到了全自动构建和解析,主要用于Android快速开发。借助LiteHttp你只需要一行代码即可完美实现http连接,它全面支持GET, POST, PUT, DELETE, HEAD, TRACE, OPTIONS 和 PATCH八种基本类型。LiteHttp能将Java Model转化为http请求参数,也能将响应的json语句智能转化为Java Model,这种全自动解析策略将节省你大量的构建请求、解析响应的时间。并且,你能自己继承重新实现Dataparser这个抽象类并设置给Request,来将http原始的inputstream转化为任何你想要的东西。
引言
2012年底开发聚划算android至今,积累了不少的教训与经验,这里陆续会向小伙伴输出一些简单的库。
一个案例展示LiteHttp的基础功能: http://litesuits.github.io/guide/http/get-start.html
项目来自我的开源站点: http://litesuits.com
看到下面有反馈中文乱码,根据经验一般都是手机端和服务器编码不一致,手机端默认UTF-8,之前有同学信誓旦旦说服务器utf-8,最后用gbk2312才解决。所以一定确保手机和服务器编码一致,办法可网上查。
特色及功能
- 单线程,所有方法都基于一个线程,绝不会跨线程,多线程的事情交给它自带的AsyncExecutor 或者更专业的框架库来解决。
- 灵活的架构,你可以轻松的替换Json自动化库、参数构建方式甚至默认的apache http client连接方式。
- 轻量级,微小的的开销,core jar包仅约86kb。
- 多种请求类型全面支持:get, post, head, put, delete, trace, options, patch.
- 多文件上传,不需要额外的类库支持。
- 内置的Dataparser支持文件和位图下载,你也可以自由的扩展DataParser来把原始的http inputstream转化为你想要的东西。
- 基于json的全自动对象转化: 框架帮你完成Java Object Model 和 Http Parameter之间的转化,完成Http Response与Java Object Model的转化。
- 自动重定向,基于一定的次数,不会造成死循环。
- 自动gizp压缩,帮你完成request编码和response解码以使http连接更加快速.
- 通过网络探测完成智能重试 ,对复杂的、信号不良的的移动网络做特殊的优化。
- 禁用一种或多种网络, 比如2G,3G。
- 简明且统一的异常处理体系:清晰、准确的抛出客户端、网络、服务器三种异常。
- 内置的AsyncExecutor可以让你轻松实现异步和并发的http请求,如果你喜欢,随意使用你自己的AsyncTask或Thread来完成异步,推荐使用更强大、高效的专业并发库( https://github.com/litesuits/android-lite-async )。
下一步计划
1. 给出上传、下载进度
2. 加入缓存机制
节操与理念, LiteHttp所坚持的理念:
1. 坚持 性能优先 不改变:将不断提升性能
2. 坚持 专一化 策略不改变:只做网络连接,精而深
3. 坚持 轻量级 策略不改变:加功能的基础上保持最轻量(99K以内)
架构图
一个良好的项目结构:
- 底层是业务无关的框架库,用之四海而皆准。
- 中层是针对业务的三方库,以及主要逻辑实现,全部业务都在这里。
- 上层是Activity、Fragment、Views&Widget等视图渲染和业务调用。
这样一个结构,使得你的代码快速在phone和pad以及tv之间迁移,且让你整个更为清晰。那么LiteHttp就位于这个结构的底层。
LiteHttp结构模型:
异步请求
Java Model 作为参数的请求
Man:
全自动Json转化
User Class:
User JSON:
多文件上传
文件和位图下载
之前有小伙伴反馈的HTTP POST方式穿参现在已经彻底重写,修复。并做了详细测试:
收藏并克隆LiteHttp Github 仓库吧,并且可以看到更多的使用案列,方便你进阶。
Github:https://github.com/litesuits/android-lite-http
EOE兄弟贴:
LiteHttp:极简且智能的 android HTTP 框架库 (专注于网络)
LiteOrm:极简且智能的 android ORM 框架库 (专注数据库)
LiteAsync:强势的 android 异步 框架库 (专注异步与并发)
LiteCommon:丰富通用的android工具类库(专注于基础组件)
其他贴子:
关于java的线程并发和锁的总结
android开发技术经验总结60条
聚划算android客户端1期教训总结
移动互联网产品设计小结