Android - HTTP Get - 显式终止不称为错误。我错过了什么?

时间:2015-05-27 16:33:34

标签: android http get webpage last-modified

我正在开发一个相当简单的Android应用程序,该应用程序应该获取网页的最后修改/更新日期,但它似乎崩溃了以下消息

  

05-27 10:50:15.581 2638-2652 / android.process.acore E / DictionaryBackupAgent:无法从光标读取

     

05-27 10:50:20.658 2638-2647 / android.process.acore E / StrictMode:在附加的堆栈跟踪中获取资源但从未发布过。有关避免资源泄漏的信息,请参阅java.io.Closeable。

     

java.lang.Throwable:显式终止方法' close'没有叫

     

at dalvik.system.CloseGuard.open(CloseGuard.java:184)

     

在android.os.ParcelFileDescriptor。(ParcelFileDescriptor.java:180)

     

在android.os.ParcelFileDescriptor $ 1.createFromParcel(ParcelFileDescriptor.java:916)

     

在android.os.ParcelFileDescriptor $ 1.createFromParcel(ParcelFileDescriptor.java:906)

     

在android.app.IBackupAgent $ Stub.onTransact(IBackupAgent.java:57)

     

在android.os.Binder.execTransact(Binder.java:446)

我的代码的一部分如下。 getLastModified()方法似乎导致此崩溃,不确定原因。

private class Connection extends AsyncTask<String, Void, Integer> {
   @Override
    protected String doInBackground(String... urls) {
        String response = "This";
        URL url = null;
        try {
            url = new URL(urls[0]);
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }

        HttpURLConnection con = null;
        try {
            con = (HttpURLConnection) url.openConnection();
            con.connect();
            long date = con.getLastModified();
            response = Long.toString(date);
        } catch (IOException e) {
            e.printStackTrace();
        }

        return response;
    }

    @Override
    protected void onPostExecute(String result) {
        mainText2.setText(result);
    }
}

@Override
public void onClick(View v) {
     Connection task = new Connection();
    task.execute(new String[] { "http://www.example.com/files/index.html" });
}

我在这里缺少什么?任何帮助表示赞赏!

0 个答案:

没有答案