Вопросы с тегом «android-architecture-components»

Новая коллекция библиотек, которые помогут вам разрабатывать надежные, тестируемые и обслуживаемые приложения для Android. Начните с классов для управления жизненным циклом компонентов пользовательского интерфейса и управления сохранением данных.

10
Что такое AndroidX?
Я читаю о комнате библиотеки Android. Я вижу, они изменили пакет androidна androidx. Я не понимал, что. Может кто-нибудь объяснить, пожалуйста? implementation "androidx.room:room-runtime:$room_version" annotationProcessor "androidx.room:room-compiler:$room_version" Даже это доступно с androidпакетом также. implementation "android.arch.persistence.room:runtime:$room_version" annotationProcessor "android.arch.persistence.room:compiler:$room_version" Зачем нужно было упаковывать новые библиотеки поддержки androidxвместо android? Вариант использования и влияние факторов в …

9
Когда использовать RxJava в Android, а когда использовать LiveData от Android Architectural Components?
У меня нет причины использовать RxJava в Android и LiveData от Android Architectural Components. Было бы очень полезно, если бы примеры использования и различия между ними были объяснены вместе с примером в виде кода, который объясняет различия между ними.

8
Комната персистентной библиотеки. Удалить все
Как я могу удалить все записи в определенной таблице, используя Библиотеку комнат? Мне нужно удалить таблицу, но я не могу найти какую-либо информацию, как это сделать. Только когда база данных мигрирует или загружает все записи и удаляет их :)

3
AndroidViewModel против ViewModel
С появлением библиотеки компонентов архитектуры Android появилось несколько новых классов, в том числе AndroidViewModelи ViewModel. Однако у меня возникли проблемы с выяснением различий между этими двумя классами. Документация кратко описывается AndroidViewModelследующим образом : С учетом контекста приложения ViewModel Я ценю краткость, но что именно это означает? Когда мы должны использовать …

21
ViewModelProviders устарела в 1.1.0
Глядя на документы Google для ViewModel, они показывают приведенный ниже пример кода о том, как получить ViewModel: val model = ViewModelProviders.of(this).get(MyViewModel::class.java) При использовании последней зависимости android.arch.lifecycle:extensions:1.1.1такого класса нет ViewModelProviders. Переходя к документации для ViewModelProviders, я увидел комментарий: Этот класс объявлен устаревшим на уровне API 1.1.0. Используйте ViewModelProvider.AndroidViewModelFactory Проблема в том, …

14
Не удается разрешить символ ViewModelProviders в AppCompatActivity
Привет, я пытаюсь заставить мою ViewModel работать, но пока безуспешно. Android Studio показывает ошибку Cannot resolve symbol 'ViewModelProviders'. Любой другой вопрос , который я нашел на эту тему исправлял extends Activityк extends AppCompatActivity, но я простирающийся правильный. Не уверен, что мне не хватает ... Мой код основан на этом видео …

12
Как очистить стек навигации после перехода к другому фрагменту в Android
Я использую новый компонент архитектуры навигации в android, и я застрял в очистке стека навигации после перехода к новому фрагменту. Пример: я нахожусь в loginFragment и хочу, чтобы этот фрагмент был очищен из стека, когда я перехожу к домашнему фрагменту, чтобы пользователь не возвращался обратно в loginFragment, когда он нажимает …

9
Библиотека сохраняемости комнаты Android: Upsert
Библиотека сохраняемости Room в Android любезно включает аннотации @Insert и @Update, которые работают для объектов или коллекций. Однако у меня есть вариант использования (push-уведомления, содержащие модель), для которого потребуется UPSERT, поскольку данные могут существовать или не существовать в базе данных. Sqlite не имеет встроенного upsert, и обходные пути описаны в …

5
Как обновить LiveData ViewModel из фоновой службы и обновления пользовательского интерфейса
Недавно я изучаю архитектуру Android, которую недавно представил Google. Из документации я нашел это: public class MyViewModel extends ViewModel { private MutableLiveData<List<User>> users; public LiveData<List<User>> getUsers() { if (users == null) { users = new MutableLiveData<List<Users>>(); loadUsers(); } return users; } private void loadUsers() { // do async operation to …

3
Почему существует отдельный подкласс MutableLiveData от LiveData?
Похоже , что MutableLiveDataотличается от LiveDataтолько за счет изготовления setValue()и postValue()методы общественного, а в LiveDataих защите. Каковы некоторые причины сделать отдельный класс для этого изменения, а не просто определять эти методы как общедоступные в самом LiveDataсебе? Вообще говоря, является ли такая форма наследования (увеличение видимости определенных методов единственным изменением) хорошо …

4
Наблюдение за LiveData из ViewModel
У меня есть отдельный класс, в котором я обрабатываю выборку данных (в частности, Firebase), и я обычно возвращаю из него объекты LiveData и обновляю их асинхронно. Теперь я хочу, чтобы возвращенные данные хранились в ViewModel, но проблема в том, что для получения указанного значения мне нужно наблюдать за объектом LiveData, …

6
Android Room: вставка сущностей отношений с помощью Room
Я добавил отношения "один ко многим" в Room с помощью Relation . Я сослался на этот пост, чтобы написать следующий код для отношения в Room. В сообщении рассказывается, как читать значения из базы данных, но сохранять объекты в базе данных, в результате чего userIdони пусты, что означает отсутствие связи между …

2
<androidx.fragment.app.FragmentContainerView> vs <фрагмент> как представление для NavHost
При использовании androidx.fragment.app.FragmentContainerViewв качестве navHost вместо обычного fragmentприложения не удается перейти к месту назначения после изменения ориентации. Я получаю следующую ошибку: java.lang.IllegalStateException: no current navigation node Есть ли что-то, что я должен знать о том, как правильно его использовать, или мой способ использования компонентов Nav неверен? Простое упражнение xml с …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.