Для заполнения RecyclerView значениями из базы данных (BD) в Android, вам потребуется следовать нескольким шагам:
1. Создайте модель данных, которая представляет объекты, хранящиеся в вашей базе данных. Например, если у вас есть таблица "Фильмы" с полями "Название" и "Жанр", то модель данных может выглядеть следующим образом:
public class Film { private String title; private String genre; public Film(String title, String genre) { this.title = title; this.genre = genre; } public String getTitle() { return title; } public String getGenre() { return genre; } }
2. Создайте класс для работы с базой данных. В этом классе вы должны определить методы для работы с данными, такие как добавление, получение или удаление записей из таблицы "Фильмы".
3. Создайте адаптер для RecyclerView, который будет заполнять элементы списка данными из базы данных. Создайте класс-наследник от RecyclerView.Adapter, который будет присваивать значения элементам списка.
public class FilmAdapter extends RecyclerView.Adapter<FilmAdapter.FilmViewHolder> { private List<Film> films; public FilmAdapter(List<Film> films) { this.films = films; } @NonNull @Override public FilmViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_film, parent, false); return new FilmViewHolder(view); } @Override public void onBindViewHolder(@NonNull FilmViewHolder holder, int position) { Film film = films.get(position); holder.titleTextView.setText(film.getTitle()); holder.genreTextView.setText(film.getGenre()); } @Override public int getItemCount() { return films.size(); } static class FilmViewHolder extends RecyclerView.ViewHolder { TextView titleTextView; TextView genreTextView; FilmViewHolder(@NonNull View itemView) { super(itemView); titleTextView = itemView.findViewById(R.id.titleTextView); genreTextView = itemView.findViewById(R.id.genreTextView); } } }
4. В вашей активности или фрагменте, где вы хотите отобразить список данных из базы данных, создайте экземпляр RecyclerView и настроьте его. Создайте экземпляр FilmAdapter и установите его в RecyclerView. Например:
RecyclerView recyclerView = findViewById(R.id.recyclerView); List<Film> films = db.getAllFilms(); // Получение записей из базы данных FilmAdapter adapter = new FilmAdapter(films); recyclerView.setAdapter(adapter); recyclerView.setLayoutManager(new LinearLayoutManager(this));
Здесь db - экземпляр класса для работы с базой данных, getAllFilms() - метод, возвращающий все записи из таблицы "Фильмы".
Теперь ваш RecyclerView будет заполнен значениями из базы данных. При обновлении данных в базе данных, вам нужно будет вызвать метод notifyDataSetChanged() у адаптера, чтобы обновить отображение списка.