dagger

Hilt creating different instances of view model inside same activity

非 Y 不嫁゛ 提交于 2020-12-25 04:35:15
问题 After recently migrating from Dagger to Hilt I started observing very strange behavior with respect to ViewModels. Below is the code snippet: @HiltAndroidApp class AndroidApplication : Application() {} @Singleton class HomeViewModel @ViewModelInject constructor() : ViewModel() {} @AndroidEntryPoint class HomeFragment : Fragment(R.layout.fragment_home) { private val homeViewModel by viewModels<HomeViewModel>() override fun onResume() { super.onResume() Timber.i("hashCode: ${homeViewModel

面世宣言:给 Android 开发者的面试手册

徘徊边缘 提交于 2020-12-23 14:10:25
这个系列不是最好的了? 对,再也不敢说「 这可能是最好的 XXX」了。虽然我的 RxJava 2.0 系列 获得了较好的反馈,甚至还有人说「能望见传世神文 《给 Android 开发者的 RxJava 详解》 的脚步」,那都不重要了。 而且知道我的人也知晓,我不是扎根互联网的老程序员,对面试也是知之甚少,所以我不敢说这是「最好」的。 虽然这个系列已经不是「最好」的了,但我依然会花很多时间去完善他,感谢好友「兰柳学」的强势赞助。 为什么要写这个系列? 装逼从来都不是必要的,必要的是我们始终如一的想着装逼。 咳咳,讲点现实的,是因为今天面试被虐了。 一直以来我以为自己还算是个不错的 Android 开发工程师,GitHub 好像有较为欢迎的假象。还有一大批诸如 RxJava、Dagger2、Retrofit 在内的框架文章可以装装逼,但实际上大多数企业,尤其是互联网公司,根本就不会看重你娴熟运用框架的能力。 面试最后收到一句话:「 我们非常肯定你的开源分享能力和学习能力,我们也相信你能做好开发,但你的基础确实是太 low 了!」 其实从我的回答来说,我自己也觉得非常 low,用「舍本逐末」四个字来形容我再合适不过。 划重点!!! 为了防止一些类似我这样的 Android 开发工程师「严重偏科」,我决定出这么一个系列,我不知道这个系列多久可以出完,也许明天,也许三年

How can I inject fragment into activity so that I don't have to manually create its instance?

半腔热情 提交于 2020-12-09 16:55:44
问题 I am working on a android project and using Dagger2 for Dependency Injection? I am trying to inject Fragment into Activity but I don't want to create fragment instance , using newInstance or new SomeFragment and want the instance to be created by dagger and injected. I also want to know how can I do the same if want to some pass some arguments. 回答1: Even though you don't want to call new , Android will: This is why Fragment is required to have a zero-arg public constructor, because if you

How can I inject fragment into activity so that I don't have to manually create its instance?

▼魔方 西西 提交于 2020-12-09 16:45:50
问题 I am working on a android project and using Dagger2 for Dependency Injection? I am trying to inject Fragment into Activity but I don't want to create fragment instance , using newInstance or new SomeFragment and want the instance to be created by dagger and injected. I also want to know how can I do the same if want to some pass some arguments. 回答1: Even though you don't want to call new , Android will: This is why Fragment is required to have a zero-arg public constructor, because if you

How can I inject fragment into activity so that I don't have to manually create its instance?

家住魔仙堡 提交于 2020-12-09 16:41:10
问题 I am working on a android project and using Dagger2 for Dependency Injection? I am trying to inject Fragment into Activity but I don't want to create fragment instance , using newInstance or new SomeFragment and want the instance to be created by dagger and injected. I also want to know how can I do the same if want to some pass some arguments. 回答1: Even though you don't want to call new , Android will: This is why Fragment is required to have a zero-arg public constructor, because if you

Jetpack新成员,一篇文章带你玩转Hilt和依赖注入

戏子无情 提交于 2020-11-26 13:06:56
本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每个工作日都有文章更新。 各位小伙伴们大家早上好。 终于要写这样一篇我自己都比较怕的文章了。 虽然今年的Google I/O大会由于疫情的原因没能开成,但是Google每年要发布的各种新技术可一样都没少。 随着Android 11系统的发布,Jetpack家族又迎来了不少新成员,包括Hilt、App Startup、Paging3等等。 关于App Startup,我在之前已经写过一篇文章进行讲解了,感兴趣的朋友可以参考 Jetpack新成员,App Startup一篇就懂 这篇文章 。 本篇文章的主题是Hilt。 Hilt是一个功能强大且用法简单的依赖注入框架,同时也可以说是今年Jetpack家族中最重要的一名新成员。 那么为什么说这是一篇我自己都比较怕的文章呢?因为关于依赖注入的文章太难写了。我觉得如果只是向大家讲解Hilt的用法倒还算是简单,但是如果想要让大家弄明白为什么要使用Hilt?或者再进一步,为什么要使用依赖注入?这就不是一个非常好写的话题了。 本篇文章我会尝试将以上几个问题全部讲清楚,希望我可以做得到。 另外请注意,依赖注入这个话题本身是不分语言的,但由于我还要在本文中讲解Hilt的知识,所以文中所有的代码都会使用Kotlin来演示。对Kotlin还不熟悉的朋友,可以去参考我的新书

阿里P8大佬熬夜10天,把所有Android第三方库整理成了PDF

空扰寡人 提交于 2020-11-07 12:33:20
缘起 随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,还有应用之间的互相调用等等问题,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个g那么大。 所以,当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。 阿里P8大佬每天熬夜到凌晨一两点,花了将近半个月时间将Android热修复框架、插件化框架、组件化框架、图片加载框架、网络访问框架、RxJava响应式编程框架、IOC依赖注入框架、最近架构组件Jetpack等等Android第三方开源框架整合成了一套系统知识笔记PDF,长达1042页!相信看完这份文档,你将会对这些Android第三方框架有着更深入、更系统的理解。 由于文档内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容,1042页详细完整版的【Android设计思想解读开源框架】文档领取方式: 点击我的GitHub 即可免费领取 第一章:热修复 1、AOT/JIT & dexopt 与dex2oat 2、热修复常见问题之CLASS_ISPREVERIFIED 问题 3、热修复原理 4、Tinker 的集成与使用(自动补丁包生成) image image 第二章:插件化 1、Class 文件与Dex 文件的结构解读 2