Я пытаюсь получить доступ к серверу, чтобы получить строку JSON. Но видимо в Ice Cream Sandwich нельзя делать сетевые операции в основном потоке, а класс AsyncTask меня смущает и не работает. Вот что у меня есть до сих пор:
//up in main code
Void blah = null;
URI uri = "kubie.dyndns-home.com/R2Bar2/ingredients.php";
new DownloadFilesTask().execute(uri , blah, blah);
private class DownloadFilesTask extends AsyncTask<URI, Void, Void> {
protected Void doInBackground(URI... uri) {
HttpClient client = new DefaultHttpClient();
String json = "";
int duration = Toast.LENGTH_SHORT;
try {
HttpResponse response = null;
BufferedReader rd = null;
String line = "";
HttpGet request = new HttpGet(uri);
} catch (URISyntaxException e1) {
}
return null;
}
protected void onProgressUpdate(Integer... progress) {
}
protected void onPostExecute(Long result) {
}
Ему не нравится мой HttpGet request = new HttpGet(uri)
. Он говорит изменить uri на URI, но это уже так! Я попытался изменить все параметры на Void, но мое приложение просто принудительно закрывается.
Кто-нибудь знает, как это сделать?