Update CoinMarketCap API to V2 | Fix HitBTC balance synchronization
This commit is contained in:
parent
373a944e41
commit
0927d6629c
@ -7,6 +7,7 @@ import android.support.v4.app.Fragment;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.widget.SwipeRefreshLayout;
|
import android.support.v4.widget.SwipeRefreshLayout;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@ -20,6 +21,7 @@ import com.github.mikephil.charting.data.PieDataSet;
|
|||||||
import com.github.mikephil.charting.data.PieEntry;
|
import com.github.mikephil.charting.data.PieEntry;
|
||||||
import com.github.mikephil.charting.formatter.PercentFormatter;
|
import com.github.mikephil.charting.formatter.PercentFormatter;
|
||||||
import com.nauk.moodl.Activities.SettingsActivity;
|
import com.nauk.moodl.Activities.SettingsActivity;
|
||||||
|
import com.nauk.moodl.DataManagers.CurrencyData.Currency;
|
||||||
import com.nauk.moodl.DataManagers.MarketCapManager;
|
import com.nauk.moodl.DataManagers.MarketCapManager;
|
||||||
import com.nauk.moodl.DataManagers.PreferencesManager;
|
import com.nauk.moodl.DataManagers.PreferencesManager;
|
||||||
import com.nauk.moodl.PlaceholderManager;
|
import com.nauk.moodl.PlaceholderManager;
|
||||||
@ -197,19 +199,20 @@ public class MarketCapitalization extends Fragment {
|
|||||||
private PieDataSet getMarketDominanceDataSet()
|
private PieDataSet getMarketDominanceDataSet()
|
||||||
{
|
{
|
||||||
List<PieEntry> entries = new ArrayList<>();
|
List<PieEntry> entries = new ArrayList<>();
|
||||||
|
List<Currency> topCurrencies = marketCapManager.getTopCurrencies();
|
||||||
ArrayList<Integer> colors = new ArrayList<>();
|
ArrayList<Integer> colors = new ArrayList<>();
|
||||||
|
|
||||||
float otherCurrenciesDominance = 0;
|
float topCurrenciesDominance = 0;
|
||||||
|
|
||||||
for (String key : marketCapManager.getDominance(preferencesManager.getDefaultCurrency()).keySet())
|
for(int i = 0; i < topCurrencies.size(); i++)
|
||||||
{
|
{
|
||||||
entries.add(new PieEntry(marketCapManager.getDominance(preferencesManager.getDefaultCurrency()).get(key), key));
|
Log.d("moodl", "Dominance : " + topCurrencies.get(i).getSymbol() + " " + topCurrencies.get(i).getDominance(marketCapManager.getMarketCap()));
|
||||||
otherCurrenciesDominance += marketCapManager.getDominance(preferencesManager.getDefaultCurrency()).get(key);
|
entries.add(new PieEntry(topCurrencies.get(i).getDominance(marketCapManager.getMarketCap()), topCurrencies.get(i).getSymbol()));
|
||||||
colors.add(dominantCurrenciesColors.get(key));
|
topCurrenciesDominance += topCurrencies.get(i).getDominance(marketCapManager.getMarketCap());
|
||||||
|
colors.add(dominantCurrenciesColors.get(topCurrencies.get(i).getSymbol()));
|
||||||
}
|
}
|
||||||
|
|
||||||
entries.add(new PieEntry(100-otherCurrenciesDominance, "Others"));
|
entries.add(new PieEntry(100-topCurrenciesDominance, "Others"));
|
||||||
colors.add(-12369084);
|
colors.add(-12369084);
|
||||||
|
|
||||||
PieDataSet set = new PieDataSet(entries, "Market Cap Dominance");
|
PieDataSet set = new PieDataSet(entries, "Market Cap Dominance");
|
||||||
|
@ -490,7 +490,6 @@ public class Summary extends Fragment {
|
|||||||
|
|
||||||
private void loadCurrency(Currency currency)
|
private void loadCurrency(Currency currency)
|
||||||
{
|
{
|
||||||
Log.d("moodl", "For " + currency.getSymbol() + " " + (currency.getBalance() * currency.getValue()) + " " + preferencesManager.getMinimumAmount());
|
|
||||||
if(!currency.getSymbol().equals("USD") && (currency.getBalance() * currency.getValue()) > preferencesManager.getMinimumAmount())
|
if(!currency.getSymbol().equals("USD") && (currency.getBalance() * currency.getValue()) > preferencesManager.getMinimumAmount())
|
||||||
{
|
{
|
||||||
currency.setName(balanceManager.getCurrencyName(currency.getSymbol()));
|
currency.setName(balanceManager.getCurrencyName(currency.getSymbol()));
|
||||||
|
@ -18,7 +18,7 @@ import java.util.List;
|
|||||||
public class Currency implements Parcelable {
|
public class Currency implements Parcelable {
|
||||||
|
|
||||||
private int id;
|
private int id;
|
||||||
private String tickerId;
|
private int tickerId;
|
||||||
private String name;
|
private String name;
|
||||||
private String symbol;
|
private String symbol;
|
||||||
private double value;
|
private double value;
|
||||||
@ -38,6 +38,7 @@ public class Currency implements Parcelable {
|
|||||||
private String proofType;
|
private String proofType;
|
||||||
private int totalSupply;
|
private int totalSupply;
|
||||||
private double marketCapitalization;
|
private double marketCapitalization;
|
||||||
|
private double dominance;
|
||||||
private int rank;
|
private int rank;
|
||||||
private String startDate;
|
private String startDate;
|
||||||
private List<String> socialMediaLinks;
|
private List<String> socialMediaLinks;
|
||||||
@ -64,6 +65,13 @@ public class Currency implements Parcelable {
|
|||||||
this.symbol = symbol;
|
this.symbol = symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Currency(String name, String symbol, int tickerId)
|
||||||
|
{
|
||||||
|
this.name = name;
|
||||||
|
this.symbol = symbol;
|
||||||
|
this.tickerId = tickerId;
|
||||||
|
}
|
||||||
|
|
||||||
//public Currency(int id, String symbol, String name, String algorithm, String proofType, )
|
//public Currency(int id, String symbol, String name, String algorithm, String proofType, )
|
||||||
|
|
||||||
public void getTimestampPrice(android.content.Context context, String toSymbol, final PriceCallBack callBack, long timestamp)
|
public void getTimestampPrice(android.content.Context context, String toSymbol, final PriceCallBack callBack, long timestamp)
|
||||||
@ -396,11 +404,11 @@ public class Currency implements Parcelable {
|
|||||||
this.rank = rank;
|
this.rank = rank;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTickerId() {
|
public int getTickerId() {
|
||||||
return tickerId;
|
return tickerId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTickerId(String tickerId) {
|
public void setTickerId(int tickerId) {
|
||||||
this.tickerId = tickerId;
|
this.tickerId = tickerId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -412,6 +420,11 @@ public class Currency implements Parcelable {
|
|||||||
this.startDate = startDate;
|
this.startDate = startDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public float getDominance(float totalMarketCapitalization)
|
||||||
|
{
|
||||||
|
return (float) (marketCapitalization / totalMarketCapitalization) * 100;
|
||||||
|
}
|
||||||
|
|
||||||
private void updateDayFluctuation()
|
private void updateDayFluctuation()
|
||||||
{
|
{
|
||||||
if(historyMinutes != null)
|
if(historyMinutes != null)
|
||||||
@ -469,7 +482,7 @@ public class Currency implements Parcelable {
|
|||||||
dest.writeList(this.historyMinutes);
|
dest.writeList(this.historyMinutes);
|
||||||
dest.writeParcelable(this.icon, flags);
|
dest.writeParcelable(this.icon, flags);
|
||||||
dest.writeInt(this.chartColor);
|
dest.writeInt(this.chartColor);
|
||||||
dest.writeString(this.tickerId);
|
dest.writeInt(this.tickerId);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Currency(Parcel in) {
|
protected Currency(Parcel in) {
|
||||||
@ -484,7 +497,7 @@ public class Currency implements Parcelable {
|
|||||||
in.readList(this.historyMinutes, CurrencyDataChart.class.getClassLoader());
|
in.readList(this.historyMinutes, CurrencyDataChart.class.getClassLoader());
|
||||||
this.icon = in.readParcelable(Bitmap.class.getClassLoader());
|
this.icon = in.readParcelable(Bitmap.class.getClassLoader());
|
||||||
this.chartColor = in.readInt();
|
this.chartColor = in.readInt();
|
||||||
this.tickerId = in.readString();
|
this.tickerId = in.readInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final Parcelable.Creator<Currency> CREATOR = new Parcelable.Creator<Currency>() {
|
public static final Parcelable.Creator<Currency> CREATOR = new Parcelable.Creator<Currency>() {
|
||||||
|
@ -32,7 +32,7 @@ public class CurrencyDataRetriever {
|
|||||||
private String dayHistoryUrl = "https://min-api.cryptocompare.com/data/histoday";
|
private String dayHistoryUrl = "https://min-api.cryptocompare.com/data/histoday";
|
||||||
private String priceUrl = "https://min-api.cryptocompare.com/data/pricemultifull?fsyms=";
|
private String priceUrl = "https://min-api.cryptocompare.com/data/pricemultifull?fsyms=";
|
||||||
private String snapshotUrl = "https://www.cryptocompare.com/api/data/coinsnapshotfullbyid/?id=";
|
private String snapshotUrl = "https://www.cryptocompare.com/api/data/coinsnapshotfullbyid/?id=";
|
||||||
private String tickerUrl = "https://api.coinmarketcap.com/v1/ticker/";
|
private String tickerUrl = "https://api.coinmarketcap.com/v2/ticker/";
|
||||||
|
|
||||||
private RequestQueue requestQueue;
|
private RequestQueue requestQueue;
|
||||||
|
|
||||||
@ -45,9 +45,9 @@ public class CurrencyDataRetriever {
|
|||||||
requestQueue = Volley.newRequestQueue(context);
|
requestQueue = Volley.newRequestQueue(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateTickerInfos(String currencyName, final String toSymbol, final CurrencyCallBack callBack)
|
public void updateTickerInfos(int tickerId, final String toSymbol, final CurrencyCallBack callBack)
|
||||||
{
|
{
|
||||||
final String requestUrl = tickerUrl + currencyName + "/?convert=" + toSymbol;
|
final String requestUrl = tickerUrl + tickerId + "/?convert=" + toSymbol;
|
||||||
|
|
||||||
StringRequest stringRequest = new StringRequest(Request.Method.GET, requestUrl,
|
StringRequest stringRequest = new StringRequest(Request.Method.GET, requestUrl,
|
||||||
new Response.Listener<String>() {
|
new Response.Listener<String>() {
|
||||||
|
@ -10,10 +10,13 @@ import com.android.volley.toolbox.StringRequest;
|
|||||||
import com.android.volley.toolbox.Volley;
|
import com.android.volley.toolbox.Volley;
|
||||||
import com.nauk.moodl.DataManagers.BalanceManager;
|
import com.nauk.moodl.DataManagers.BalanceManager;
|
||||||
|
|
||||||
|
import org.json.JSONArray;
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -22,9 +25,9 @@ import java.util.regex.Pattern;
|
|||||||
|
|
||||||
public class CurrencyTickerList {
|
public class CurrencyTickerList {
|
||||||
|
|
||||||
final private static String TICKERLISTURL = "https://api.coinmarketcap.com/v1/ticker/?limit=0";
|
final private static String TICKERLISTURL = "https://api.coinmarketcap.com/v2/listings/";
|
||||||
private RequestQueue requestQueue;
|
private RequestQueue requestQueue;
|
||||||
private LinkedHashMap<String, String> coinTickersHashmap;
|
private List<Currency> currencyTickerList;
|
||||||
private android.content.Context context;
|
private android.content.Context context;
|
||||||
|
|
||||||
public CurrencyTickerList(android.content.Context context)
|
public CurrencyTickerList(android.content.Context context)
|
||||||
@ -35,7 +38,7 @@ public class CurrencyTickerList {
|
|||||||
|
|
||||||
public void update(final BalanceManager.IconCallBack callBack)
|
public void update(final BalanceManager.IconCallBack callBack)
|
||||||
{
|
{
|
||||||
coinTickersHashmap = new LinkedHashMap<>();
|
currencyTickerList = new ArrayList<>();
|
||||||
StringRequest strRequest = new StringRequest(Request.Method.GET, TICKERLISTURL,
|
StringRequest strRequest = new StringRequest(Request.Method.GET, TICKERLISTURL,
|
||||||
new Response.Listener<String>() {
|
new Response.Listener<String>() {
|
||||||
@Override
|
@Override
|
||||||
@ -55,22 +58,19 @@ public class CurrencyTickerList {
|
|||||||
requestQueue.add(strRequest);
|
requestQueue.add(strRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTickerIdForSymbol(String symbol)
|
public int getTickerIdForSymbol(String symbol)
|
||||||
{
|
{
|
||||||
String tickerId = null;
|
int tickerId = 0;
|
||||||
try {
|
int i = 0;
|
||||||
JSONObject jsonObject = new JSONObject(coinTickersHashmap.get(symbol));
|
|
||||||
tickerId = jsonObject.getString("id");
|
while(!currencyTickerList.get(i).equals(symbol) && currencyTickerList.size() < i)
|
||||||
} catch (JSONException | NullPointerException e) {
|
|
||||||
switch (e.getMessage())
|
|
||||||
{
|
{
|
||||||
case "Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference":
|
i++;
|
||||||
Log.d("moodl", "Symbol " + symbol + " not supported");
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
e.printStackTrace();
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(currencyTickerList.get(i).equals(symbol))
|
||||||
|
{
|
||||||
|
tickerId = currencyTickerList.get(i).getTickerId();
|
||||||
}
|
}
|
||||||
|
|
||||||
return tickerId;
|
return tickerId;
|
||||||
@ -78,14 +78,28 @@ public class CurrencyTickerList {
|
|||||||
|
|
||||||
public void processTickerListResult(String response, BalanceManager.IconCallBack callBack)
|
public void processTickerListResult(String response, BalanceManager.IconCallBack callBack)
|
||||||
{
|
{
|
||||||
response = response.substring(1, response.length() - 1);
|
try {
|
||||||
|
JSONObject dataJsonObject = new JSONObject(response);
|
||||||
|
JSONArray dataJsonArray = dataJsonObject.getJSONArray("data");
|
||||||
|
|
||||||
|
for(int i = 0; i < dataJsonArray.length(); i++)
|
||||||
|
{
|
||||||
|
JSONObject currencyJsonObject = dataJsonArray.getJSONObject(i);
|
||||||
|
currencyTickerList.add(new Currency(currencyJsonObject.getString("name"), currencyJsonObject.getString("symbol"), currencyJsonObject.getInt("id")));
|
||||||
|
}
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
/*response = response.substring(16, response.length() - 2);
|
||||||
String[] strTable = response.split(Pattern.quote("},"));
|
String[] strTable = response.split(Pattern.quote("},"));
|
||||||
|
|
||||||
for(int i = 0; i < strTable.length; i++)
|
for(int i = 0; i < strTable.length; i++)
|
||||||
{
|
{
|
||||||
strTable[i] += "}";
|
strTable[i] += "}";
|
||||||
|
Log.d("moodl", "TICKER " + i + " " + strTable[i]);
|
||||||
try {
|
try {
|
||||||
JSONObject jsonObject = new JSONObject(strTable[i]);
|
JSONObject jsonObject = new JSONObject(strTable[i]);
|
||||||
|
Log.d("moodl", "TICKER JSON " + i + " " + jsonObject);
|
||||||
switch (jsonObject.getString("symbol"))
|
switch (jsonObject.getString("symbol"))
|
||||||
{
|
{
|
||||||
case "MIOTA":
|
case "MIOTA":
|
||||||
@ -101,7 +115,7 @@ public class CurrencyTickerList {
|
|||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
callBack.onSuccess();
|
callBack.onSuccess();
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@ public class HitBtcManager {
|
|||||||
|
|
||||||
private String publicKey;
|
private String publicKey;
|
||||||
private String privateKey;
|
private String privateKey;
|
||||||
final private String hitBalanceUrl = "https://api.hitbtc.com/api/2/trading/balance";
|
final private String hitBalanceUrl = "https://api.hitbtc.com/api/2/account/balance";
|
||||||
final private String tradeHistoryUrl = "https://api.hitbtc.com/api/2/history/trades?";
|
final private String tradeHistoryUrl = "https://api.hitbtc.com/api/2/history/trades?";
|
||||||
private RequestQueue requestQueue;
|
private RequestQueue requestQueue;
|
||||||
private List<String> pairSymbolList;
|
private List<String> pairSymbolList;
|
||||||
@ -115,10 +115,12 @@ public class HitBtcManager {
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
JSONObject jsonObject = response.getJSONObject(i);
|
JSONObject jsonObject = response.getJSONObject(i);
|
||||||
|
double available = Double.parseDouble(jsonObject.getString("available"));
|
||||||
|
double reserved = Double.parseDouble(jsonObject.getString("reserved"));
|
||||||
|
|
||||||
if(Float.parseFloat(jsonObject.getString("available")) > 0)
|
if(available > 0 || reserved > 0)
|
||||||
{
|
{
|
||||||
balance.add(new Currency(jsonObject.getString("currency"), Double.parseDouble(jsonObject.getString("available"))));
|
balance.add(new Currency(jsonObject.getString("currency"), available + reserved));
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
|
@ -1,17 +1,24 @@
|
|||||||
package com.nauk.moodl.DataManagers;
|
package com.nauk.moodl.DataManagers;
|
||||||
|
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
import com.android.volley.Request;
|
import com.android.volley.Request;
|
||||||
import com.android.volley.RequestQueue;
|
import com.android.volley.RequestQueue;
|
||||||
import com.android.volley.Response;
|
import com.android.volley.Response;
|
||||||
import com.android.volley.VolleyError;
|
import com.android.volley.VolleyError;
|
||||||
import com.android.volley.toolbox.StringRequest;
|
import com.android.volley.toolbox.StringRequest;
|
||||||
import com.android.volley.toolbox.Volley;
|
import com.android.volley.toolbox.Volley;
|
||||||
|
import com.nauk.moodl.DataManagers.CurrencyData.Currency;
|
||||||
|
|
||||||
|
import org.json.JSONArray;
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -20,10 +27,10 @@ import java.util.regex.Pattern;
|
|||||||
|
|
||||||
public class MarketCapManager {
|
public class MarketCapManager {
|
||||||
|
|
||||||
private static final String topCurrenciesUrl = "https://api.coinmarketcap.com/v1/ticker/?limit=9&convert=";
|
private static final String topCurrenciesUrl = "https://api.coinmarketcap.com/v2/ticker/?limit=9&convert=";
|
||||||
private static final String marketCapUrl = "https://api.coinmarketcap.com/v1/global/?convert=";
|
private static final String marketCapUrl = "https://api.coinmarketcap.com/v2/global/?convert=";
|
||||||
private RequestQueue requestQueue;
|
private RequestQueue requestQueue;
|
||||||
private String topRequestResult[];
|
private List<Currency> topCurrencies;
|
||||||
private long marketCap;
|
private long marketCap;
|
||||||
private long dayVolume;
|
private long dayVolume;
|
||||||
|
|
||||||
@ -36,6 +43,8 @@ public class MarketCapManager {
|
|||||||
{
|
{
|
||||||
String requestString = topCurrenciesUrl + toSymbol;
|
String requestString = topCurrenciesUrl + toSymbol;
|
||||||
|
|
||||||
|
topCurrencies = new ArrayList<>();
|
||||||
|
|
||||||
StringRequest strRequest = new StringRequest(Request.Method.GET, requestString,
|
StringRequest strRequest = new StringRequest(Request.Method.GET, requestString,
|
||||||
new Response.Listener<String>() {
|
new Response.Listener<String>() {
|
||||||
@Override
|
@Override
|
||||||
@ -86,31 +95,21 @@ public class MarketCapManager {
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
JSONObject jsonObject = new JSONObject(response);
|
JSONObject jsonObject = new JSONObject(response);
|
||||||
|
JSONObject dataJsonObject = jsonObject.getJSONObject("data");
|
||||||
|
JSONObject quotesJsonObject = dataJsonObject.getJSONObject("quotes");
|
||||||
|
JSONObject valuesJsonObject = quotesJsonObject.getJSONObject(toSymbol);
|
||||||
|
|
||||||
marketCap = new BigDecimal(jsonObject.getString("total_market_cap_" + toSymbol.toLowerCase())).longValue();
|
marketCap = valuesJsonObject.getLong("total_market_cap");
|
||||||
|
|
||||||
dayVolume = new BigDecimal(jsonObject.getString("total_24h_volume_" + toSymbol.toLowerCase())).longValue();
|
dayVolume = valuesJsonObject.getLong("total_volume_24h");
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public HashMap<String, Float> getDominance(String toSymbol)
|
public List<Currency> getTopCurrencies()
|
||||||
{
|
{
|
||||||
HashMap<String, Float> dominance = new HashMap<>();
|
return topCurrencies;
|
||||||
|
|
||||||
for(int i = 0; i < topRequestResult.length; i++)
|
|
||||||
{
|
|
||||||
try {
|
|
||||||
JSONObject jsonObject = new JSONObject(topRequestResult[i]);
|
|
||||||
|
|
||||||
dominance.put(jsonObject.getString("symbol"), (Float.parseFloat(jsonObject.getString("market_cap_" + toSymbol.toLowerCase())) / marketCap)*100);
|
|
||||||
} catch (JSONException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return dominance;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public long getDayVolume()
|
public long getDayVolume()
|
||||||
@ -120,22 +119,28 @@ public class MarketCapManager {
|
|||||||
|
|
||||||
private void processTopCurrencies(String response, String toSymbol)
|
private void processTopCurrencies(String response, String toSymbol)
|
||||||
{
|
{
|
||||||
response = response.substring(response.indexOf('[')+1, response.lastIndexOf(']'));
|
try {
|
||||||
|
JSONObject masterJsonObject = new JSONObject(response);
|
||||||
|
|
||||||
topRequestResult = response.split(Pattern.quote("},"));
|
if(masterJsonObject.keys().hasNext())
|
||||||
|
|
||||||
for(int i = 0; i < topRequestResult.length; i++)
|
|
||||||
{
|
{
|
||||||
topRequestResult[i] += "}";
|
JSONObject currencyJsonObject = masterJsonObject.getJSONObject(masterJsonObject.keys().next());
|
||||||
/*try {
|
Iterator<?> keys = currencyJsonObject.keys();
|
||||||
|
|
||||||
JSONObject jsonObject = new JSONObject(topRequestResult[i]);
|
while(keys.hasNext())
|
||||||
|
{
|
||||||
//Log.d("moodl", "Symbol : " + jsonObject.getString("symbol") + " " + jsonObject.getString("rank"));
|
String key = keys.next().toString();
|
||||||
|
JSONObject subCurrencyJsonObject = currencyJsonObject.getJSONObject(key);
|
||||||
|
Currency newCurrency = new Currency(subCurrencyJsonObject.getString("name"), subCurrencyJsonObject.getString("symbol"), subCurrencyJsonObject.getInt("id"));
|
||||||
|
JSONObject quoteJsonObject = subCurrencyJsonObject.getJSONObject("quotes");
|
||||||
|
JSONObject symJsonObject = quoteJsonObject.getJSONObject(toSymbol);
|
||||||
|
newCurrency.setMarketCapitalization(symJsonObject.getDouble("market_cap"));
|
||||||
|
|
||||||
|
topCurrencies.add(newCurrency);
|
||||||
|
}
|
||||||
|
}
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user