Advertisement
Guest User

dataLoader

a guest
Jul 17th, 2013
337
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.13 KB | None | 0 0
  1. package net.droidman.bfstats.networking;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.InputStream;
  5. import java.io.InputStreamReader;
  6. import java.net.SocketException;
  7. import net.droidman.bfstats.Lolwhat;
  8. import org.apache.http.HttpResponse;
  9. import org.apache.http.client.methods.HttpPost;
  10. import org.apache.http.entity.StringEntity;
  11. import org.apache.http.impl.client.DefaultHttpClient;
  12. import org.apache.http.params.HttpConnectionParams;
  13. import android.app.ProgressDialog;
  14. import android.content.Context;
  15. import android.content.Intent;
  16. import android.os.AsyncTask;
  17. import android.util.Log;
  18.  
  19. public class DataLoader extends AsyncTask<Void, Void, Void> {
  20.  
  21.     private String query_url, qname;
  22.     private Context con;
  23.     private ProgressDialog pd;
  24.     private String test;
  25.  
  26.     public DataLoader(Context c, String name, String version, String platform) {
  27.  
  28.         // version is not used at this point
  29.  
  30.         con = c;
  31.         qname = name;
  32.         query_url = "http://api.bf3stats.com/" + platform + "/player";
  33.  
  34.     }
  35.  
  36.     @Override
  37.     protected void onPreExecute() {
  38.  
  39.         pd = new ProgressDialog(con);
  40.         pd.setCancelable(false);
  41.         pd.setTitle("please wait");
  42.         pd.setMessage("retrieving data from server...");
  43.         pd.show();
  44.  
  45.         super.onPreExecute();
  46.     }
  47.  
  48.     @Override
  49.     protected Void doInBackground(Void... params) {
  50.  
  51.         try {
  52.             test = postDataToServer(query_url);
  53.         } catch (Throwable e) {
  54.             // TODO Auto-generated catch block
  55.             e.printStackTrace();
  56.         }
  57.         Intent i = new Intent(con, Lolwhat.class);
  58.         i.putExtra("lol", test);
  59.         con.startActivity(i);
  60.  
  61.         return null;
  62.     }
  63.  
  64.     @Override
  65.     protected void onPostExecute(Void result) {
  66.  
  67.         pd.cancel();
  68.  
  69.         super.onPostExecute(result);
  70.     }
  71.  
  72.     public String prepareRequestParameters() {
  73.  
  74.         return "player=" + qname + "&opt=all";
  75.         // parameters are set correctly
  76.     }
  77.  
  78.     public String postDataToServer(String url) throws Throwable {
  79.  
  80.         HttpPost request = new HttpPost(url);
  81.         StringBuilder sb = new StringBuilder();
  82.  
  83.         String requestData = prepareRequestParameters();
  84.         StringEntity entity = new StringEntity(requestData);
  85.         entity.setContentType("application/x-www-form-urlencoded");// text/plain;charset=UTF-8
  86.         // entity.setContentEncoding(new
  87.         // BasicHeader(HTTP.CONTENT_TYPE,"application/json;charset=UTF-8"));
  88.         request.setHeader("Accept", "application/json");
  89.         request.setEntity(entity);
  90.         // Send request to WCF service
  91.         HttpResponse response = null;
  92.         DefaultHttpClient httpClient = new DefaultHttpClient();
  93.         // DefaultHttpClient httpClient = getNewHttpClient();
  94.         HttpConnectionParams.setSoTimeout(httpClient.getParams(), 10 * 1000);
  95.         HttpConnectionParams.setConnectionTimeout(httpClient.getParams(),
  96.                 10 * 1000);
  97.         try {
  98.  
  99.             response = httpClient.execute(request);
  100.         } catch (SocketException se) {
  101.             Log.e("SocketException", se + "");
  102.             throw se;
  103.         }
  104.  
  105.         finally {
  106.         }
  107.  
  108.         InputStream in = response.getEntity().getContent();
  109.         BufferedReader reader = new BufferedReader(new InputStreamReader(in));
  110.         String line = null;
  111.         while ((line = reader.readLine()) != null) {
  112.             sb.append(line);
  113.             Log.w("response in Post method", sb.toString() + "");
  114.         }
  115.  
  116.         return sb.toString();
  117.     }
  118.  
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement