diff --git a/app/build.gradle b/app/build.gradle
index 525466b..dc8b799 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -2,7 +2,7 @@ plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-android-extensions'
- id 'kotlin-kapt'
+ id 'kotlin-kapt'
}
android {
@@ -48,20 +48,11 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.3.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
- implementation 'androidx.recyclerview:recyclerview:1.1.0'
- implementation 'com.google.android.material:material:1.3.0'
- implementation 'androidx.room:room-runtime:2.2.6'
- implementation 'androidx.preference:preference:1.1.1'
- implementation 'androidx.room:room-runtime:2.2.6'
- implementation 'com.squareup.picasso:picasso:2.71828'
- implementation 'com.squareup.okhttp:okhttp:2.2.0'
- implementation 'com.squareup.okhttp:okhttp-urlconnection:2.2.0'
- testImplementation 'junit:junit:4.+'
- androidTestImplementation 'androidx.test.ext:junit:1.1.2'
- androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
- annotationProcessor 'androidx.room:room-compiler:2.2.6'
- implementation 'androidx.navigation:navigation-fragment-ktx:2.2.2'
- implementation 'androidx.navigation:navigation-ui-ktx:2.2.2'
+// implementation 'androidx.recyclerview:recyclerview:1.1.0'
+// implementation 'com.google.android.material:material:1.3.0'
+// implementation 'androidx.preference:preference:1.1.1'
+// implementation 'androidx.navigation:navigation-fragment-ktx:2.2.2'
+// implementation 'androidx.navigation:navigation-ui-ktx:2.2.2'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
@@ -79,6 +70,12 @@ dependencies {
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'com.squareup.okhttp:okhttp:2.2.0'
implementation 'com.squareup.okhttp:okhttp-urlconnection:2.2.0'
+
+ // Database
+ implementation 'androidx.room:room-runtime:2.2.6'
+ implementation 'androidx.room:room-runtime:2.2.6'
+ kapt 'androidx.room:room-compiler:2.2.6'
+
}
apply plugin: 'kotlin-android-extensions'
diff --git a/app/schemas/com.example.ca_contest.dao.AppDatabase/1.json b/app/schemas/com.example.ca_contest.dao.AppDatabase/1.json
new file mode 100644
index 0000000..3122f40
--- /dev/null
+++ b/app/schemas/com.example.ca_contest.dao.AppDatabase/1.json
@@ -0,0 +1,64 @@
+{
+ "formatVersion": 1,
+ "database": {
+ "version": 1,
+ "identityHash": "8bdf84f071ba217eb3653e01500bac94",
+ "entities": [
+ {
+ "tableName": "country",
+ "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`countryId` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `country` TEXT, `capitalCity` TEXT, `continent` TEXT, `code` TEXT, `date` INTEGER)",
+ "fields": [
+ {
+ "fieldPath": "countryId",
+ "columnName": "countryId",
+ "affinity": "INTEGER",
+ "notNull": true
+ },
+ {
+ "fieldPath": "country",
+ "columnName": "country",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "capitalCity",
+ "columnName": "capitalCity",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "continent",
+ "columnName": "continent",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "code",
+ "columnName": "code",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "date",
+ "columnName": "date",
+ "affinity": "INTEGER",
+ "notNull": false
+ }
+ ],
+ "primaryKey": {
+ "columnNames": [
+ "countryId"
+ ],
+ "autoGenerate": true
+ },
+ "indices": [],
+ "foreignKeys": []
+ }
+ ],
+ "views": [],
+ "setupQueries": [
+ "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
+ "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '8bdf84f071ba217eb3653e01500bac94')"
+ ]
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f127d22..21da455 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -12,9 +12,7 @@
android:usesCleartextTraffic="true"
android:theme="@style/Theme.CA_Contest">
+ android:name=".CountrySelectorActivity">
@@ -22,8 +20,6 @@
-
-
\ No newline at end of file
diff --git a/app/src/main/java/com/example/ca_contest/CountryAdapter.kt b/app/src/main/java/com/example/ca_contest/CountryAdapter.kt
deleted file mode 100644
index 8093f14..0000000
--- a/app/src/main/java/com/example/ca_contest/CountryAdapter.kt
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.example.ca_contest
-
-import android.util.Log
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.TextView
-import androidx.recyclerview.widget.RecyclerView
-
-class CountryAdapter(private var listCountry: MutableList) :
- RecyclerView.Adapter()
-{
- // Crée chaque vue item à afficher :
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CountryViewHolder
- {
- val viewCourse = LayoutInflater.from(parent.context)
- .inflate(R.layout.item_list, parent, false)
- return CountryViewHolder(viewCourse)
- }
-
- // Renseigne le contenu de chaque vue item :
- override fun onBindViewHolder(holder: CountryViewHolder, position: Int)
- {
- holder.textViewLibelleCourse.text = listCountry[position].country
- }
-
- override fun getItemCount(): Int = listCountry.size
- // ViewHolder :
- inner class CountryViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView)
- {
- val textViewLibelleCourse: TextView = itemView.findViewById(R.id.list_country)
- init
- {
- textViewLibelleCourse.setOnClickListener {
- val country = listCountry[adapterPosition]
- }
- }
- }
-
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/ca_contest/CountrySelectorActivity.kt b/app/src/main/java/com/example/ca_contest/CountrySelectorActivity.kt
index 139c2cb..231228d 100644
--- a/app/src/main/java/com/example/ca_contest/CountrySelectorActivity.kt
+++ b/app/src/main/java/com/example/ca_contest/CountrySelectorActivity.kt
@@ -5,11 +5,13 @@ import android.app.ProgressDialog
import android.content.Intent
import android.os.Bundle
import android.view.KeyEvent
+import android.view.MenuItem
import android.view.View
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
+import androidx.appcompat.app.ActionBar
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
@@ -70,5 +72,4 @@ class CountrySelectorActivity : AppCompatActivity() {
recycler.adapter?.notifyDataSetChanged()
}
}
-
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/ca_contest/ListCountryActivity.kt b/app/src/main/java/com/example/ca_contest/ListCountryActivity.kt
deleted file mode 100644
index 3dddf02..0000000
--- a/app/src/main/java/com/example/ca_contest/ListCountryActivity.kt
+++ /dev/null
@@ -1,61 +0,0 @@
-package com.example.ca_contest
-
-import android.annotation.SuppressLint
-import android.content.ContextWrapper
-import android.content.Intent
-import androidx.appcompat.app.AppCompatActivity
-import android.os.Bundle
-import android.util.Log
-import android.view.View
-import android.widget.ImageView
-import androidx.recyclerview.widget.LinearLayoutManager
-import com.example.ca_contest.dao.AppDatabaseHelper
-import com.squareup.picasso.Picasso;
-import kotlinx.android.synthetic.main.activity_list_country.*
-import java.io.File
-import java.text.SimpleDateFormat
-import java.util.*
-import kotlin.collections.ArrayList
-
-class ListCountryActivity : AppCompatActivity() {
- private lateinit var countryAdapter: CountryAdapter
-// private lateinit var imageView: ImageView
- @SuppressLint("SimpleDateFormat")
- override fun onCreate(savedInstanceState: Bundle?)
- {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_list_country)
-
-// imageView = findViewById(R.id.image)
- // à ajouter pour de meilleures performances :
- list_country.setHasFixedSize(true)
-
- // layout manager, décrivant comment les items sont disposés :
- val layoutManager = LinearLayoutManager(this)
- list_country.layoutManager = layoutManager
- // contenu d'exemple :
- val listCountry: List = AppDatabaseHelper
- .getDatabase(this)
- .countryDAO()
- .getListCountry()
-
-// Picasso.get()
-// .load("http://www.geognos.com/api/en/countries/flag/FR.png")
-// .fit()
-// .centerCrop() // ou centerInside()
-// .into(imageView)
-
- }
-
- fun addCountry(view: View) {
-// val intent = Intent(this, CountrySelectorActivity::class.java)
-// startActivity(intent)
-//
-// finish()
- }
-
- fun deleteCountry(view: View) {
-
- }
-
-}
diff --git a/app/src/main/java/com/example/ca_contest/MainActivity.kt b/app/src/main/java/com/example/ca_contest/MainActivity.kt
index 8dc40d6..20aa4b6 100644
--- a/app/src/main/java/com/example/ca_contest/MainActivity.kt
+++ b/app/src/main/java/com/example/ca_contest/MainActivity.kt
@@ -1,19 +1,43 @@
package com.example.ca_contest
import android.content.Intent
-import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
-import android.widget.Button
+import android.view.View
+import androidx.appcompat.app.ActionBar
+import androidx.appcompat.app.AppCompatActivity
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.example.ca_contest.adapters.HomepageCountryAdapter
+import com.example.ca_contest.dao.AppDatabaseHelper
+import java.util.*
class MainActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
+ private lateinit var countryAdapter: HomepageCountryAdapter
+ // private lateinit var imageView: ImageView
+ override fun onCreate(savedInstanceState: Bundle?)
+ {
super.onCreate(savedInstanceState)
+
setContentView(R.layout.activity_main)
- var btn = findViewById