我正在尝试将POST发送到URL,然后阅读响应。
HttpURLConnection conn = (HttpURLConnection) registerURL.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setInstanceFollowRedirects(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("charset", "utf-8");
conn.setRequestProperty("Content-Length", Integer.toString(postDataLength));
conn.setUseCaches(false);
try (DataOutputStream wr = new DataOutputStream(conn.getOutputStream())) {
wr.write(postData);
}
在上面,AndroidStudio警告该行
DataOutputStream wr = new DataOutputStream(conn.getOutputStream())
需要API级别19.为了将其用于旧版本,我可以使用哪种替代方案?我尝试通过Google搜索,但似乎没有找到任何帮助。
答案 0 :(得分:1)
尝试使用常规try-with-resources
块替换try
;
try (DataOutputStream wr = new DataOutputStream(conn.getOutputStream())) {
wr.write(postData);
}
与
DataOutputStream wr = null;
try {
wr = new DataOutputStream(conn.getOutputStream());
wr.write(postData);
}catch (Exception e){
e.printStackTrace();
}finally {
if(wr != null)
try {
wr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
这应该阻止AS显示更多警告