草庐IT

Jetpack(一)Lifecycle

全部标签

Android - View 持有者 : How to handle lifecycle? 中的 Rx 可观察订阅

我知道,如果我在Activity或Fragment中订阅一个可观察对象,我应该将它绑定(bind)到它们各自的生命周期,使用rxlifecycle-componentsorrxlifecycle-navi.但是,我现在从ViewHolder(扩展RecyclerView.ViewHolder)内部订阅一个可观察对象,我担心如果View被销毁而订阅保持Activity状态会发生什么。我应该将此可观察对象绑定(bind)到哪个生命周期以及如何绑定(bind)? 最佳答案 RecyclerView.Adapter有一个方法onViewRe

android - 尝试在空对象引用上调用虚方法 'void android.arch.lifecycle.LiveData.observe

我收到以下错误我正在使用Android架构组件并尝试实例化View模型并从LiveData观察数据。但我被困在这里请帮我解决这个问题:Attempttoinvokevirtualmethod'voidandroid.arch.lifecycle.LiveData.observe(android.arch.lifecycle.LifecycleOwner,android.arch.lifecycle.Observer)'onanullobjectreference我的fragment是这样的:在调用getCompany()方法时我得到了NullPointExceptionErrorpub

Android Jetpack 导航系统过渡

在AndroidJetpack导航组件中,例如here.我想知道是否可以在屏幕更改时使用默认系统动画(例如开始新Activity时的动画)。这将在enterAnim和exitAnim参数的上下文中。 最佳答案 当您使用编辑器时,您可以为进入和退出过渡定义动画:如果您没有在animxml文件夹中定义任何动画,则可以使用一些默认动画。如果这些都不适合您,您可以简单地创建一个模仿默认过渡的过渡并将其设置在那里。要获得默认动画,您需要依赖:implementation"android.arch.navigation:navigation-u

【Jetpack】DataBinding 架构组件 ⑥ ( RecyclerView 数据绑定 )

文章目录一、RecyclerView数据绑定核心要点1、启用数据绑定/导入依赖2、RecyclerView条目DataBinding布局3、自定义RecyclerView.Adapter适配器要点(本博客重点★)二、RecyclerView数据绑定源码示例1、build.gradle构建脚本(启用数据绑定/导入依赖)2、主界面的Activity布局与组件(可不使用DataBinding)布局文件Activity组件的Kotlin代码3、自定义RecyclerView.Adapter数据类DataBinding布局RecyclerView.Adapter4、执行结果一、RecyclerView数

java - NoClassDefFoundError Landroid/arch/lifecycle/LifecycleDispatcher

我想尝试来自google(https://developer.android.com/arch)的新生命周期内容,但在应用打开时崩溃。我所做的就是添加依赖项。还有其他人遇到这个问题吗?日志:FATALEXCEPTION:mainProcess:com.duetandroid.app.mock,PID:17857java.lang.NoClassDefFoundError:Failedresolutionof:Landroid/arch/lifecycle/LifecycleDispatcher;atandroid.arch.lifecycle.LifecycleRuntimeTroja

android - 我可以使用 CameraX (Android Jetpack) 录制视频吗?

Google发布了新的CameraX库作为Jetpack的一部分。它看起来很适合拍照,但我的用例还需要制作视频。我试着用谷歌搜索,但找不到任何东西。那么,是否可以使用CameraXJetpack库录制视频? 最佳答案 是的,我们可以使用CameraX录制视频。我试图在Github演示的帮助下实现自己CameraX.请引用下面的代码,可能对您有帮助。在CameraX中配置视频:valvideoCaptureConfig=VideoCaptureConfig.Builder().apply{setLensFacing(lensFacin

一篇聊聊Jetpack Room实现数据存储持久性

Room介绍Room是AndroidJetpack组件库中的一部分,它是用于在Android应用中进行本地数据库访问和管理的库。Room提供了一个抽象层,使开发者能够更轻松地访问SQLite数据库,并且可以在不直接使用SQL语句的情况下进行数据库操作。Room主要包括三个主要组件:Entity:用于定义数据库中的表结构,每个实体类对应数据库中的一张表。DAO(DataAccessObject):用于定义数据库操作的接口,开发者可以在DAO中定义各种数据库操作方法,Room会根据这些方法自动生成相应的SQL查询语句。Database:用于定义数据库的抽象类,其中包括数据库的版本号、实体类和DAO

android - "android activity lifecycle"是否使用模板方法模式?

我相信模板方法模式涉及封装算法中的每个步骤。我认为Activity的生命周期(onCreate、onResume等)是必须被具体类覆盖的步骤。这是否意味着AndroidActivity生命周期(Activity和fragment类)符合模板设计模式,或者是否有更适合它的不同模式谢谢 最佳答案 Androidframework的构建方式肯定是遵循模板模式,这是它的长处也是它的短处。因为这种模式建议只实现模块的某些部分,所以很容易获得快速简单的结果,而无需付出太多努力。但是,由于它是基于继承的,一旦您开始考虑扩展框架或处理交叉关注点模式

android - 为什么 android jetpack NavigationUI navigateUp 方法仅在您位于导航图的起始目的地时才打开绘图菜单

当NavigationView与DrawLayout和ActionBar一起使用时,jetpack提供了一些强大的便捷方法来Hook一切都放在一起,以便这些项目更容易实现。NavigationUi库中提供的方法setupActionBarWithNavController是Activity的扩展方法,它添加一个汉堡包按钮来打开您的抽屉,如果您覆盖onSupportNavigateUp:Boolean方法调用navigateUp(drawLayout:DrawLayout,navController:NavController)方法,该方法会将汉堡包按钮更改为后退按钮并自动返回并带有精美

具有多个堆栈的 Android JetPack 导航

我正在使用带有底部导航的JetpackNavigationversion1.0.0-alpha04。它有效,但导航不正确。例如,如果我有选项卡A和选项卡B,然后从选项卡A转到页面C,然后从那里转到选项卡B,然后再次返回选项卡A,我将在选项卡A中看到根fragment,而不是页面C不是我所期望的。我正在寻找一种解决方案,让每个选项卡都有不同的堆栈,所以当我回到它时,每个选项卡的状态都会被保留,而且我不喜欢将所有这些fragment保留在内存中,因为它有一个坏对性能的影响,在jetpack导航之前,我使用了这个库https://github.com/ncapdevi/FragNav,那正是