Android Open Source - gameapi-android Achievements






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;
//  w w  w . j  a v  a2 s . c  o  m
import org.json.JSONException;
import org.json.JSONObject;
import org.json.JSONArray;
import java.util.ArrayList;

public class Achievements {

    private static String SECTION = "achievements";
    private static String LIST = "list";
    private static String STREAM = "stream";
    private static String SAVE = "save";

    /**
     * Loads all achievements
     * @parma options   ListOptions or JSONObject of options
     * @param callback  AchievementListHandler for receiving the response and data
     */
    public static void list(ListOptions options, final AchievementListHandler callback) {
        PRequest.load(SECTION, LIST, options, new PResponseHandler() {
            @Override
            public void onResponse(PResponse response, JSONObject data) {
            if(response.getSuccess())
            {
                ArrayList<PlayerAchievement> achievements = new ArrayList<PlayerAchievement>();
                JSONArray acharray = data.optJSONArray("achievements");

                for(int i=0; i<acharray.length(); i++) {
                    JSONObject achjson = null;
                    try {
                        achjson = (JSONObject) acharray.get(i);
                    } catch (JSONException e) {
                        continue;
                    }
                    achievements.add(new PlayerAchievement(achjson));
                }

                callback.onSuccess(achievements, response);
            }
            else
            {
                callback.onFailure(response);
            }
            }
        });
    }

    /**
     * Loads a stream of achievements by players
     * @parma options   ListOptions or JSONObject of options
     * @param callback  AchievementStreamHandler for receiving the response and data
     */
    public static void stream(ListOptions options, final AchievementStreamHandler callback) {
        PRequest.load(SECTION, STREAM, options, new PResponseHandler() {
            @Override
            public void onResponse(PResponse response, JSONObject data) {
                if(response.getSuccess())
                {
                    ArrayList<PlayerAward> achievements = new ArrayList<PlayerAward>();
                    JSONArray acharray = data.optJSONArray("achievements");
                    int numachievements = data.optInt("numachievements");

                    for(int i=0; i<acharray.length(); i++) {
                        JSONObject achjson = null;
                        try {
                            achjson = (JSONObject) acharray.get(i);
                        } catch (JSONException e) {
                            continue;
                        }
                        achievements.add(new PlayerAward(achjson));
                    }

                    callback.onSuccess(achievements, numachievements, response);
                }
                else
                {
                    callback.onFailure(response);
                }
            }
        });
    }

    /**
     * Saves the level
     * @param achievement   The PlayerAchievement to save
     * @param callback  AchievementSaveHandler for receiving the response and data
     */
    public static void save(PlayerAchievement achievement, final AchievementSaveHandler callback) {

        PRequest.load(SECTION, SAVE, achievement, new PResponseHandler() {
            @Override
            public void onResponse(PResponse response, JSONObject data) {
                if(response.getSuccess())
                {
                    callback.onSuccess(response);
                }
                else
                {
                    callback.onFailure(response);
                }
            }
        });
    }
}




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