Я начинающий разработчик Android.Я пытаюсь создать приложение базы данных фильмов, используя tmdb.Для этого я использую язык Kotlin и решил использовать Retrofit и GSON для моего анализа JSON и HTTP-вызовов.Тем не менее, я не делал этого раньше.Я прошел несколько уроков, но одно отличается от другого, и мой ADD не очень помогает, когда дело доходит до выработки концепций.
Пока это мой код.Все, что он делает, это берет изображение заполнителя и отображает его в 3-х колоночном макете сетки повторного просмотра 300x (случайное число, потому что у меня еще нет размера списка):
MainActivity.kt
class MainActivity() : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val recyclerView = findViewById<RecyclerView>(R.id.recycler_view);
recyclerView.layoutManager = LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
recyclerView.layoutManager = GridLayoutManager(this, 3);
recyclerView.adapter = PosterAdapter()
}
}
PosterAdapter.kt
class PosterAdapter() : RecyclerView.Adapter<PosterHolder>(){
override fun getItemCount(): Int { return 300}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PosterHolder{
val layoutInflater = LayoutInflater.from(parent.context)
val listItem = layoutInflater.inflate(R.layout.list_item, parent, false)
return PosterHolder(listItem)
}
override fun onBindViewHolder(holder: PosterHolder, position: Int) {
holder.view.movie_poster?.setImageResource(R.mipmap.beauty_and_the_beast_ver3)
holder.view.movie_poster?.scaleType = ImageView.ScaleType.FIT_XY
}
}
class PosterHolder(val view: View) : RecyclerView.ViewHolder(view), View.OnClickListener {
var imageView: ImageView? = null
fun PosterHolder(view: View){ this.imageView = view.findViewById<View>(R.id.movie_poster) as ImageView }
override fun onClick(p0: View?) {}
}
Я не хочу, чтобы кто-то готовил для меня код.Я не могу учиться таким образом.Буду признателен за простое пошаговое объяснение того, как реализовать обе библиотеки в моем приложении.