首页 > Web开发 > 详细

以JSONobject形式提交http请求

时间:2019-06-04 00:14:14      阅读:122      评论:0      收藏:0      [点我收藏+]

private void initData() throws JSONException {
OnLoadMyQuestionListener loadMyQuestionListener = questionConstantList -> {
for (int i = 0; i < questionConstantList.size(); i++) {
urlList.add("http://119.23.223.94" + questionConstantList.get(i).videoPath);
}
videoAdapter.notifyDataSetChanged();
};

JSONObject jsonObject = new JSONObject();
jsonObject.put("CP", "100");
jsonObject.put("CI", new UserHelperTool(this).getHost().collegeID);
jsonObject.put("NI", nodeConstant.NODE_UNIQUE_CODE);
String URL = jsonObject.toString();
LoadInformationStreamTask loadInformationStreamTask = new LoadInformationStreamTask();
loadInformationStreamTask.setLoadMyQuestionListener1(loadMyQuestionListener);
loadInformationStreamTask.execute(URL);
}

public static class LoadInformationStreamTask extends AsyncTask<String, Integer, List<QuestionConstant>> {
private OnLoadMyQuestionListener loadMyQuestionListener1;

void setLoadMyQuestionListener1(OnLoadMyQuestionListener loadMyQuestionListener1) {
this.loadMyQuestionListener1 = loadMyQuestionListener1;
}


@Override
protected void onPreExecute() {
}

@TargetApi(Build.VERSION_CODES.KITKAT)
@Override
protected List<QuestionConstant> doInBackground(String... params) {
List<QuestionConstant> questionConstants = new ArrayList<>();
HttpURLConnection connection;
try {
URL url = new URL(ServletValue.URLSQLQuestions);
connection = (HttpURLConnection) url.openConnection();// 打开该URL连接
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestMethod("POST");// 设置请求方法,“POST或GET”
connection.setConnectTimeout(5000);// 设置连接建立的超时时间
connection.setReadTimeout(50000);// 设置网络报文收发超时时间
connection.setRequestProperty("Content-Type", "application/json");
DataOutputStream os = new DataOutputStream(connection.getOutputStream());
os.writeUTF(params[0]);
os.flush();
os.close();
if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
InputStreamReader in = new InputStreamReader(connection.getInputStream());
JSONArray jsonArrayData = new JSONArray(new BufferedReader(in).readLine());//如果没有data会赋值null,用get的话会报错
for (int i = 0; i < jsonArrayData.length(); i++) { //需要转成JSONObject再解析
QuestionConstant questionConstant = new QuestionConstant();
JSONObject objectToJson = jsonArrayData.getJSONObject(i);
questionConstant.id = objectToJson.getInt("ID");
questionConstant.collegeID = String.valueOf(objectToJson.getInt("CID"));
questionConstant.question = objectToJson.getString("QT");
questionConstant.createTime = objectToJson.getString("DT");
questionConstant.videoPath = objectToJson.getString("VP");
questionConstant.nodeID = objectToJson.getString("NID");
questionConstant.userID = objectToJson.getString("SID");
questionConstants.add(0, questionConstant);
}

}
} catch (
MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (
JSONException e) {
e.printStackTrace();
}
return questionConstants; // 这里返回的结果就作为onPostExecute方法的入参
}

@Override
protected void onPostExecute(List<QuestionConstant> questionConstantList) {
loadMyQuestionListener1.init(questionConstantList);
}
}
--------------------- 

以JSONobject形式提交http请求

原文:https://www.cnblogs.com/ly570/p/10970827.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!