
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
关注我的公众号 “安安安安卓” 学习更多知识上下文协程总是运行在一些以 CoroutineContext 类型为代表的上下文中调度器协程上下文包含一个 协程调度器 (参见 CoroutineDispatcher)它确定了相关的协程在哪个线程或哪些线程上执行。协程调度器可以将协程限制在一个特定的线程执行,或将它分派到一个线程池,亦或是让它不受限地运行。所有的协程构建器诸如 launch 和 asyn
近期需要对公司的祖传项目进行一些重构,在重构过程中涉及到多个列表的重构。老的列表中更新数据一直使用的notifyDataSetChanged进行数据的更新。从我入职时期这便是我的一大心病,因此这次一并解决问题描述关于notifyDataSetChanged的弊端,无需赘言,他会对 Recycleview 的整个列表进行刷新。因此在大数据量场景下(目前此种更新数据方法也不早再是官方推荐的了),这可能

代码val datas = mutableListOf("西瓜","苹果","芝麻","狗熊")"西瓜","苹果","芝麻","狗熊")DropdownMenu(expanded = true, onDismissRequest = {}, modifier = Modifier.width(100.dp)) {datas.forEach {
关注公众号学习更多知识概述compose 为支持动画提供了大量的 api,通过这些 api 我们可以轻松实现动画效果ps:这些 api 的原理与 Flutter 很接近,与原生的 api 相去甚远你可以提前看看用 compose 实现的一个放大缩小动画,总的来说还是比较流畅:低级别动画 APIanimate*AsState所能处理属性的种类:Float、Color、Dp、Size、Bounds、O
最近在学习django,就想着自己搭建一个django的服务器,自己写app的客户端,因为django是初学所以还是遇到了几个坑的废话不多先贴出项目地址:https://github.com/ymeddmn/PythonWebDemodjango和android项目的搭建略过服务端django的项目配置1,首先将我们创建的app模块配置在setting这里,本例获取验证码用的是logreg模块
创建springboot项目创建完的项目结构如下首先在dev.properties文件中加入配置如下pom中加入数据库依赖<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId>...
创建springboot项目创建完的项目结构如下首先在dev.properties文件中加入配置如下pom中加入数据库依赖<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId>...
数据存储简述名称作用详细说明应用专属存储空间存储应用专属的文件专属存储空间可以在内部存储和外部存储为用户开辟专属的目录,可以用来存储其它用户不能访问的文件,可以通过File api访问,应用被卸载后文件同时被删除,访问不需要权限共享存储存储所有应用共享的数据存储您的应用打算与其他应用共享的文件,包括媒体、文档和其他文件,可以使用MediaStoreapi访问,应用卸载数据仍然存在,访问需要申请存储
关注我的公众号 “安安安安卓” 免费学知识大部分人更关心用法,所以我先讲用法, 再讲对 viewmodel 的理解,最后讲源码1、ViewModel 初始化方式来到 androidx,ViewModel 的创建方式与老版本有了很大的不同,所以这里还是要将 Viewmodel 的初始化讲一下1.1、安卓工厂初始化每次都会重新创建 model,并且不受 ViewModelStore 管控,所以无特殊需
StateFlow和Livedata两者异同如果你仔细去了解的话会发现StateFlow和Livedata有很多相似之处。两者都是用来观察数据的,非常适合用来做响应式开发。不过两者也有不同之处的:StateFlow构造中有默认值,Livedata没有Livedata只有生命周期处于started或resumed状态的时候才能收到数据更新,而StateFlow即使退到后台也可以收到数据。冷流热流冷流







