移动开发

5. 【浅入深出理解 dagger、Hilt】 - Hilt进阶之MVVM

该章站在企业项目角度上如何在MVVM框架上完善并且合理的使用Hilt。 所以如果没了解MVVM的结构建议可以直接忽略这章。大家知道,MVVM里面View和Model之间有关联,假设一个场景View触发一个点击事件调用Model查询,然后Model会调用相关Http类进行查询,返回数据给Model,Model再返回数据给View。 当然上述表达的不是严格意义的MVVM,但是流程相仿,主要是讲解如何注

LifeCycle详解

LifeCycle的由来 解耦是为了解决传统开发某块臃肿,以达到代码量平衡、优雅、易扩展。由于Android大部分开发需要感知组件的生命周期,在对应生命周期中做对应的工作,故原始的做法就是在Activity、Fragment、Service等生命周期回调中增加相应的处理代码,这样导致Activity等组件十分臃肿、难以做扩展。LifeCycle的出现就是在外面实现对这些组件生命周期的感知能力,减

关于RecyclerView的setHasFixedSize方法

recyclerView.setHasFixedSize方法什么时候设置为true 什么时候设置为false呢? 可以看下源码中关于这个方法的解释: /** * RecyclerView can perform several optimizations if it can know in advance that RecyclerView's * size is not a

Android Compose 组件学习(一)

Android Compose自推出正式版本后,google 就一直推荐使用Compose来开发。正好疫情期间,作为一个 Android 摸鱼达人,就来摸索一下Compose的开发。说实话开发了2天感觉对Android 开发人员来说变化是巨大的,但是作为从业者我们还必须学习和学会,才能不被甩开。 学习使用 Compose 我们需要坐什么呢? 1.使用 Kotlin 2.使用Android Stud

Android 悬浮窗-开箱即用

开箱即用的 Android 悬浮窗 开箱即用的 Android 悬浮窗  FloatWindowX 1. 需要权限 <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <uses-permission android:name="android.permission.ACTION_

基于R语言绘制VennPlot图 | 可以绘制大于等于7个类别的码

今天在绘图时,打算绘制vennplot,我的第一反应就是使用软件来绘制,比如是TBtools工具,以及相关的网站。这些都是比较方便的,但是有弊端就是这些只能绘制小于等于6个类的vennplot。 TBtools确实是比较好用的,我能使用它的基本不自己找代码,这个主要还是针对Vennplot和圈图等。 做出来的图也是可以自动调整,类似的软件还是比较多的。 02.png

XCode14 & iOS16 适配遇到的问题

1、不升级电脑系统与 Xcode,调试iOS 16 1、下载iOS16 Support文件 2、放置到Xcode DeviceSupport目录重启Xcode即可/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 2、iOS16手机开启开发者模式 iOS16手机未打开开发者

EventBus

一、EventBus的原理 EventBus是全局事件总线,底层通过Stream来实现;它可以实现不同页面的跨层访问,通过Stream的机制来实现不同widget之间的状态共享。(全局事件总线,通过stream来实现,用于不同页面的跨层访问) 二、使用 1、实例化 eventbus 由于eventbus需要在不同的类里面调用,我们不能在不同的类里面单独创建,需要让其变成全局状态。所以我们新创建一个

ios ~ UITabBarController tabBar背景色

tabbar 做个笔记。 改变tabbar的选中的item的字体颜色 self.tabbar.tintColor = [UIColor redColor]; 改变tabbar未选中的item的字体颜色 self.tabbar.unselectedItemTintColor = [UIColor yellowColor]; 改变tabbar的背景颜色 方法1 self.tabba

reactive与ref对比

一、定义数据角度: ref定义:基本数据类型 reactive定义:对象(或数组)数据类型 备注:ref也可以用来定义对象和数组,它内部通过reactive转为代理对象 示例: let p2 = ref({         name: '李四',         age: 18     })     console.log('p2',p2)     let p1 = reactive({