diff --git a/CineCool/app/build.gradle b/CineCool/app/build.gradle index 089e0ce..6981a31 100644 --- a/CineCool/app/build.gradle +++ b/CineCool/app/build.gradle @@ -9,14 +9,12 @@ android { defaultConfig { applicationId "fr.iut.cinecool" - minSdk 19 + minSdk 21 targetSdk 33 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - - multiDexEnabled true } buildTypes { @@ -33,7 +31,6 @@ android { jvmTarget = '1.8' } buildFeatures { - dataBinding true viewBinding true } } @@ -47,20 +44,24 @@ dependencies { implementation 'androidx.navigation:navigation-fragment-ktx:2.5.3' implementation 'androidx.navigation:navigation-ui-ktx:2.5.3' implementation 'com.google.android.gms:play-services-location:21.0.1' - implementation 'androidx.core:core-ktx:1.9.0' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.5' androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' - implementation "com.squareup.okhttp3:okhttp:4.9.3" - implementation "com.squareup.okhttp3:logging-interceptor:4.9.3" - implementation "com.google.code.gson:gson:2.8.9" - implementation 'com.squareup.retrofit2:retrofit:2.9.0' - implementation 'com.squareup.retrofit2:converter-gson:2.9.0' - implementation 'com.squareup.retrofit2:retrofit:2.9.0' - implementation 'androidx.fragment:fragment-ktx:1.5.6' - implementation 'androidx.multidex:multidex:2.0.1' + // Java language implementation + implementation("androidx.navigation:navigation-fragment:2.5.3") + implementation("androidx.navigation:navigation-ui:2.5.3") + + // Kotlin + implementation("androidx.navigation:navigation-fragment-ktx:2.5.3") + implementation("androidx.navigation:navigation-ui-ktx:2.5.3") + // Feature module Support + implementation("androidx.navigation:navigation-dynamic-features-fragment:2.5.3") + // Testing Navigation + androidTestImplementation("androidx.navigation:navigation-testing:2.5.3") + // Jetpack Compose Integration + implementation("androidx.navigation:navigation-compose:2.5.3") } \ No newline at end of file diff --git a/CineCool/app/src/main/java/fr/iut/cinecool/CinemaActivity.kt b/CineCool/app/src/main/java/fr/iut/cinecool/CinemaActivity.kt index 7781066..7ad53b5 100644 --- a/CineCool/app/src/main/java/fr/iut/cinecool/CinemaActivity.kt +++ b/CineCool/app/src/main/java/fr/iut/cinecool/CinemaActivity.kt @@ -1,11 +1,18 @@ package fr.iut.cinecool +import android.app.Activity import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import androidx.navigation.NavController +import androidx.navigation.fragment.NavHostFragment class CinemaActivity : AppCompatActivity() { + private lateinit var navController: NavController override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_cinema) + val navHostFragment = supportFragmentManager.findFragmentById(R.id.fragment) as NavHostFragment + navController = navHostFragment.navController } + } \ No newline at end of file diff --git a/CineCool/app/src/main/java/fr/iut/cinecool/CinemaFragment.kt b/CineCool/app/src/main/java/fr/iut/cinecool/CinemaFragment.kt new file mode 100644 index 0000000..2bf909b --- /dev/null +++ b/CineCool/app/src/main/java/fr/iut/cinecool/CinemaFragment.kt @@ -0,0 +1,18 @@ +package fr.iut.cinecool + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup + + +class CinemaFragment : Fragment() { + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_cinema, container, false) + } +} \ No newline at end of file diff --git a/CineCool/app/src/main/java/fr/iut/cinecool/MoviesFragment.kt b/CineCool/app/src/main/java/fr/iut/cinecool/MoviesFragment.kt new file mode 100644 index 0000000..cd2b969 --- /dev/null +++ b/CineCool/app/src/main/java/fr/iut/cinecool/MoviesFragment.kt @@ -0,0 +1,41 @@ +package fr.iut.cinecool + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Button +import android.widget.LinearLayout +import androidx.navigation.fragment.findNavController +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import fr.iut.cinecool.adapter.MovieAdapter +import fr.iut.cinecool.model.Movie +import fr.iut.cinecool.model.Stub + +class MoviesFragment : Fragment() { + private lateinit var recycler: RecyclerView + private lateinit var movieList: ArrayList + private lateinit var movieAdapter: MovieAdapter + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + val view = inflater.inflate(R.layout.fragment_movies, container, false) + val button = view.findViewById