diff --git a/.idea/misc.xml b/.idea/misc.xml index 37a7509..7bfef59 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 5b3acc2..4613006 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,6 +10,10 @@ android { versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } } buildTypes { release { @@ -28,4 +32,7 @@ dependencies { androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' implementation 'androidx.recyclerview:recyclerview:1.1.0' implementation 'androidx.cardview:cardview:1.0.0' + + implementation 'com.squareup.retrofit2:retrofit:2.7.1' + implementation 'com.squareup.retrofit2:converter-gson:2.7.1' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index cb393d2..2df53bd 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,6 +2,8 @@ + + currencies = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_currency_list); + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("https://api.exchangeratesapi.io/") + .addConverterFactory(GsonConverterFactory.create()) + .build(); + + ExchangeApi api = retrofit.create(ExchangeApi.class); + + Call call = api.getCurrencies(); + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + RatesData body = response.body().rates; + Log.i("CurrencyListActivity", ""+ body); + + currencies.add(new Currency(R.drawable.us_flag, body.USD, "$")); + } + + @Override + public void onFailure(Call call, Throwable t) { + Log.e("CurrencyListActivity", "", t); + + } + }); + + List currencies = new ArrayList<>(); currencies.add(new Currency(R.drawable.japan_flag, 118.59f,"Y")); currencies.add(new Currency(R.drawable.uk_flag, 0.83f,"£")); currencies.add(new Currency(R.drawable.us_flag, 1.08f,"$")); - currencies.add(new Currency(R.drawable.japan_flag, 118.59f,"Y")); - currencies.add(new Currency(R.drawable.uk_flag, 0.83f,"£")); - currencies.add(new Currency(R.drawable.us_flag, 1.08f,"$")); - currencies.add(new Currency(R.drawable.japan_flag, 118.59f,"Y")); - currencies.add(new Currency(R.drawable.uk_flag, 0.83f,"£")); - currencies.add(new Currency(R.drawable.us_flag, 1.08f,"$")); - currencies.add(new Currency(R.drawable.japan_flag, 118.59f,"Y")); - currencies.add(new Currency(R.drawable.uk_flag, 0.83f,"£")); - currencies.add(new Currency(R.drawable.us_flag, 1.08f,"$")); - currencies.add(new Currency(R.drawable.japan_flag, 118.59f,"Y")); - currencies.add(new Currency(R.drawable.uk_flag, 0.83f,"£")); - currencies.add(new Currency(R.drawable.us_flag, 1.08f,"$")); - currencies.add(new Currency(R.drawable.japan_flag, 118.59f,"Y")); - currencies.add(new Currency(R.drawable.uk_flag, 0.83f,"£")); - currencies.add(new Currency(R.drawable.us_flag, 1.08f,"$")); - currencies.add(new Currency(R.drawable.japan_flag, 118.59f,"Y")); - currencies.add(new Currency(R.drawable.uk_flag, 0.83f,"£")); - currencies.add(new Currency(R.drawable.us_flag, 1.08f,"$")); - currencies.add(new Currency(R.drawable.japan_flag, 118.59f,"Y")); - currencies.add(new Currency(R.drawable.uk_flag, 0.83f,"£")); - currencies.add(new Currency(R.drawable.us_flag, 1.08f,"$")); - currencies.add(new Currency(R.drawable.japan_flag, 118.59f,"Y")); - currencies.add(new Currency(R.drawable.uk_flag, 0.83f,"£")); - currencies.add(new Currency(R.drawable.us_flag, 1.08f,"$")); - currencies.add(new Currency(R.drawable.japan_flag, 118.59f,"Y")); - currencies.add(new Currency(R.drawable.uk_flag, 0.83f,"£")); - currencies.add(new Currency(R.drawable.us_flag, 1.08f,"$")); - currencies.add(new Currency(R.drawable.japan_flag, 118.59f,"Y")); - currencies.add(new Currency(R.drawable.uk_flag, 0.83f,"£")); currencies.add(new Currency(R.drawable.us_flag, 1.08f,"$")); currencies.add(new Currency(R.drawable.japan_flag, 118.59f,"Y")); currencies.add(new Currency(R.drawable.uk_flag, 0.83f,"£")); diff --git a/app/src/main/java/com/stod/money/api/ExchangeApi.java b/app/src/main/java/com/stod/money/api/ExchangeApi.java new file mode 100644 index 0000000..7b6e8cb --- /dev/null +++ b/app/src/main/java/com/stod/money/api/ExchangeApi.java @@ -0,0 +1,12 @@ +package com.stod.money.api; + +import com.stod.money.Currency; + +import retrofit2.Call; +import retrofit2.http.GET; + +public interface ExchangeApi { + + @GET("lastet") + Call getCurrencies(); +} diff --git a/app/src/main/java/com/stod/money/api/RatesData.java b/app/src/main/java/com/stod/money/api/RatesData.java new file mode 100644 index 0000000..457eb9b --- /dev/null +++ b/app/src/main/java/com/stod/money/api/RatesData.java @@ -0,0 +1,7 @@ +package com.stod.money.api; + +public class RatesData { + public float GBP; + public float USD; + public float JPY; +} diff --git a/app/src/main/java/com/stod/money/api/RatesWrapper.java b/app/src/main/java/com/stod/money/api/RatesWrapper.java new file mode 100644 index 0000000..743e3d2 --- /dev/null +++ b/app/src/main/java/com/stod/money/api/RatesWrapper.java @@ -0,0 +1,6 @@ +package com.stod.money.api; + +public class RatesWrapper { + public String date; + public RatesData rates; +}