繁体   English   中英

如何使用RxJava / Retrofit从服务器获取数据

[英]How to get data from server using RxJava/Retrofit

我面临这样的问题:从服务器获取数据并加载到TextView中。 当然,这很简单。 但是我想用一些对我来说新的方法来实现它。 我开始研究RxJava,但发现它通常不用于此类简单任务,而是用于操作更复杂的数据流。 我对吗? 我的任务有哪些最佳实践?

因此,我使用Retrofit实现了它,但是我也看到Rx和Retrofit之间存在紧密的关系。 第二个用于与Net和Rx交互的函数通常让我们异步操作数据吗?

您能否解释一下这些框架之间的区别以及通常使用的框架?

谢谢大家提前回答!

改造基本上是对Android自己对象的抽象。 HttpURLConnection

一个不依赖于另一个。 我建议您学习Reactive编程(RxJava),除了现在几乎是一种标准之外,还可以使您的生活变得更轻松。

一个基本的实现是:

public interface GitHubService {
  @GET("users/{user}/repos")
  Call<List<Repo>> listRepos(@Path("user") String user);
}

// The Retrofit class generates an implementation of the GitHubService interface.

Retrofit retrofit = new Retrofit.Builder()
    .baseUrl("https://api.github.com/")
    .build();

GitHubService service = retrofit.create(GitHubService.class);
Each Call from the created GitHubService can make a synchronous or asynchronous HTTP request to the remote webserver.

Call<List<Repo>> repos = service.listRepos("octocat");

如果要包含/组合RxJavaRetrofit只需简单地包含必要的依赖项,而不是返回Call<T>而是返回Observable<T> ,当然调用和处理响应将是Rx方式。

您可以在此处找到一些不错的Rx示例:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM