Retrofit 實踐,retrofit實踐

來源:互聯網
上載者:User

Retrofit 實踐,retrofit實踐

Retrofit是一套RESTful架構的Android(Java)用戶端實現,基於註解,提供JSON to POJO(Plain Ordinary Java Object,簡單Java對象),POJO to JSON,網路請求(POST,GET,PUT,DELETE等)封裝,對於網路調用的諸多細節做了封裝,是的我們在開發過程中之關注對象的調用,而不關心網路請求的細節,是網路編程變得簡單。是代碼變得更加優雅易讀。

1.包的擷取與安裝

Maven 配置

<dependency>  <groupId>com.squareup.retrofit2</groupId>  <artifactId>retrofit</artifactId>  <version>2.2.0</version></dependency>
Gradle 配置
compile 'com.squareup.retrofit2:retrofit:2.2.0'
直接應用Jar包
2.初始化
 首先需要建立一個介面,然後配置註解
public interface APIClient {    @GET("/api/movies")    void movies(Callback<List<Movie>> callback);}
3.配置 Retrofit 的RestAdapter 使其組建代理程式類
OkHttpClient client = new OkHttpClient();        mRestAdapter = new RestAdapter.Builder()                .setEndpoint(baseUrl)                .setClient(new OkClient(client))                .build();  myApiClient = mRestAdapter.create(APIClient.class);

這裡client可以指定自己的配置執行個體,這裡我選擇的是OkClient, 當然你也可以配置其它的。上面這個配置是最簡單的配置,當然你還可以配置一些轉換器,來講請求的Json 字串轉化成對象。

4. 調用
RetrofitdemoApplication.getInstance().myApiClient.movies(new Callback<List<Movie>>() {            @Override            public void success(List<Movie> moves, Response response) {                mMovies=moves;                mListView.setAdapter(new MovieAdapter(MovieActivity.this,moves));                Response r=response;                       }            @Override            public void failure(RetrofitError error) {                               String s=error.getMessage();                Toast.makeText(MovieActivity.this, "get data from API failuar",                        Toast.LENGTH_LONG).show();            }        });

這個調用方法中有兩個回掉,一個是失敗時的回掉方法,另一個是成功時的回掉方法。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.