【发布时间】:2018-03-25 23:54:49
【问题描述】:
我正在为 Android 创建一个应用程序,并且刚刚开始使用 Retrofit 2。我必须将 ID、名称、代码和照片上传到服务器,但我不知道如何使用 Retrofit 2 来做到这一点。正如您将看到的从下面的课我不知道我需要上传多少张照片......
我有这门课:
class Asset {
private int mId;
private int mName;
private int mCode;
private ArrayList<String> mPhotos;
// ... constructor
// ... getters and setters
}
我和这是存储库:
class AssetsRepository {
// ... private fields
// ... constructor
public void store(Asset asset, final AssetUploadCompletedCallback callback) {
// What should be the arguments?
this.mNPApiService.storeAsset(asset.getCode() /*, ...*/)
.enqueue(new Callback<String>() {
@Override
public void onResponse(Call<String> call, Response<String> response) {
callback.onAssetUploadCompletedCallback();
}
@Override
public void onFailure(Call<String> call, Throwable t) {
//error handling
}
});
}
}
和NPApiservice接口:
interface NPApiService {
// ... other methods
@Multipart
@Post("/assets/{code}")
Call<String> storeAsset(@Path("code") String code /*, what should go here?*/)
}
我还需要带有百分比的进度条,那么如何附加监听器来告诉我请求的总上传百分比?
【问题讨论】:
标签: android retrofit2 multipartform-data