تطبيق Bitcoin Tracker الجزء الثاني

imadbelasri Android
AN

فهاد الجزء الثاني من تطبيق Bitcoin Tracker غادي نشوفو كيفاش نجبدو les données لي بغينا من ل api ديالنا ولي كيوفرها هاد الموقع هنا من بعد غادي نعرضو المقابل ديال كل عملة اختارها المستخدم بالبيتكوين.


نظرة سريعة بالفيديو


1- MainActivity.java

فالمجلد java كاين الملف MainActivity.java  فيه كنسترجع ال spinner وtextview لي زدنا ف activity_main.xml منبعد باستعمال ل adapter كنعطي ل spinner ل array لي فيها العملات ولي غادي تكون فالملف strings.xml ول background لي هو spinner_item.xml منبعد فل onItemSelected يعني ملي كيختار المستخدم شي عملة كنزيدها ل url لي جبدناه من ل api وكنصيفطو لل methode getData لي كتجبد المعلومات لي على شكل json ويلا بغيتي تشوف المعلومات لي كيردنا الرابط من هنا  منبعد كنسترجع الثمن لي هو last فل json data كنعرضو ف textview الكود ديال الملف هو :


                                                    
                                                        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

ف res/values كاين الملف strings.xml فيه كنزيد ال array ديال العملات لي غادي نحتاج بالإضافة لمعلومات اخرى على التطبيق الكود ديال الملف بعد التعديل هو :

                                                        
                                                            <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

ف res/values كاين الملف colors.xml فيه les couleurs لي غادي نحتاجو الكود ديال الملف بعد التعديل هو :

                                                        
                                                            <?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

ف build.gradle كنزيد library لي غادي تمكني من استرجاع المعلومات من الرابط ومن بعد ندير sync :

                                                        
                                                                compile 'com.loopj.android:android-async-http:1.4.9'
                                                        
                                                    

دروس ذات صلة

AN

كيفاش نصاوب آلة حاسبة ب Android

فهاد الدرس من سلسلة Android غادي نشوفو كيفاش نقادو واحد الآلة حاسبة بسيطة غادي تمكنا من القيام بع...


AN

كيفاش نصاوب Notes App

فهاد الدرس من سلسلة الأندرويد غادي نشوفو كيفاش نقادو واحد التطبيق كيمكن المستخدم من إمتلاك مذكرة يسج...


AN

كيفاش تصاوب Scanner Mood بالاندرويد

فهاد الدرس من سلسلة الاندرويد غادي نشوفو كيفاش نقادو واحد التطبيق كيمكن المستخدم من التعرف على الحا...


AN

كيفاش تصوب لعبة Brain Train بالاندرويد

فهاد الدرس من سلسلة الأندرويد غادي نشوفو كيفاش نصاوبو واحد اللعبة بسيطة سميتها Brain Train لعبة بسي...


AN

كيفاش نصاوب Contacts App بالأندرويد الجزء الاول

فهاد الدرس من سلسلة الاندرويد غادي نقادو واحد التطبيق كيمكن من تسجيل Contacts فقاعدة البيانات كما ك...


AN

كيفاش نصاوب Contacts App بالأندرويد الجزء الثاني

فهاد الجزء الثاني من هاد الدرس غادي نكملو الملفات الأخرى ولي غادي تمكن التطبيق ديالنا من الإشتغال ول...


AN

كيفاش تستعمل Volley باش ترسل البيانات الجزء الأول

فهاد الدرس من سلسلة الاندرويد غادي نشوفو كيفاش نستعملو ل volley library باش نديرو إتصال مع قاعدة بي...


AN

كيفاش تستعمل Volley باش ترسل البيانات الجزء الثاني

فهاد الجزء الثاني من هاد المشروع غادي نقادو الملفات لي غادي يمكننا من الإتصال بقاعدة البيانات والكود...


AN

كيفاش تستعمل Volley باش ترسل البيانات الجزء الثالت

فهاد الجزء الثالث من هاد المشروع غادي نزيدو واحد الدومين لي غادي يكون مجاني وغادي يعطينا واحد العنو...


AN

كيفاش تصاوب تطبيق Top 10 Downloads ب Android

فهاد الدرس غادي نصابو مشروع بسيط بandroid عبارة عن تطبيق كيعرض قائمة أفضل عشر تطبيقات مجانية فمتجر آ...