android-architecture-components相关内容
简单用例 我正在使用 MVVM 架构和 Android 架构组件 在我的应用中. 用户登录后,我正在获取多个网络数据并希望从不同的
..
我正在使用 MVVM,并且已经对其进行了不同的实现,但仍然让我怀疑的一件事是如何从我的 ViewModel 的存储库 (Firebase) 获取数据而不将任何生命周期附加到 ViewModel. 我已经从 ViewModel 中实现了 observeForever(),但我认为这不是一个好主意,因为我认为我应该通过回调或转换从我的存储库到我的 ViewModel 进行通信. 我在这里留
..
我正在使用 dagger2 库.每当我尝试运行我的项目时,都会说无法创建视图模型类的实例. 我尝试创建实例的主要活动 ((MovieApplication) getApplication()).getAppComponent().inject(this);mViewModel = ViewModelProviders.of(this).get(MoviesDataViewModel.cl
..
我正在尝试在 https://developer.android.com/jetpack 上实施示例/文档/指南.这解释了 tan android 应用应该如何构建. 当我使用相同的代码时,出现以下错误. java.lang.Class没有零参数构造函数 我发现这个错误与此有关 viewModel = ViewModelProviders.of(this).get(UserProfil
..
去年夏天,我开始使用 Android 的架构组件(Room、ViewModel、LiveData)重构我的 Android 应用程序. 我有两个 Room 存储库,其中一个由应用程序的多个视图(片段)访问.因此,我使用了一个 AndroidViewModel,它可以访问这个存储库并在我的 MainActivity 中初始化. new ViewModelProvider(this).get(
..
如何正确使用来自 Android Jetpack 的新 WorkManager 来安排每天一次的定期工作,该工作应该每天只做一次操作? 我们的想法是使用 WorkManager 检查具有给定标签的工作是否已经存在,否则就开始新的定期工作. 我尝试使用下一种方法来做到这一点: public static final String CALL_INFO_WORKER = "Call wor
..
我想向我的 ViewModel 发送一个额外的参数,但这从 AndroidViewModel 扩展而来.如何将此参数添加到 ViewModelFactory 类? 视图模型 class ProjectViewModel(application: Application) : AndroidViewModel(application) {//需要一个项目 ID 参数...} 视图模型工厂
..
我正在使用新的 Android ORM Room.我遇到了以下问题,使用 ORDER BY 和参数的查询不起作用. 如果我想使用从 ORDER BY 的参数填充的字段,它不起作用.它只是不排序任何东西. @Query("SELECT * FROM User ORDER BY :orderBY ASC")列表sortedFind(String orderBY); 但是,当我将 ORDER
..
我在使用 ViewModel 和 LiveData 架构组件时遇到问题.当使用 fragments 并旋转屏幕时,观察者被触发... 我试图移动 viewModel = ViewModelProviders.of(this).get(MainViewModel::class.java)在所有片段生命周期方法中,但没有成功. 我的场景相对简单: 使用电子邮件和密码登录屏幕 用户点
..
Google 最近发布了新的 WorkManager 架构组件.通过在 Worker 类中实现 doWork() 可以很容易地安排同步工作,但是如果我想要怎么办在后台做一些异步工作?例如,我想使用 Retrofit 进行网络服务调用.我知道我可以发出同步网络请求,但它会阻塞线程并且感觉不对.是否有任何解决方案或目前不支持? 解决方案 Per WorkManager文档: 默认情况下,
..
如何将参数传递给嵌套的导航架构组件图? 假设我构建了我的导航图以从 FragmentA -->嵌套,其中Nested 包含FragmentB -->片段C... 如果这是一个纯 FragmentA -->FragmentB... 图,我只需使用 FragmentADirections.actionFragmentAToFragmentB(argument = foo) 设置导航.但是一
..
我房间里有一个实体 @Entity(foreignKeys ={@ForeignKey(entity = Label.class, parentColumns = "_id", childColumns = "labelId", onDelete = CASCADE),@ForeignKey(entity = Task.class, parentColumns = "_id", childCol
..
是否可以将新的导航架构组件与 DialogFragment 一起使用?我是否必须创建自定义导航器? 我希望将它们与导航图中的新功能一起使用. 解决方案 不,从 1.0.0-alpha01 版本开始,不支持将对话框作为导航图的一部分.您应该继续使用 show() 来显示一个 DialogFragment.
..
假设我们有两个片段:MainFragment 和 SelectionFragment.第二个是用于选择某个对象的构建,例如一个整数.从第二个片段接收结果有不同的方法,如回调、总线等. 现在,如果我们决定使用导航架构组件来导航到第二个片段,我们可以使用以下代码: NavHostFragment.findNavController(this).navigate(R.id.action_sele
..
我有一个单独的类,我在其中处理数据获取(特别是 Firebase),我通常从中返回 LiveData 对象并异步更新它们.现在我想将返回的数据存储在 ViewModel 中,但问题是为了获得所述值,我需要观察从我的数据获取类返回的 LiveData 对象.observe 方法需要 LifecycleOwner 对象作为第一个参数,但我的 ViewModel 中显然没有这个对象,而且我知道我不应该在
..
查看 ViewModel 的 Google 文档,他们展示了关于如何获取ViewModel的以下示例代码: val model = ViewModelProviders.of(this).get(MyViewModel::class.java) 当使用最新的依赖android.arch.lifecycle:extensions:1.1.1时,没有这样的类ViewModelProviders.
..
我正在构建一个位置应用程序,我在其中显示来自 MainActivity 中 Room 数据库的背景位置.我可以通过调用获得一个 ViewModel locationViewModel = ViewModelProviders.of(this).get(LocationViewModel.class);locationViewModel.getLocations().observe(this, t
..
我有一个活动 A,它启动活动 B 向它传递一些意图数据.活动 B 托管来自新导航架构组件的导航图.我想将该意图数据作为参数传递给 startDestination 片段,该怎么做? 解决方案 好的,感谢 Google 团队的 Ian Lake,我找到了该问题的解决方案.假设您有一个活动 A,它将使用一些意图数据启动活动 B,并且您想在 startDestination 中获取该数据,如果您
..
Java POJO 对象 公共类部分{@ColumnInfo(name="section_id")公共 int mSectionId;@ColumnInfo(name="section_name")公共字符串 mSectionName;公共 int getSectionId() {返回 mSectionId;}public void setSectionId(int mSectionId) {t
..
编辑:这个问题有点过时了,因为 Google 已经让我们能够将 ViewModel 范围限定为导航图.更好的方法(而不是试图清除活动范围模型)是为适当数量的屏幕创建特定的导航图,并为这些屏幕创建范围. 参考 android.arch.lifecycle.ViewModel 类. ViewModel 的范围限定于它相关的 UI 组件的生命周期,因此在基于 Fragment 的应用程序中,
..