Android Open Source - steam-sales-mobile J S O N






From Project

Back to project page steam-sales-mobile.

License

The source code is released under:

GNU General Public License

If you think the Android project steam-sales-mobile 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

/*
Steam Sales Mobile - Android application to keep track of the steam sales.
        Copyright (C) 2013  Mathieu Rhaume <mathieu@codingrhemes.com>
/*from w  ww.  j  a va  2 s  .  co  m*/
        This program is free software: you can redistribute it and/or modify
        it under the terms of the GNU General Public License as published by
        the Free Software Foundation, either version 3 of the License, or
        (at your option) any later version.

        This program is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        GNU General Public License for more details.
*/

package com.codingrhemes.steamsalesmobile;

import android.graphics.Bitmap;
import android.os.AsyncTask;
import android.util.Log;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class JSON {
    public static String readJSONFeed(String URL) {
        StringBuilder stringBuilder = new StringBuilder();
        HttpClient httpClient = new DefaultHttpClient();
        HttpGet httpGet = new HttpGet(URL);
        try {
            HttpResponse response = httpClient.execute(httpGet);
            StatusLine statusLine = response.getStatusLine();
            int statusCode = statusLine.getStatusCode();
            if (statusCode == 200) {
                HttpEntity entity = response.getEntity();
                InputStream inputStream = entity.getContent();
                BufferedReader reader = new BufferedReader(
                        new InputStreamReader(inputStream));
                String line;
                while ((line = reader.readLine()) != null) {
                    stringBuilder.append(line);
                }
                inputStream.close();
            } else {
                Log.d("JSON", "Failed to download file");
            }
        } catch (Exception e) {
            Log.d("readJSONFeed", e.getLocalizedMessage());
        }
        return stringBuilder.toString();
    }

    public static List<Game> ParseJSONFromAPI(JSONObject validObject, boolean isMostPopular) {
        List<Game> lstGames = new ArrayList<Game>();

        JSONArray gamesInSale = null;
        JSONObject gameObject;
        Game agame;
        try {
            if (isMostPopular)
                gamesInSale = validObject.getJSONObject("most_popular").getJSONArray("items");
            else
                gamesInSale = validObject.getJSONObject("specials").getJSONArray("items");
        } catch (JSONException e) {
            // Failed to parse it :(.
            Log.d("JSON.ParseJSONFromAPI", e.getMessage());
        }
        for (int i = 0; i < gamesInSale.length(); i++) {
            agame = new Game();
            try {
                gameObject = gamesInSale.getJSONObject(i);
                agame.setCurrency(gameObject.optString("currency"));
                agame.setDiscount_expiration(gameObject.optString("discount_expiration"));
                agame.setDiscount_percent(gameObject.optString("discount_percent"));
                agame.setDiscounted(gameObject.optString("discounted"));
                agame.setFinal_price(gameObject.optString("final_price"));
                agame.setHeader_image(gameObject.optString("header_image"));
                agame.setLarge_capsule_img(gameObject.optString("large_capsule_image"));
                agame.setSmall_capsule_img(gameObject.optString("small_capsule_image"));
                agame.setName(gameObject.optString("name"));
                agame.setId(gameObject.optString("id"));

                lstGames.add(agame);
            } catch (JSONException e) {
                // Failed to parse it :(.
                Log.d("JSON.ParseJSONFromAPI", e.getMessage());
            }
        }
        return lstGames;
    }

    public static Game ParseDealOfTheDayJSONFromAPI(JSONObject validObject) {
        Game theDealOfTheDay = null;
        JSONArray gamesInSale;
        try {
            gamesInSale = validObject.getJSONObject("dailyDeal").getJSONArray("items");
            theDealOfTheDay = new Game();
            theDealOfTheDay.setName(gamesInSale.getJSONObject(0).optString("name"));
            theDealOfTheDay.setId(gamesInSale.getJSONObject(0).optString("id"));
            theDealOfTheDay.setFinal_price(gamesInSale.getJSONObject(0).optString("final_price"));
            theDealOfTheDay.setHeader_image(gamesInSale.getJSONObject(0).optString("header_image"));
        } catch (JSONException e) {
            // Failed to parse it :(.
            Log.d("JSON.ParseJSONFromAPI", e.getMessage());
        }
        return theDealOfTheDay;

    }


}




Java Source Code List

com.codingrhemes.steamsalesmobile.AboutActivity.java
com.codingrhemes.steamsalesmobile.BuildConfig.java
com.codingrhemes.steamsalesmobile.CustomArrayAdapter.java
com.codingrhemes.steamsalesmobile.GameSaleActivity.java
com.codingrhemes.steamsalesmobile.Game.java
com.codingrhemes.steamsalesmobile.HttpThumbnails.java
com.codingrhemes.steamsalesmobile.JSON.java