Size: a a a

Android arch. components

2018 June 28

P

Pavel B in Android arch. components
AleksanderSh
Хотя, возможно, было немного другое, после миграции в логах ошибка появлялась постоянно, якобы бд может быть закрыта, и некоторые фичи не работали. Тогда гугл просил обновиться до новой альфы.
ок,пасиб
источник

AP

Alexey Pushkarev in Android arch. components
Ребят, а у лайф даты нет аналога Completable?
источник

PS

Pavel Sukhoterin in Android arch. components
Насколько знаю, то нет, есть возможность сделать single livedata
источник

AP

Alexey Pushkarev in Android arch. components
Pavel Sukhoterin
Насколько знаю, то нет, есть возможность сделать single livedata
Это знаю, ок
источник
2018 July 01

AG

Andrey Gaysin in Android arch. components
Всем привет! Подскажите, пожалуйста, как в AAC правильно реализовывать связь между фрагментами? Например с одного фрагмента вызвать действие в другом фрагменте?
источник

AG

Andrey Gaysin in Android arch. components
Например, сейчас это реализовано через интерактор с сабджектами.
источник

ST

Sasha Tainyuk in Android arch. components
Andrey Gaysin
Всем привет! Подскажите, пожалуйста, как в AAC правильно реализовывать связь между фрагментами? Например с одного фрагмента вызвать действие в другом фрагменте?
LiveData, гугли single event. Эдакий аналог rx bus
источник

AG

Andrey Gaysin in Android arch. components
Sasha Tainyuk
LiveData, гугли single event. Эдакий аналог rx bus
Спасибо, почитаю про это!
источник
2018 July 03

A

Amir in Android arch. components
Почему в RoomSql Fragment подсказки по запросу не вылезают? Показывает только если напрямую в Query() писать
источник

DR

Dmitry Repin in Android arch. components
Подскажите, почему LiveData не обсервит dao, в котором в запросе  Select с Where? В какую сторону смотреть?
источник

Sergey λ in Android arch. components
Dmitry Repin
Подскажите, почему LiveData не обсервит dao, в котором в запросе  Select с Where? В какую сторону смотреть?
У меня обсервит
источник

PS

Pavel Sukhoterin in Android arch. components
Dmitry Repin
Подскажите, почему LiveData не обсервит dao, в котором в запросе  Select с Where? В какую сторону смотреть?
У меня тоже работает
источник

ST

Sasha Tainyuk in Android arch. components
Dmitry Repin
Подскажите, почему LiveData не обсервит dao, в котором в запросе  Select с Where? В какую сторону смотреть?
Покажи код
источник

AP

Alexey Pushkarev in Android arch. components
источник

ST

Sasha Tainyuk in Android arch. components
)
источник
2018 July 04

DR

Dmitry Repin in Android arch. components
сущность:
@Entity(tableName = "toDoTasks", foreignKeys = [(ForeignKey(entity = Project::class, parentColumns = ["id"], childColumns = ["projectId"]))])
data class ToDoTask (@PrimaryKey(autoGenerate = true) var id: Long = 0,
                    @ColumnInfo(name = "title") var title: String,
                    @ColumnInfo(name = "isDone") var isDone: Boolean,
                    @ColumnInfo(name = "projectId") var projectId: Long)

DAO:
   @Query("SELECT * FROM toDoTasks WHERE projectId=:projectId")
   fun loadTasksByProject(projectId: Long) : LiveData<List<ToDoTask>>

Репозиторий:
   fun getTasks(projectId: Long): LiveData<List<ToDoTask>> {
       return GetTaskAsyncTask(tasksDao).execute(projectId).get()
   }

   private class GetTaskAsyncTask(val dao: TasksDao) : AsyncTask<Long, Void, LiveData<List<ToDoTask>>>() {
       override fun doInBackground(vararg id: Long?): LiveData<List<ToDoTask>> {
           val saveId = id[0] ?: throw NullPointerException("Project id should not be null")
           return dao.loadTasksByProject(saveId)
       }

   }

Вью модель:
private val repository: Repository = Repository(application)
   private var projects: LiveData<List<Project>> = repository.getProjects()
   var selectedProjectId: Long = 1
   private var tasks: LiveData<List<ToDoTask>> = repository.getTasks(selectedProjectId)
   fun getProjects() = projects
   fun getTasks() = tasks

И, наконец, сам обсерв в OnCreateView фрагмента: :)
       mainViewModel.getTasks().observe(this, Observer<List<ToDoTask>> { tasks ->
           val saveTasks = tasks ?: NullPointerException("Tasks should not be null")
           viewAdapter.updateTasks(saveTasks as List<ToDoTask>)
       })

projectId меняется так:
   override fun onProjectSelected(id: Long) {
       tasksFragment = TasksFragment.newInstance(id)
       mainViewModel.selectedProjectId = id
       replaceFragment(tasksFragment, TASKS_TAG)
   }
источник

DR

Dmitry Repin in Android arch. components
В данной реализации при переходе на таски всегда показываются таски, где projectId = 1
источник

ST

Sasha Tainyuk in Android arch. components
asynctask выкинь, не нужен он тут
источник

DR

Dmitry Repin in Android arch. components
верно, но это не причина :)
источник

ST

Sasha Tainyuk in Android arch. components
Dmitry Repin
верно, но это не причина :)
Ну ты писал что лайфдата не обсервит, а выходит что обсервит, только возвращает не то. Смотри что в бд сохранено
источник