我应该在 Kitkat 之前的平台上使用什么
What should I use on platforms pre-Kitkat
我正在尝试将 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 进行搜索,但似乎没有找到任何有用的信息。
尝试用常规 try
块替换 (try-with-resources
);
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 显示更多警告
我正在尝试将 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 进行搜索,但似乎没有找到任何有用的信息。
尝试用常规 try
块替换 (try-with-resources
);
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 显示更多警告