final ParseFile parseFile1 = new ParseFile("poll_image1.jpg",scaleImage("poll_image1",imageList.get(contestImage1.getId())));
final ParseFile parseFile2 = new ParseFile("poll_image2.jpg",scaleImage("poll_image2",imageList.get(contestImage2.getId())));
parseFile1.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException arg0) {
parseFile2.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException arg0) {
ParseObject jobApplication = new ParseObject("Poll");
jobApplication.put("poll_question", contestQuestion.getText().toString());
jobApplication.put("poll_type_id", 1);
ParseUser currentUser = ParseUser.getCurrentUser();
jobApplication.put("user", currentUser);
jobApplication.put("parseFile1", parseFile1);
jobApplication.put("parseFile2", parseFile2);
jobApplication.saveInBackground();
Toast.makeText(getActivity(), "Poll Created !!", 1000).show();
contestQuestion.setText("");
contestImage1.setImageResource(R.drawable.photo_add);
contestImage2.setImageResource(R.drawable.photo_add);
category.setText(getActivity().getString(R.string.choose_a_category));
mProgressHUD.dismiss();
}
}, new ProgressCallback() {
@Override
public void done(Integer arg0) {
// TODO Auto-generated method stub
}
});
}
}, new ProgressCallback() {
@Override
public void done(Integer arg0) {
// TODO Auto-generated method stub
}
});
我实现了上面的代码,只有在使用ParseFile保存两个文件后才保存ParseObject。它可以进行3次服务器调用,但我只需要1次服务器调用。由于对服务器的3次调用,上传和保存parseobject需要大量时间。
答案 0 :(得分:0)
您唯一的选择是创建一个接受两个字节数组和其他字段的Cloud Function,然后在内部执行所需的3个调用。
因为在两个Parse服务器之间进行3次调用,所以它可能比您当前的代码更快。
您可以在documentation中找到有关云功能的更多信息。
答案 1 :(得分:0)
63 pngs由一个多线程客户端在3秒内上传到parse.com ......