【发布时间】:2021-09-17 15:39:38
【问题描述】:
我是 Android Java 新手
我想将我的 Web 项目转换为 Android Java 应用程序并将本机项目反应。
对于网站,我使用 Jquery 和 ajax
$.ajax({
url: "https://site/data.json",
data: JSON.stringify({
Name: "Peter",
Gender: "M"
}),
type: "POST",
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function(returnData){
},
error: function(xhr, ajaxOptions, thrownError){
}
})
对于 React Native,我使用 fetch
//Work with React Native
fetch('https://site/data.json',
{
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
Name: "Peter",
Gender: "M"
})
}
但我不知道将其转换为 Android Java。有什么想法吗??
非常感谢
我尝试了以下代码,但对我不起作用。
public void sendPost() {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
URL url = new URL("https://site/data.json");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
conn.setRequestProperty("Accept","application/json");
conn.setDoOutput(true);
conn.setDoInput(true);
JSONObject jsonParam = new JSONObject();
jsonParam.put("Name:", "Peter");
jsonParam.put("Gender:", "M");
Log.i("JSON", jsonParam.toString());
DataOutputStream os = new DataOutputStream(conn.getOutputStream());
os.writeBytes(jsonParam.toString());
os.flush();
os.close();
Log.i("STATUS", String.valueOf(conn.getResponseCode()));
Log.i("MSG" , conn.getResponseMessage());
conn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
});
【问题讨论】: