Advertisement
Maver1ck

Untitled

Jul 19th, 2013
312
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.00 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.  
  8. import net.droidman.bfstats.DataTest;
  9. import org.apache.http.HttpResponse;
  10. import org.apache.http.client.methods.HttpPost;
  11. import org.apache.http.entity.StringEntity;
  12. import org.apache.http.impl.client.DefaultHttpClient;
  13. import org.apache.http.params.CoreProtocolPNames;
  14. import org.apache.http.params.HttpConnectionParams;
  15.  
  16. import android.app.ProgressDialog;
  17. import android.content.Context;
  18. import android.content.Intent;
  19. import android.os.AsyncTask;
  20. import android.util.Log;
  21.  
  22. public class PlayerDataLoader extends AsyncTask<Void, Void, Void> {
  23.  
  24.     private String qname, qurl, test;
  25.     private ProgressDialog pd;
  26.     private Context mContext;
  27.  
  28.     public PlayerDataLoader(Context c, String player_name, String platform) {
  29.  
  30.         mContext = c;
  31.         qname = player_name;
  32.         qurl = "http://api.bf3stats.com/" + platform + "/player/";
  33.  
  34.     }
  35.  
  36.     @Override
  37.     protected void onPreExecute() {
  38.  
  39.         showProgressDialog();
  40.  
  41.         super.onPreExecute();
  42.     }
  43.  
  44.     @Override
  45.     protected void onPostExecute(Void result) {
  46.  
  47.         pd.cancel();
  48.         Intent i = new Intent(mContext, DataTest.class);
  49.         i.putExtra("test", test);
  50.         mContext.startActivity(i);
  51.         Log.d("onPE", "starting activity");
  52.  
  53.         super.onPostExecute(result);
  54.     }
  55.  
  56.     @Override
  57.     protected Void doInBackground(Void... arg0) {
  58.  
  59.         try {
  60.             test = queryServerForStatsData(qurl);
  61.  
  62.         } catch (Throwable e) {
  63.  
  64.             e.printStackTrace();
  65.         }
  66.  
  67.         return null;
  68.     }
  69.  
  70.     private void showProgressDialog() {
  71.  
  72.         pd = new ProgressDialog(mContext);
  73.         pd.setTitle("please wait");
  74.         pd.setMessage("retrieving data from server...");
  75.         pd.setCancelable(false);
  76.         pd.show();
  77.  
  78.     }
  79.  
  80.     private String setRequestParameters() {
  81.  
  82.         return "player=" + qname + "&opt=all";
  83.  
  84.     }
  85.  
  86.     private String queryServerForStatsData(String url) throws Throwable {
  87.  
  88.         HttpPost request = new HttpPost(url);
  89.         StringBuilder sb = new StringBuilder();
  90.  
  91.         StringEntity entity = new StringEntity(setRequestParameters());
  92.         entity.setContentType("application/x-www-form-urlencoded;charset=UTF-8");
  93.         request.getParams().setParameter(
  94.                 CoreProtocolPNames.USE_EXPECT_CONTINUE, Boolean.FALSE);
  95.  
  96.         request.setHeader("Accept", "application/json");
  97.         request.setEntity(entity);
  98.  
  99.         HttpResponse response = null;
  100.         DefaultHttpClient httpClient = new DefaultHttpClient();
  101.  
  102.         HttpConnectionParams.setSoTimeout(httpClient.getParams(), 10 * 1000);
  103.         HttpConnectionParams.setConnectionTimeout(httpClient.getParams(),
  104.                 10 * 1000);
  105.         try {
  106.  
  107.             response = httpClient.execute(request);
  108.         } catch (SocketException se) {
  109.             Log.e("SocketException", se + "");
  110.             throw se;
  111.         }
  112.  
  113.         finally {
  114.         }
  115.  
  116.         InputStream in = response.getEntity().getContent();
  117.         BufferedReader reader = new BufferedReader(new InputStreamReader(in));
  118.         String line = null;
  119.         while ((line = reader.readLine()) != null) {
  120.             sb.append(line);
  121.  
  122.         }
  123.  
  124.         return sb.toString();
  125.     }
  126.  
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement