我应该在Kitkat之前的平台上使用什么

时间:2016-02-19 06:07:48

标签: android android-4.4-kitkat dataoutputstream

我正在尝试将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搜索,但似乎没有找到任何帮助。

1 个答案:

答案 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显示更多警告