P
Patschi
Erfahrenes Mitglied
- 55
Guten Tag,
ich versuche ein JSON-Feed herunterzuladen und es danach zu parsen, jedoch scheitert es am bei dem AsyncTask.Execute Befehl. Ich habe bereits einige verschiedene Möglichkeiten getestet, aber bin noch nicht auf einen grünen Zweig gekommen.
Der Code sieht bisher so aus:
Pastebin: [Java] Android HTTP - Pastebin.com
Zur Hilfe genommen habe ich mir:
Handling HTTP GET method in Android | Anu's crazy world
Vielen Dank für eure Hilfe!
ich versuche ein JSON-Feed herunterzuladen und es danach zu parsen, jedoch scheitert es am bei dem AsyncTask.Execute Befehl. Ich habe bereits einige verschiedene Möglichkeiten getestet, aber bin noch nicht auf einen grünen Zweig gekommen.
Der Code sieht bisher so aus:
Code:
package com.patschi.scenegamers;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import com.patschi.scenegamers.R;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.content.SharedPreferences;
import android.view.Menu;
import android.widget.Toast;
/*
// MODE_PRIVATE defines that no other app can access the data
SharedPreferences settings = this.getSharedPreferences("SceneGamersApp", MODE_PRIVATE);
// save data in the shared preferences
SharedPreferences.Editor editor = settings.edit();
editor.putString("Username", "Hans Wurst");
editor.commit();
// remove the setting again
editor.remove("Username");
editor.commit();
*/
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
loadNews();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
private void loadNews() {
class HttpGetAsyncTask extends AsyncTask<String, Void, String>{
@Override
protected String doInBackground(String... params) {
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet("http://domain.tld/json.php");
try {
HttpResponse httpResponse = httpClient.execute(httpGet);
System.out.println("httpResponse");
InputStream inputStream = httpResponse.getEntity().getContent();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
StringBuilder stringBuilder = new StringBuilder();
String bufferedStrChunk = null;
while((bufferedStrChunk = bufferedReader.readLine()) != null){
stringBuilder.append(bufferedStrChunk);
}
return stringBuilder.toString();
} catch (ClientProtocolException cpe) {
System.out.println("Exception of httpResponse:" + cpe);
cpe.printStackTrace();
return null;
} catch (IOException ioe) {
System.out.println("2nd exception of httpResponse:" + ioe);
ioe.printStackTrace();
return null;
}
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
Toast.makeText(getApplicationContext(), "Done.", Toast.LENGTH_LONG).show();
}
HttpGetAsyncTask httpGetAsyncTask = new HttpGetAsyncTask();
[COLOR="Red"] HttpGetAsyncTask.execute();[/COLOR]
}
}
}
Zur Hilfe genommen habe ich mir:
Handling HTTP GET method in Android | Anu's crazy world
Vielen Dank für eure Hilfe!