web-dev-qa-db-ja.com

SquareのRetrofitネットワークライブラリを使用して非同期コールバックを実装する方法

IOS開発者としてAndroidに出会いました。Retrofitに出会いました。同期要求を実装する方法は理解していますが、成功/失敗コールバックを使用した非同期要求の実装に問題があります。私には、Retrofitでこれを行う方法の具体例はありません website 、Square blogpost Retrofitの紹介、または私が見た他の場所。これに関するいくつかのサンプルコード?Retrofitリポジトリに、この情報でREADMEを更新するように要求する問題を提出しました。

28
Alfie Hanssen

さらに調査し、Android/Javaの世界でより多くの時間を費やした後、ドキュメントの例を使用してこれを見つけました。

インターフェース:

@GET("/user/{id}/photo")  
void listUsers(@Path("id") int id, Callback<Photo> cb);

実装:

RestAdapter restAdapter = new RestAdapter.Builder()
            .setServer("baseURL")     
            .build();
ClientInterface service = restAdapter.create(ClientInterface.class);

Callback callback = new Callback() {
    @Override
    public void success(Object o, Response response) {

    }

    @Override
    public void failure(RetrofitError retrofitError) {

    }
};
service.listUsers(666, callback);
54
Alfie Hanssen