تطبيق Bitcoin Tracker الجزء الثاني
نظرة سريعة بالفيديو
1- MainActivity.java
package com.example.belasri.bitcointracker;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.webkit.ClientCertRequest;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.JsonHttpResponseHandler;
import org.json.JSONException;
import org.json.JSONObject;
import cz.msebera.android.httpclient.Header;
public class MainActivity extends AppCompatActivity {
private TextView mPrice;
private Spinner mSpinner;
private final String url = "https://apiv2.bitcoinaverage.com/indices/global/ticker/BTC";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mPrice = (TextView) findViewById(R.id.price);
mSpinner = (Spinner) findViewById(R.id.curr_spin);
final ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.curr_array, R.layout.spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
mSpinner.setAdapter(adapter);
mSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
final String fullUrl = url + adapterView.getItemAtPosition(i);
getData(fullUrl);
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
}
private void getData(String url){
AsyncHttpClient asyncHttpClient = new AsyncHttpClient();
asyncHttpClient.get(url,new JsonHttpResponseHandler(){
@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
super.onSuccess(statusCode, headers, response);
Log.d("dataGotten",response.toString());
try {
String price = response.getString("last");
mPrice.setText(price);
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
super.onFailure(statusCode, headers, responseString, throwable);
}
});
}
}
2- الملف strings.xml
<resources>
<string name="app_name">Bitcoin Tracker</string>
<string name="default_text">0.00</string>
<string name="label_error_text">Erreur</string>
<string name="baseDevise">Devise</string>
<string name="img_desc">Bitcoin Logo</string>
<string-array name="curr_array">
<item>MAD</item>
<item>BRL</item>
<item>CAD</item>
<item>CNY</item>
<item>EUR</item>
<item>GBP</item>
<item>HKD</item>
<item>JPY</item>
<item>PLN</item>
<item>RUB</item>
<item>SEK</item>
<item>USD</item>
<item>AUD</item>
</string-array>
</resources>
3- الملف colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#28aac0</color>
<color name="colorAccent">#FF4081</color>
<color name="textColour">#FFFFFF</color>
<color name="selectColor">#F1A734</color>
<color name="bgColor">#e65100</color>
<color name="black">#000000</color>
<color name="white">#FFFFFF</color>
</resources>
4- الملف build.gradle
compile 'com.loopj.android:android-async-http:1.4.9'