簡體   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