diff --git a/app/src/main/java/fr/iut/pm/movieapplication/model/Genre.kt b/app/src/main/java/fr/iut/pm/movieapplication/model/Genre.kt new file mode 100644 index 0000000..62c322d --- /dev/null +++ b/app/src/main/java/fr/iut/pm/movieapplication/model/Genre.kt @@ -0,0 +1,33 @@ +package fr.iut.pm.movieapplication.model + +import androidx.room.ColumnInfo +import androidx.room.Entity +import androidx.room.PrimaryKey + +@Entity(tableName = "genre_table") +data class Genre( + @PrimaryKey + @ColumnInfo(name = "id") + var id : Int, + @ColumnInfo(name = "name") + var name : String +) { + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + + other as Genre + + if (id != other.id) return false + if (name != other.name) return false + + return true + } + + override fun hashCode(): Int { + var result = id + result = 31 * result + name.hashCode() + return result + } +} \ No newline at end of file diff --git a/app/src/main/java/fr/iut/pm/movieapplication/model/Movie.kt b/app/src/main/java/fr/iut/pm/movieapplication/model/Movie.kt new file mode 100644 index 0000000..96b8b59 --- /dev/null +++ b/app/src/main/java/fr/iut/pm/movieapplication/model/Movie.kt @@ -0,0 +1,67 @@ +package fr.iut.pm.movieapplication.model + +import androidx.room.ColumnInfo +import androidx.room.Embedded +import androidx.room.Entity +import androidx.room.PrimaryKey +import androidx.room.Relation +import java.util.Date + +@Entity(tableName = "movies_table") +data class Movie( + @ColumnInfo(name = "adult") + var adult: Boolean, + @ColumnInfo(name = "budget") + var budget: Int, + @ColumnInfo(name = "genres") + var genres: Array, + @ColumnInfo(name = "homepage") + var homePage: String?, + @PrimaryKey + @ColumnInfo(name = "id") + var movieId: Int, + @ColumnInfo(name = "original_language") + var originalLanguage: String, + @ColumnInfo(name = "original_title") + var originalTitle: String, + var overview: String?, + var popularity: Int, + //var posterPath : String?, + @Embedded + var productionCompanies: Array, + @Relation( + parentColumn = "movieId", + entityColumn = "" + ) + var productionCountries: Array, + var releaseDate: Date, + var revenue: Int, + var runtime: Int?, + //var spokenLanguages : Array, + var status: String, + var tagLine: String?, + var title: String, + @ColumnInfo(name = "vote_average") + var voteAverage: Number, + @ColumnInfo(name = "vote_count") + var voteCount : Int + + + ) { + + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + + other as Movie + + if (movieId != other.movieId) return false + + return true + } + + override fun hashCode(): Int { + return movieId + } +} \ No newline at end of file diff --git a/app/src/main/java/fr/iut/pm/movieapplication/model/ProductionCompany.kt b/app/src/main/java/fr/iut/pm/movieapplication/model/ProductionCompany.kt new file mode 100644 index 0000000..2e0bf5c --- /dev/null +++ b/app/src/main/java/fr/iut/pm/movieapplication/model/ProductionCompany.kt @@ -0,0 +1,32 @@ +package fr.iut.pm.movieapplication.model + +import androidx.room.ColumnInfo +import androidx.room.Entity +import androidx.room.PrimaryKey + +@Entity(tableName = "production_companies_table") +data class ProductionCompany( + var name : String, + @PrimaryKey + @ColumnInfo(name = "id") + var productionCompanyId : Int, + //var logoPath : String?, + @ColumnInfo(name="origin_country") + var originCountry : String +) { + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + + other as ProductionCompany + + if (productionCompanyId != other.productionCompanyId) return false + + return true + } + + override fun hashCode(): Int { + return productionCompanyId + } +} \ No newline at end of file diff --git a/app/src/main/java/fr/iut/pm/movieapplication/model/ProductionCountry.kt b/app/src/main/java/fr/iut/pm/movieapplication/model/ProductionCountry.kt new file mode 100644 index 0000000..46fc884 --- /dev/null +++ b/app/src/main/java/fr/iut/pm/movieapplication/model/ProductionCountry.kt @@ -0,0 +1,11 @@ +package fr.iut.pm.movieapplication.model + +import androidx.room.Entity + +@Entity(tableName = "production_country_table") +data class ProductionCountry( + var iso_3611_1 : String, + var name : String +) { + +} \ No newline at end of file diff --git a/app/src/main/java/fr/iut/pm/movieapplication/model/SpokenLanguage.kt b/app/src/main/java/fr/iut/pm/movieapplication/model/SpokenLanguage.kt new file mode 100644 index 0000000..98ba01b --- /dev/null +++ b/app/src/main/java/fr/iut/pm/movieapplication/model/SpokenLanguage.kt @@ -0,0 +1,8 @@ +package fr.iut.pm.movieapplication.model + +data class SpokenLanguage( + var iso_639_1 : String, + var name : String +) { + +} diff --git a/app/src/main/java/fr/iut/pm/movieapplication/ui/activity/MainActivity.kt b/app/src/main/java/fr/iut/pm/movieapplication/ui/activity/MainActivity.kt new file mode 100644 index 0000000..29ec867 --- /dev/null +++ b/app/src/main/java/fr/iut/pm/movieapplication/ui/activity/MainActivity.kt @@ -0,0 +1,12 @@ +package fr.iut.pm.movieapplication.ui.activity + +import androidx.appcompat.app.AppCompatActivity +import android.os.Bundle +import fr.iut.pm.movieapplication.R + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..cbde526 --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file