Я работаю над довольно простым приложением для 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: явный метод завершения «закрыть» не вызывается
в 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" });
}
Что мне здесь не хватает? Любая помощь приветствуется!