2.Retrofit上传list数组给后端
bean类:
public class Answer { /** * subject_id : 1 * option_opt : ["a"] */ private int subject_id; private List option_opt; public int getSubject_id() { return subject_id; } public void setSubject_id(int subject_id) { this.subject_id = subject_id; } public List getOption_opt() { return option_opt; } public void setOption_opt(List option_opt) { this.option_opt = option_opt; }}
AppService:
//提交答案
@POST(Constants.SUBMIT)
Observable
@Query("testId") int testId,
@Query("times") int times,
@Body RequestBody answer);
接口:
public void submitAnswer(int managerId,int testId,int times, RequestBody answer){
retrofitHelper.toSubscribe(req.submitQuestion(managerId,testId,times,answer), new Subscriber
public void onCompleted() {
mvpView.onGetDataCompleted();
}
@Override
public void onError(Throwable e) {
mvpView.onGetDataError(e);
}
@Override
public void onNext(SubmitBeansubmitBean) {
mvpView.onSubmitDataNext(submitBean);
}
});
}
activity中处理:
List answerList = new ArrayList<>();
给bean类赋值:
整理答案到bean类
Answer answerBean = new Answer();
List
if (subject.get(allCount - 1).subject_type == 1) {
option_opt.add(choiceId);
} else{
for (int i = 0; i < cbId.size(); i++) {
option_opt.add(cbId.get(i));
}
}
answerBean.setSubject_id(subject.get(allCount- 1).id);
answerBean.setOption_opt(option_opt);
answerList.add(answerBean);
上传后台:
private void submitChoice() {
Gson gson = new Gson();
String json = gson.toJson(answerList);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"),json);
endDate = new Date(System.currentTimeMillis());
long times = endDate.getTime() - getDate.getTime();
int i = (int)times;
Log.i("HHH","answer答案"+json);
quizPersenter.submitAnswer(managerId,squareId,i,body);
}
更多相关文章
- android 程序漰溃 后台handle处理类
- Android(安卓)UI控件Spinner控件的学习
- android保持在休眠时,后台程序继续运行(让程序获取设备电源锁)
- Android(安卓)摄像头后台采集
- Android异步处理特性之AsyncTask
- Android(安卓)后台保活,这里有你需要的所有姿势。2019,最新版本。
- android如何判断服务是否正在运行状态
- Android(安卓)Priority Job Queue使用(1)
- android后台上传数据demo