草庐IT

初识viewBinding,ViewModel,liveData,dataBinding

全部标签

HarmonyOS4.0从零开始的开发教程03初识ArkTS开发语言(中)

HarmonyOS(二)初识ArkTS开发语言(中)之TypeScript入门浅析ArkTS的起源和演进1引言Mozilla创造了JS,Microsoft创建了TS,Huawei进一步推出了ArkTS。从最初的基础的逻辑交互能力,到具备类型系统的高效工程开发能力,再到融合声明式UI、多维状态管理等丰富的应用开发能力,共同组成了相关的演进脉络。ArkTS是HarmonyOS优选的主力应用开发语言。它在TypeScript(简称TS)的基础上,扩展了声明式UI、状态管理等相应的能力,让开发者可以以更简洁、更自然的方式开发高性能应用。TS是JavaScript(简称JS)的超集,ArkTS则是TS的

初识动态规划——0 1背包问题

动态规划(简称DP)是一种将复杂问题分解成很多子问题,并将子问题的求解结果存储起来避免重复求解的一种算法。动态规划一般用来解决最优问题。而解决问题的过程,需要经历多个决策阶段。每个决策阶段都对应着一组状态。最后通过一组决策序列(动态转移方程),产生最终期望的最优解。(看不懂概念?)我也是简单说jiu's利用历史记录避免重复计算,用空间换时间,一般使用一维或二维数组保存。解决动态规划步骤大致分五部(动规五部曲)1.了解dp数组的含义2.列出递推公式3.dp数组初始化4.遍历顺序5.打印dp数组(用于检查是否有错误,一般省略)下面根据例题熟悉解题步骤。题目描述辰辰是个天资聪颖的孩子,他的梦想是成为

Android MVVM - 如何让 LiveData 发出它拥有的数据(强制触发观察者)

我有一个从网络获取列表的ViewModel,我用数据填充了一个RecyclerView(MyAvailabilityRepository返回一个MutableLiveData,这就是我使用Transformations.switchMap的原因):classMyAvailabilityViewModel:ViewModel(){privatevalgetListsParams=MutableLiveData()privatevalgetListsObservable=Transformations.switchMap(getListsParams){organizationId->My

微服务学习|初识MQ、RabbitMQ快速入门、SpringAMQP

初识MQ同步通讯和异步通讯同步通讯是实时性质的,就好像你用手机与朋友打视频电话,但是,别人再想与你视频就不行了,异步通讯不要求实时性,就好像你用手机发短信,好多人都能同时给你发短信,你都可以收到,而且不用及时回复。同步调用的问题微服务间基于Feign的调用就属于同步方式,存在一些问题比如用户调用支付服务时,它需要先后调用订单服务、仓储服务、短信服务等,都调用结束后,支付服务再返回用户相关信息,故这个过程的响应时间实际上就是所有这些相关服务执行之后所用时间之和,这样是非常影响效率的。但是也有优点,时效性较强,可以立即得到结果同步调用存在的问题1.如果我们想对支付服务增加一些功能,增加一些别的服务

初识Linux(下).妈妈再也不用担心我Linux找不到门了

文章目录前言1.date时间相关的指令1.1date1.2在设定时间方面示例如下:1.3时间戳示例如下:2.Cal指令示例如下:类似windows3.find指令:(非常重要)-name示例如下:类似windows4.grep指令示例如下:类似windows5.zip/unzip指令:示例如下:类似windows6.tar指令(重要):打包/解包,不打开它,直接看内容示例如下:7.bc指令:示例如下:8.uname–r指令:示例如下:类似windows9.重要的几个热键[Tab],[ctrl]-c,[ctrl]-d[Tab]+[Tab]自动补齐Ctrl+R对历史命令进行搜索10.关机文件传输L

当其主机 Activity 不在 Activity 堆栈的顶部并且设备旋转时,Android ViewModel 重新创建

我处于以下场景:我有一个包含ViewModel的OnboardActivity,我可以多次旋转这个OnboardActivity和ViewModel跨配置更改持续存在而不会出现问题。但是,如果我使用startActivityForResult(...)在这个(OnboardActivity)之上启动另一个Activity(FirebaseAuthActivity),然后在FirebaseAuthActivity中旋转设备并按下后退按钮。当OnboardActivity被带到堆栈的顶部时,它会再次重新创建ViewModel实例。这是ViewModel在架构组件中的正常行为吗?当Onboa

初识Elasticsearch——GO集成ES

Elasticsearch什么是Elasticsearch?Elasticsearch是一个分布式文档存储。Elasticsearch存储的是序列化为JSON文档的复杂数据结构,而不是以行列数据的形式存储的信息。当集群中有多个Elasticsearch节点时,存储的文档分布在整个集群中,可以立即从任何节点访问。当存储文档时,它几乎是实时的——在1秒内就可以被索引和完全搜索。Elasticsearch使用一种名为倒排索引的数据结构,它支持非常快速的全文搜索。倒排索引列出任何文档中出现的每个唯一单词,并标识每个单词出现的所有文档。可以将索引看作是文档的优化集合,每个文档都是一个字段的集合,这些字段

android - 什么时候使用 Android 的 LiveData 和 Observable 字段?

我正在实现MVVM和数据绑定(bind),我想了解什么时候应该在LiveData上使用Observable字段?我已经浏览了不同的文档并发现LiveData是生命周期感知的,但在Github的示例代码中,这两者同时在ViewModel中使用。所以,如果LiveData比Observable字段更好,我很困惑,为什么不直接使用LiveData? 最佳答案 两者都有各自的用例,例如:如果您想要为您的UI状态模型提供一个生命周期容错容器,LiveData就是答案。如果您希望在View模型中的某个逻辑发生更改时让UI自行更新,请使用Obse

Web安全-初识SQL注入(一)

1、初识SQL注入1.1、什么是注入?将不受信任的数据作为命令或查询的一部分发送到解析器时,会产生诸如SQL注入、NoSQL注入、OS注入和LDAP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在没有适当授权的情况下执行非预期命令或访问数据。注入能导致数据丢失、破坏或泄露给无授权方,缺乏可审计性或是拒绝服务。注入有时甚至能导致主机完全被接管。注入攻击的本质:就是把用户输入的数据当做代码执行。(过于信任用户)1.2、什么是SQL注入?SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的入侵行为。(图片来源网络)1.3、SQL

初识Linux:权限

目录 提示:以下指令均在Xshell7中进行Linux的权限内核:查看操作系统版本查看cpu信息查看内存信息外部程序:用户:普通用户变为超级用户:su和su-的区别:root用户变成普通用户: 以root的身份执行命令: 一、压缩&解压zip安装zip zip名字.zip[需要打包的文件]zip-r 名字.zip[需要打包的目录]zip-rtest.zip* zip 名字.zip  [文件][目录] [文件]  unzipunzip [zip文件]unzip[zip文件] -d [路径]tartar-czf 文件文件 、 tar-cvzf 文件文件tar-xzf 文件.zip 、tar-xvz