litesuits / android-lite-http

LiteHttp is a simple, intelligent and flexible HTTP framework for Android. With LiteHttp you can make HTTP request with only one line of code! It could convert a java model to the parameter and rander the response JSON as a java model intelligently.
http://litesuits.com?form=ghttp
Apache License 2.0
830 stars 347 forks source link

Android network framework: LiteHttp

Tags : litehttp2.x-tutorials


Website : http://litesuits.com

QQgroup : 42960650 , 47357508

Android网络通信为啥子选 lite-http ?

lite-http 初步使用 和 快速上手


1. What‘s lite-http ?

LiteHttp is a simple, intelligent and flexible HTTP framework for Android. With LiteHttp you can make HTTP request with only one line of code! It could convert a java model to the parameter and rander the response JSON as a java model intelligently.

2. Why choose lite-http ?

Simple, powerful, make HTTP request with only one line of code:

User user = liteHttp.get (url, User.class);

asynchronous download a file(execute on sub-thread,listen on ui-thread):

liteHttp.executeAsync(new FileRequest(url,path).setHttpListener(
    new HttpListener<File>(true, true, true) {

        @Override
        public void onLoading(AbstractRequest<File> request, long total, long len) {
            // loading notification
        }

        @Override
        public void onSuccess(File file, Response<File> response) {
            // successfully download 
        }

    })
);

configure an asynchronous login request by annotation:

String loginUrl = "http://litesuits.com/mockdata/user_get";

// 1. URL        : loginUrl
// 2. Parameter  : name=value&password= value
// 3. Response   : User
@HttpUri(loginUrl) 
class LoginParam extends HttpRichParamModel<User> {
    private String name;
    private String password;

    public LoginParam(String name, String password) {
        this.name = name;
        this.password = password;
    }
}
liteHttp.executeAsync(new LoginParam("lucy", "123456"));

will be built as http://xxx?name=lucy&password=123456

more details, you can see lite-http introduction: LiteHttp Introduction: Why should developers choose LiteHttp ?

3. What are the fetures ?

4. Overall architecture of lite-http

Lite-http Chart

About App architecture, see my other article: How to take high-quality Android project framework, the framework of the structure described in detail?

5. tutorials and analysis (◕‸◕)

Good ◝‿◜, huh:

 1. Initialization and preliminary usage

 2. Simplified requests and non-safe method of use

 3. Automatic model conversion

 4. Custom DataParser and Json serialization library Replace

 5. Files, bitmap upload and download

 6. Disable network and traffic statistics

 7. Retries and redirect

 8. Exceptions handling and cancellation request

 9. Multiple data transmission via POST(PUT)

 10. Asynchronous concurrency and scheduling strategy

 11. Global configuration and parameter settings Detailed

 12. Annotation-Based request

 13. Multilayer cache mechanism and usage

 14. Detailed of callback listener

 15. SmartExecutor: concurrent scheduler

LiteHttp: Android网络通信框架

中文版 换个语种,再来一次

标签: litehttp2.x版本系列教程


官网: http://litesuits.com

QQ群: 大群 47357508二群 42960650

Android网络框架为什么可以选用lite-http?

lite-http 初步使用 和 快速起步上手

本系列文章面向android开发者,展示开源网络通信框架LiteHttp的主要用法,并讲解其关键功能的运作原理,同时传达了一些框架作者在日常开发中的一些最佳实践和经验。


LiteHttp之开篇简介和大纲目录

1. lite-http是什么? (・̆⍛・̆)

LiteHttp是一款简单、智能、灵活的HTTP框架库,它在请求和响应层面做到了全自动构建和解析,主要用于Android快速开发。

2. 为什么选lite-http? (•́ ₃ •̀)

简单、强大,线程无关,一行代码搞定API请求和数据转化:

User user = liteHttp.get(url, User.class);

当然也可以开启线程异步下载文件:

liteHttp.executeAsync(new FileRequest(url,path).setHttpListener(
    new HttpListener<File>(true, true, true) {

        @Override
        public void onLoading(AbstractRequest<File> request, long total, long len) {
            // loading notification
        }

        @Override
        public void onSuccess(File file, Response<File> response) {
            // successfully download 
        }

    })
);

通过注解约定完成异步请求:

@HttpUri(loginUrl) 
class LoginParam extends HttpRichParamModel<User> {
    private String name;
    private String password;

    public LoginParam(String name, String password) {
        this.name = name;
        this.password = password;
    }
}
liteHttp.executeAsync(new LoginParam("lucy", "123456"));

将构建类似下面请求:http://xxx?name=lucy&password=123456

案例详情可见我另一篇lite-http引言文章:LiteHttp 引言:开发者为什么要选LiteHttp??

3. lite-http有什么特点? (´ڡ`)

4. lite-http的整体架构是怎样的呀? (´ڡ`)

lite-http架构图

关于App架构,请看我另一篇文章分享: 怎样搭高质量的Android项目框架,框架的结构具体描述?

5. 老湿,来点教学和分析带我飞呗? (◕‸◕)

好的 ◝‿◜ ,下面直接给你看,疗效好记得联系我,呵呵哒:

1. 初始化和初步使用

2. 简化请求和非安全方法的使用

3. 自动对象转化

4. 自定义DataParser和Json序列化库的替换

5. 文件、位图的上传和下载

6. 禁用网络和流量、时间统计

7. 重试和重定向

8. 处理异常和取消请求

9. POST方式的多种类型数据传输

10. lite-http异步并发与调度策略

11. 全局配置与参数设置详解

12. 通过注解完成API请求

13. 多层缓存机制及用法

14. 回调监听器详解

15. 并发调度控制器详解