从服务器获取数据时,Retrofit和RxJava的目的是什么?

Mee*_*Noi -1 java android rx-java retrofit

我在互联网上看到了许多示例/教程,即使是在stackoverflow上使用Retrofit和RxJava从后端服务器获取数据,但我无法理解每种技术的目的是什么.

如果有人能解释我,我将不胜感激.谢谢!

And*_*nin 5

Retrofit 帮助您为网络接口提供高级抽象.

Retrofit将您的HTTP API转换为Java接口.

所以你不必一直手动执行此操作:只需注释...

RxJava引入了反应式编程的概念,而RxJava2是Android社区中一个受欢迎的依赖项.谈论它与改造的联系:默认情况下,改造Call从每个请求返回一个,要异步运行,需要提供一个回调,然后在完成一个操作后调用.Retrofit的RxJava2适配器使它变得更容易:它删除了一个回调并让你更好地控制线程环境和任务取消,所以你可以做下一件事:

myApi.doSomething()
    .subscribeOn(Schedulers.Io()) //run network request on Io thread pool
    .observeOn(AndroidSchedulers.mainThread()) //emit the result in android's main thread
    .subscribe(result -> processResult(result));
Run Code Online (Sandbox Code Playgroud)

而使用Retrofit驱动的接口声明将是这样的:

public interface MyApi {

    @GET("/endpoint")
    public Single<Result> doSomething();

}
Run Code Online (Sandbox Code Playgroud)