patschi

Android HTTP

Mar 15th, 2013
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.99 KB | None | 0 0
  1. package com.patschi.scenegamers;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6. import java.io.InputStreamReader;
  7.  
  8. import org.apache.http.HttpResponse;
  9. import org.apache.http.client.ClientProtocolException;
  10. import org.apache.http.client.HttpClient;
  11. import org.apache.http.client.methods.HttpGet;
  12. import org.apache.http.impl.client.DefaultHttpClient;
  13.  
  14. import com.patschi.scenegamers.R;
  15.  
  16. import android.os.AsyncTask;
  17. import android.os.Bundle;
  18. import android.app.Activity;
  19. import android.content.SharedPreferences;
  20. import android.view.Menu;
  21. import android.widget.Toast;
  22.  
  23. /*
  24.     // MODE_PRIVATE defines that no other app can access the data
  25.     SharedPreferences settings = this.getSharedPreferences("SceneGamersApp", MODE_PRIVATE);
  26.            
  27.     // save data in the shared preferences
  28.     SharedPreferences.Editor editor = settings.edit();
  29.     editor.putString("Username", "Hans Wurst");
  30.     editor.commit();
  31.            
  32.     // remove the setting again
  33.     editor.remove("Username");
  34.     editor.commit();
  35. */
  36.  
  37. public class MainActivity extends Activity {
  38.  
  39.     @Override
  40.     protected void onCreate(Bundle savedInstanceState) {
  41.         super.onCreate(savedInstanceState);
  42.         setContentView(R.layout.activity_main);
  43.         loadNews();
  44.     }
  45.  
  46.     @Override
  47.     public boolean onCreateOptionsMenu(Menu menu) {
  48.         // Inflate the menu; this adds items to the action bar if it is present.
  49.         getMenuInflater().inflate(R.menu.main, menu);
  50.         return true;
  51.     }
  52.    
  53.     private void loadNews() {
  54.         class HttpGetAsyncTask extends AsyncTask<String, Void, String>{
  55.             @Override
  56.             protected String doInBackground(String... params) {
  57.                 HttpClient httpClient = new DefaultHttpClient();
  58.                 HttpGet httpGet = new HttpGet("http://domain.tld/json.php");
  59.                 try {
  60.                     HttpResponse httpResponse = httpClient.execute(httpGet);
  61.                     System.out.println("httpResponse");
  62.                     InputStream inputStream = httpResponse.getEntity().getContent();
  63.                     InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
  64.                     BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
  65.                     StringBuilder stringBuilder = new StringBuilder();
  66.                     String bufferedStrChunk = null;
  67.                     while((bufferedStrChunk = bufferedReader.readLine()) != null){
  68.                         stringBuilder.append(bufferedStrChunk);
  69.                     }
  70.                     return stringBuilder.toString();   
  71.                  } catch (ClientProtocolException cpe) {
  72.                     System.out.println("Exception of httpResponse:" + cpe);
  73.                     cpe.printStackTrace();
  74.                     return null;
  75.                  } catch (IOException ioe) {
  76.                     System.out.println("2nd exception of httpResponse:" + ioe);
  77.                     ioe.printStackTrace();
  78.                     return null;
  79.                 }
  80.             }
  81.            
  82.             @Override
  83.             protected void onPostExecute(String result) {
  84.                 super.onPostExecute(result);
  85.                 Toast.makeText(getApplicationContext(), "Done.", Toast.LENGTH_LONG).show();
  86.             }
  87.            
  88.             HttpGetAsyncTask httpGetAsyncTask = new HttpGetAsyncTask();
  89.             HttpGetAsyncTask.execute();
  90.         }  
  91.     }  
  92. }
Advertisement
Add Comment
Please, Sign In to add comment