Android Open Source - gameapi-android P Request






From Project

Back to project page gameapi-android.

License

The source code is released under:

MIT License

If you think the Android project gameapi-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.playtomic.android;
//from   w  w  w. j a va  2 s.c om
import org.json.JSONException;
import org.json.JSONObject;

import com.loopj.android.http.*;

public class PRequest {
  
  private static String APIURL;
  private static String PublicKey;
  private static String PrivateKey;
  
  public static void initialize(String publickey, String privatekey, String apiurl)
  {
    if(!apiurl.endsWith("/"))
    {
      apiurl += "/";
    }
    
    apiurl += "v1?publickey=" + publickey;
    
    APIURL = apiurl;
    PrivateKey = privatekey;
    PublicKey = publickey;
  }

  public static void load(String section, String action, JSONObject postdata, final PResponseHandler callback)
  {
    if(postdata == null)
    {
      postdata = new JSONObject();
    }
    else if(postdata.has("publickey"))
    {
      postdata.remove("publickey");
      postdata.remove("section");
      postdata.remove("action");
    }
    
    try {
      postdata.put("publickey", PublicKey);
      postdata.put("section", section);
      postdata.put("action", action);
    } catch(JSONException e) {
      callback.onResponse(new PResponse(false, 1), null);
      return;
    }

    String jsonstring = postdata.toString();
    String data = PEncode.base64(jsonstring);
    String hash = PEncode.md5(jsonstring + PrivateKey);
  
    RequestParams postparams = new RequestParams();
    postparams.put("data", data);
    postparams.put("hash", hash);

    AsyncHttpClient client = new AsyncHttpClient();
    client.addHeader("Content-Type", "application/json");
    client.addHeader("Accept", "application/json");
    client.setTimeout(10000);
    
    client.post(APIURL, postparams, new PRequestHandler() {

        @Override
      public void onSuccess(JSONObject object) {

        PResponse success = new PResponse();
        
        try {
          success.setErrorCode(object.has("errorcode") ? object.getInt("errorcode") : 1);
        } catch(JSONException ex) {
          success.setErrorCode(1);
        }
        
        try {        
          success.setSuccess(object.has("success") ? object.getBoolean("success") : false);
        } catch(JSONException ex) {
          success.setSuccess(false);
        }
        
        callback.onResponse(success, object);
      }

      @Override
      public void onFailure(Throwable e, JSONObject errorResponse) {
        callback.onResponse(new PResponse(false, 1), null);
      }
    });
  }
}




Java Source Code List

com.loopj.android.http.AsyncHttpClient.java
com.loopj.android.http.AsyncHttpRequest.java
com.loopj.android.http.AsyncHttpResponseHandler.java
com.loopj.android.http.BinaryHttpResponseHandler.java
com.loopj.android.http.JsonHttpResponseHandler.java
com.loopj.android.http.PersistentCookieStore.java
com.loopj.android.http.RequestParams.java
com.loopj.android.http.RetryHandler.java
com.loopj.android.http.SerializableCookie.java
com.loopj.android.http.SimpleMultipartEntity.java
com.loopj.android.http.SyncHttpClient.java
com.playtomic.android.AchievementListHandler.java
com.playtomic.android.AchievementSaveHandler.java
com.playtomic.android.AchievementStreamHandler.java
com.playtomic.android.Achievements.java
com.playtomic.android.GameVarsHandler.java
com.playtomic.android.GameVars.java
com.playtomic.android.GeoIPHandler.java
com.playtomic.android.GeoIP.java
com.playtomic.android.LeaderboardListHandler.java
com.playtomic.android.LeaderboardSaveHandler.java
com.playtomic.android.Leaderboards.java
com.playtomic.android.ListOptions.java
com.playtomic.android.NewsletterSubscribeHandler.java
com.playtomic.android.NewsletterSubscription.java
com.playtomic.android.Newsletter.java
com.playtomic.android.PEncode.java
com.playtomic.android.PRequestHandler.java
com.playtomic.android.PRequest.java
com.playtomic.android.PResponseHandler.java
com.playtomic.android.PResponse.java
com.playtomic.android.PlayerAchievement.java
com.playtomic.android.PlayerAward.java
com.playtomic.android.PlayerCountry.java
com.playtomic.android.PlayerLevelListHandler.java
com.playtomic.android.PlayerLevelRateHandler.java
com.playtomic.android.PlayerLevelSaveLoadHandler.java
com.playtomic.android.PlayerLevel.java
com.playtomic.android.PlayerLevels.java
com.playtomic.android.PlayerScore.java
com.playtomic.android.Playtomic.java