android-architecture-components相关内容
何时使用MutableLiveData和LiveData表示使用方法的区域: MutableLiveData getUser() { if (userMutableLiveData == null) { userMutableLiveData = new MutableLiveData(); } return userMutableLi
..
我正在尝试对我的应用程序使用自定义操作栏(带有自定义徽标和向上导航按钮)。
..
我正在开发一款交易应用程序。我需要列出用户股票及其价值(收益或亏损)和投资组合的总价值。 对于持股列表,在MVP架构中,我会为每个列表项创建一个演示者,但对于这个应用程序,我决定使用MVVM(Compose、ViewModels和Hilt)。我的第一个想法是为每个列表项创建不同的视图模型。我在Composable方法签名中使用hiltViewModel()来创建我的ViewModel的实例,
..
我的活动中有三个顶级目标片段: appBarConfiguration = AppBarConfiguration( setOf( R.id.trackerFragment, R.id.nutrientFragment, R.id.settingsFragment ), d
..
查看 ViewModel 的 Google 文档,他们展示了以下关于如何获取 ViewModel 的示例代码: val model = ViewModelProviders.of(this).get(MyViewModel::class.java) 当使用最新的依赖android.arch.lifecycle:extensions:1.1.1时没有ViewModelProviders这个类.
..
我正在做一个小项目并尝试使用新的导航架构组件.当我尝试向目标添加一些参数时,出现“未解析的引用:NavArgs"错误. 我遵循了本指南 https://developer.android.com/topic/libraries/architecture/navigation/navigation-pass-data#kotlin并且已经添加了 类路径“android.arch.navi
..
我正在使用 Navigation 组件在 navigation 中显示 DialogFragment (....xml) 并想知道关闭对话框的推荐方法是什么.我自己试了一下,结果如下: 1) dismiss()in DialogFragment:似乎工作正常 2) findNavController().navigateUp():似乎工作正常
..
当使用 androidx.fragment.app.FragmentContainerView 作为 navHost 而不是常规的 fragment 应用程序在方向更改后无法导航到目的地. 我收到以下错误:java.lang.IllegalStateException: 没有当前导航节点 有没有我应该知道的正确使用它的问题,或者我使用导航组件的方式不正确? 带有视图的简单活动 x
..
我目前正在使用新的 Android 架构组件.具体来说,我正在实现一个房间数据库,它在其查询之一上返回一个 LiveData 对象.插入和查询按预期工作,但是我在使用单元测试测试查询方法时遇到问题. 这是我要测试的 DAO: NotificationDao.kt @Dao接口 NotificationDao {@插入fun insertNotifications(vararg not
..
我正在尝试从架构组件中使用 WorkManager.我已将 compileSdkVersion 和 targetSdkVersion 从 27 升级到 28.gradle 同步已成功完成.但是构建时错误不断弹出.由于“android.support:design",android.support 库使用版本 28.0.0-rc02. 我尝试添加 PackagingOptions 以排除“pr
..
WorkManager 文档中提到取消 Worker 是尽力而为 WorkManager 尽最大努力取消任务,但这是固有的不确定性——任务可能已经在运行或完成时你试图取消它 如果我有一个用例,强制Worker 在调用取消方法之一时被取消怎么办? 解决方案 正如您所写,WorkManager 只能尽力取消工作.特别是,如果一个任务计划运行,而您取消它,WorkManager 会将
..
因为我需要在 WorkManager 中异步执行工作,所以我需要使用 ListenableWorker,它默认在主 (UI) 线程上运行.由于这项工作可能是一个很长的处理任务,可能会冻结界面,因此我想在后台线程上执行它.在使用 WorkManager(Android 开发者峰会 '18)视频中,Google 工程师展示了如何手动配置 WorkManager 以在自定义 Executor 上运行作品
..
我们正在使用 OneTimeWorkRequest 在我们的项目中启动后台任务. 在应用程序启动时,我们正在启动 OneTimeWorkRequest(比如 req A) 根据用户的操作,我们启动相同的工作请求 A. 在某些情况下,如果应用在工作请求 A 进行时被终止,Android 会在应用重启时自动重启请求 A.我们也再次启动请求 A.因此请求 A 的两个实例并行运行并导致死锁.
..
我是新架构组件 WorkManager 的新手,我通过 Retrofit 和 RxJava 调用 API. 我的用例是从后端获取新帖子,然后显示通知并更新小部件. 所以 Worker 类的 doWork() 方法中的代码可能看起来像这样. @NonNull@覆盖公共结果 doWork() {AppDependencies appDependencies = new AppDepend
..
我正在尝试使用新的 WorkManager API 1.0.0-alpha06 每 15 分钟运行一次工作程序.如果我没有错,将工作管理器与 PeriodicWorkRequest 一起使用应该会使工作人员的任务终止并重新启动电话,但是当我从“最近的应用程序"中滑动任务时,预定的工作人员丢失了(我已经等了大约 45 分钟,以查看安排在 15 分钟间隔内的工作人员的任何日志). 这些是我的文件
..
我正在尝试使用实时数据为视图模型编写单元测试. 登录ViewModel.kt class LoginViewModel @Inject 构造函数(val 上下文:上下文):视图模型(){val 用户名 = MutableLiveData()val 密码 = MutableLiveData()val isLoginButtonEnabled = MediatorLiveData().appl
..
我发现了架构组件 ViewModel 未保留的情况 - 简而言之,如下所示: Activity 启动并创建 ViewModel 实例 活动被置于后台 设备屏幕旋转了 Activity 回到前台 调用ViewModel的onCleared方法并创建新对象 在这种情况下,我的 ViewModel 实例被破坏是 Android 的正常行为吗?如果是这样,是否有任何推荐的保持其状态的解
..
我正在使用 LiveData 从服务器获取数据并观察它.我的 onChanged() 方法只是第一次被调用,当服务器中的数据更新时不会被调用. 用户片段: UserViewModel userViewModel = ViewModelProviders.of(this).get(UserViewModel.class);userViewModel.getUser().observe(thi
..
我的活动有一个 Google 的 ViewModel,可以获取一些模型项.然后将这些项目转换为 RecyclerView 的适配器项目.一个 RecyclerView 还支持多种类型的适配器项. 我希望为这些模型对象中的每一个都有单独的视图模型对象,以便我可以将更复杂的逻辑封装在那个“小"视图模型中. 目前,当我有一些仅与某些适配器项相关的异步逻辑(需要在 onCleared() 中停
..
我正在尝试设置类似于 GithubBrowserSample 的 UI 测试,看起来示例项目只有 Fragment 的模拟 ViewModel 但没有Activity 的示例. 这是我尝试通过模拟 ViewModel 来测试 Activity 的代码.但是 ViewModel 没有在 Activity 中的 onCreate() 之前设置. @RunWith(AndroidJUnit4::
..