Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.droidman.bfstats.networking;
- import java.io.BufferedReader;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.net.SocketException;
- import net.droidman.bfstats.DataTest;
- import org.apache.http.HttpResponse;
- import org.apache.http.client.methods.HttpPost;
- import org.apache.http.entity.StringEntity;
- import org.apache.http.impl.client.DefaultHttpClient;
- import org.apache.http.params.CoreProtocolPNames;
- import org.apache.http.params.HttpConnectionParams;
- import android.app.ProgressDialog;
- import android.content.Context;
- import android.content.Intent;
- import android.os.AsyncTask;
- import android.util.Log;
- public class PlayerDataLoader extends AsyncTask<Void, Void, Void> {
- private String qname, qurl, test;
- private ProgressDialog pd;
- private Context mContext;
- public PlayerDataLoader(Context c, String player_name, String platform) {
- mContext = c;
- qname = player_name;
- qurl = "http://api.bf3stats.com/" + platform + "/player/";
- }
- @Override
- protected void onPreExecute() {
- showProgressDialog();
- super.onPreExecute();
- }
- @Override
- protected void onPostExecute(Void result) {
- pd.cancel();
- Intent i = new Intent(mContext, DataTest.class);
- i.putExtra("test", test);
- mContext.startActivity(i);
- Log.d("onPE", "starting activity");
- super.onPostExecute(result);
- }
- @Override
- protected Void doInBackground(Void... arg0) {
- try {
- test = queryServerForStatsData(qurl);
- } catch (Throwable e) {
- e.printStackTrace();
- }
- return null;
- }
- private void showProgressDialog() {
- pd = new ProgressDialog(mContext);
- pd.setTitle("please wait");
- pd.setMessage("retrieving data from server...");
- pd.setCancelable(false);
- pd.show();
- }
- private String setRequestParameters() {
- return "player=" + qname + "&opt=all";
- }
- private String queryServerForStatsData(String url) throws Throwable {
- HttpPost request = new HttpPost(url);
- StringBuilder sb = new StringBuilder();
- StringEntity entity = new StringEntity(setRequestParameters());
- entity.setContentType("application/x-www-form-urlencoded;charset=UTF-8");
- request.getParams().setParameter(
- CoreProtocolPNames.USE_EXPECT_CONTINUE, Boolean.FALSE);
- request.setHeader("Accept", "application/json");
- request.setEntity(entity);
- HttpResponse response = null;
- DefaultHttpClient httpClient = new DefaultHttpClient();
- HttpConnectionParams.setSoTimeout(httpClient.getParams(), 10 * 1000);
- HttpConnectionParams.setConnectionTimeout(httpClient.getParams(),
- 10 * 1000);
- try {
- response = httpClient.execute(request);
- } catch (SocketException se) {
- Log.e("SocketException", se + "");
- throw se;
- }
- finally {
- }
- InputStream in = response.getEntity().getContent();
- BufferedReader reader = new BufferedReader(new InputStreamReader(in));
- String line = null;
- while ((line = reader.readLine()) != null) {
- sb.append(line);
- }
- return sb.toString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement