如何解决如何制作 2 个嵌套的 Volley JsonRequests?
我正在 Android Studio 上构建一个带有评论的应用程序,评论模型如下所示:
public class Comment {
private int commentID;
private String body;
private String commentTime;
private int postID;
private int userID;
public Comment() {
super();
}
public Comment(int commentID,String body,String commentTime,int postID,int userID) {
this.commentID = commentID;
this.body = body;
this.commentTime = commentTime;
this.postID = postID;
this.userID = userID;
}
public int getCommentID() {
return commentID;
}
public void setCommentID(int commentID) {
this.commentID = commentID;
}
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
public String getCommentTime() {
return commentTime;
}
public void setCommentTime(String commentTime) {
this.commentTime = commentTime;
}
public int getPostID() {
return postID;
}
public void setPostID(int postID) {
this.postID = postID;
}
public int getUserID() {
return userID;
}
public void setUserID(int userID) {
this.userID = userID;
}
@Override
public String toString() {
return "Comment{" +
"commentID=" + commentID +
",body='" + body + '\'' +
",commentTime='" + commentTime + '\'' +
",postID=" + postID +
",userID=" + userID +
'}';
}
}
我正在通过函数extractComments() 检索评论,并使用extractUsersforComments() 从我构建的Web 服务中获取用户对象,问题是extractUsersforComments() 仅在extractComments() 请求完成后才起作用。如何使用 volley 在彼此内部使用 2 个 API? 这些是函数:
public User extractUsersForComments(int userID){
RequestQueue queue2= Volley.newRequestQueue(getApplicationContext());
String JSON_URL2="http://192.168.1.109:8080/api/" + userID;
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.GET,JSON_URL2,null,new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
user2.setUserID(response.getInt("userID"));
user2.setEmail(response.getString("email").toString());
user2.setUserType(response.getString("userType").toString());
user2.setFirstName(response.getString("firstName").toString());
user2.setLastName(response.getString("lastName").toString());
user2.setUserPassword(response.getString("userPassword").toString());
user2.setUserImage((response.getString("userImage").toString()));
Log.d("user2",user2.toString());
// userName.setText(user.getFirstName()+" "+user.getLastName());
// Log.d("userName",user.getFirstName());
} catch (JSONException e) {
e.printstacktrace();
}
}
},new Response.ErrorListener(){
@Override
public void onErrorResponse(VolleyError error) {
Log.d("tag","onErrorResponse: " + error.getMessage());
}
});
queue2.add(jsonObjReq);
return user2;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。