首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

快来看看安卓大佬总结AndroidX下使用Activity和Fragment那些变化

让我们看看它们是如何提升Android 开发效率以及如何适应当下流行编程规则和模式。 本文中描述所有功能现在都可以在稳定 AndroidX 软件使用,它们在去年均已发布或移至稳定版本。...AppCompat 1.1.0 和 Fragment 1.1.0 ( 译者注:AppCompat 包含 Fragment,且 Fragment 包含 Activity,详情见【整理】Jetpack 主要组件依赖及传递关系...中)注册 OnBackPressedCallback。...根据您需要,您可以在任意位置定义 OnBackPressedCallback,使其复用,或根据应用程序架构进行任何操作。...很高兴看到 -ktx AndroidX 软件中提供了许多有用 Kotlin 扩展方法,并且定期添加了新方法。

4.1K10
您找到你想要的搜索结果了吗?
是的
没有找到

Android | Jetpack 处理回退事件新姿势 —— OnBackPressedDispatcher

来处理回退事件,旨在优化回退事件处理:你可以在任何位置定义回退逻辑,而不是依赖于 Activity#onBackPressed(); 在这篇文章里,我将介绍 OnBackPressedDispatcher 使用方法...,从 Activity#onBackPressed() 中传递回调事件(缺点:增加了 Activity & Fragment 耦合关系); 2、在 Fragment 根布局中设置按键监听 setOnKeyListener...public void addCallback(LifecycleOwner owner, OnBackPressedCallback onBackPressedCallback) 3、判断是否有启用回调...另外,添加回调 addCallback() 方法也要求在主线程执行,分发器内部使用非并发安全容器 ArrayDeque 存储回调对象。...这里其实是使用了 ViewBinding + Kotlin 委托属性视图绑定方案,相对于传统 findViewById、ButterKnife、Kotlin Synthetics 等方案,这个方案从多个角度上表现更好

1.4K20

跨域jsonp原理

jquery库,为什么就可以使用 $ 了呢?...前端工程师通过callback向后传递了一个abc字符串,后端呢将数据包裹在 abc()中返回, 签名提到过了,浏览器会根据不同文件类型进行不同处理,咱们利用是javascript,所以返回数据会被解析为...,js文件,而上面的数据如果被解析为js文件,就会被执行; 这就是 jsonp 基本原理,利用script标签特性,将数据使用json格式用一个函数包裹起来,然后在进行访问页面中定义一个相同函数名函数...jsonp含义是:json with padding,而在json数据外包裹那个函数; 附上封装jsop代码: ?...以上便是利用jquery风格封装得到jsonp函数, 在和第三方接口调用或者和后端工程师交互式,一定要实现沟通好,向后传递参数名时,用什么参数,jquery默认用是callback, 举个例子:

1.3K40

python笔记13

可以让函数更加清晰、容易使用,同时也清除了参数顺序需求。...缺省参数 缺省参数也叫默认参数,⽤于定义函数,为参数提供默认值,调用函数时不传该默认参数值 (注意:所有位置参数必须出现在默认参数前,包括函数定义和调用)。...⽤于不确定调用时候会传递多少个参数(不传参也可以)场景。此时,包裹(packing)位置参数,或者包裹关键字参数,来进行参数传递,会显得⾮常⽅便。...'TOM', 18) 注意:传进所有参数都会被args变量收集,它会根据传进参数位置合并为一个元组(tuple), args是元组类型,这就是包裹位置传递。...(name='TOM', age=18, id=110) 综上:⽆论是包裹位置传递还是包裹关键字传递,都是一个组过程。

37520

PHP 7.4 有哪些新特性

PHP 7.4 主要特性包括以下几个, 短闭函数(short closure) 预加载提交性能 属性类型限定 Improved type variance(不会翻译) 三元运算简写 数组展开运算 新增类魔术方法...:serialization 数字分隔符 运算优先顺序 允许在__toString中抛出异常 支持反射引用 新增字节分割函数 移除php短标签 弃用左关联运算符 不再向后兼容变更 短闭函数 短闭函数可以减少冗余代码...,所以不需要再写 use 关键词 以fn关键词开始 $this 可以像普通一样使用 短闭只有一行代码,仅仅做返回声明使用,不允许使用return 关键词 还可以使用更严格类型方式 $ids =...4 : 5; // 正确 不再向后兼容变更 弃用在没有父类情况下调用parent:: 调用var_dump打印DateTime和DateTimeImmutableshi’实例,将不再保留对象上访问属性...,而不是被包裹数组或对象值, 数组强制转换不受影响

1K10

Android Studio快捷键每日一练(2)

14、包裹代码块 苹果:Cmd+Alt+T   Windows:Ctrl+Alt+T 该快捷键可用特定结构包裹代码块,如if-else, try-catch或者Runnable类。...如果当前没有选中任何行,则包裹当前行代码。 15、最近历史 苹果:Cmd+E   Windows:Ctrl+E 使用这个快捷键可以快速调出最近使用文件一个搜索列表。...关于实时模板有趣一点是,它可以使用一些默认参数对模板进行参数化,并在插入模板后引导你设置每一个参数。 更多提示: (1)当然,如果你知道模板简写形式的话也可以不用快捷键。...这个和工具栏上向后箭头号作用不同,向后箭头号作用是在导航历史中跳转,而这个功能是在你编辑历史中进行跳转。...功能上就是包裹代码对立面。

649100

【基于 JS 函数式编程 - 2】高阶函数 | 函数代替数据传递 | 函数是一等公民 | 闭 | 使用高阶函数实现抽象 | 数组高阶函数

函数作为参数传递是js规范中一部分。而, 允许以函数代替数据传递是一个值得关注概念。 我们把接受函数作为其参数函数称为高阶函数(HOC)。...所以,在js中与对String和Number类型操作类似,我们可以把函数存入一个变量等方式进行传递。 那么,当一门语言允许函数作为任何其他数据类型使用时,函数就被称为“一等公民”。...通常,闭有3个访问作用域: 1、在闭函数,自身之内声明变量,如: function outer() { function inner() { let a = 5; console.log...} 由此,我们将外部函数成为包裹函数函数。...闭记住它上下文 先看一个示例代码: let fn = (arg) => { let outer = "visible"; let innerFn = () => { console.log

18250

PHP 7.4 新特性

计划在2019年11月21日发布,它主要新增了以下几个特性: short closure Improved type variance serialization __toString php 短闭函数...$user) => $user->id, $users) 需要注意几点: use $this 预加载 PHP 预加载可以极大提高性能 优点:在 PHP 7.4 以前,如果你使用了框架来开发,每次请求文件就必须加载和重新编译...数字分隔符 允许使用下划线更直观分隔数值 $unformattedNumber = 107925284.88; $formattedNumber = 107_925_284.88; 运算优先顺序...4 : 5; // 正确 不再向后兼容变更 弃用在没有父类情况下调用 parent:: 调用 var_dump 打印 DateTime 和 DateTimeImmutable shi'实例,将不再保留对象上访问属性...,而不是被包裹数组或对象值, 数组强制转换不受影响 原文:https://segmentfault.com/a/1190000019554530

75230

【消息队列】RabbitMP入门实战

消息队列(Message Queue)是一个在计算机科学中广泛使用概念,主要用于异步通信、应用解耦、流量削峰等场景。...寄件人(生产者):需要将包裹寄送给收件人的人,他们会将包裹送到快递公司某个网点或邮筒。...二、同步与异步场景 同步与异步场景 同 步 异 步 系统耦合度高 参与各功能模块相对独立,耦合度低 并发压力持续向后续服务传导 借助消息队列实现流量削峰填谷 系统结构缺乏弹性,扩展性差 各功能模块对接消息队列...,系统功能扩展方便 响应时间长 快速响应 注 意 并不是把所有交互方式都改成异步 强关联调用还是通过OpenFeign进行 同步调用 弱关联、独立拆分出来功能使用 三、RabbitMQ介绍 官网地址...; // 参数1:交换机名称,如果没有指定则使用默认Default Exchange // 参数2:路由key,简单模式可以传递队列名称 //

8710

——计算机网络(OSI)参考模型 详解

标准化和扩展性:各层使用标准化接口,便于系统扩展和新技术集成。 隔离性和可移植性:上层无需关心下层实现细节,增强了系统可移植性。...物理层 - 快递公司物流车辆和道路 作用:负责快递包裹在道路上实际传输。 比喻: 物流车辆和道路:类似于物理层中使用电缆、光纤和无线电波,这些物理介质用于传输数据。...具体操作:快递包裹被装载到物流车辆上,通过道路运输到达目的地。 2. 数据链路层 - 包裹在仓库中处理 作用:确保包裹在运输过程中正确处理和无误传递。...具体操作:包裹在仓库内处理类似于数据链路层帧封装和错误检测,确保每个包裹(数据帧)正确无误地被传递。 3. 网络层 - 确定最佳运输路径 作用:决定包裹从发件人到收件人最佳运输路径。...数据链路层确保在仓库中正确处理和无误传递,就像在物流中对包裹进行扫描和打包。最后,物理层负责实际快递车辆和道路,类似于使用物理介质传输数据,确保包裹顺利到达目的地。

24910

Python和装饰器

a 为与装饰器 @a 对应函数, b 为装饰器修饰函数,装饰器@a作用是: 简而言之:@a 就是将 b 传递给 a(),并返回新 b = a(b) 栗子: 上面使用@dobi来表示装饰器,其等同于...还是得在赘述下“闭意思,望文知意,可以形象把它理解为一个封闭包裹,这个包裹就是一个函数,当然还有函数内部对应逻辑,包裹里面的东西就是自由变量,自由变量可以在随着包裹到处游荡。...当然还得有个前提,这个包裹是被创建出来。 在通过Python语言介绍一下,一个闭就是你调用了一个函数A,这个函数A返回了一个函数B给你。这个返回函数B就叫做闭。...闭与装饰器 上面已经简单演示了装饰器功能,事实上,装饰器就是一种应用,只不过其传递是函数: @makeitalic 装饰器将函数 hello 传递给函数 makeitalic,函数 makeitalic...@makebold 也是如此,只不过其传递是 @makeitalic 装饰过 hello 函数,因此最后执行结果 在  外层,这个功能如果不用装饰器,其实就是显式使用: 闭作用

49940

React中路由使用

在react中配置前端路由一般会使用react-router这个,但是下V4版本之后,这个针对不同开发环境被拆分成了不同,在web中我们使用react-router-dom。...,这里面有: a、路由最外层组件 Router b、Switch包裹组件,作用是匹配路由后只渲染一个组件 c、Route站位组件,通常需要传递组件参数,有多种传递方式 d、Link导航组件...上面三步基本基本能满足大部分React路由需求了,但是这里面有需要大家注意地方: A、首先是路由匹配是从上到下,也就是在switch包裹Route中,先匹配/about,在匹配/users,在匹配...Route使用,Route使用时需要向其内部传递组件,这里有三种方式,分别是children、component、render。...以上便是React中路由使用,希望对你有所帮助。

1.4K40

保持 Go 模块兼容

此示例说明,对于向后兼容性而言,只满足调用兼容性是不够。事实上,您不能对函数签名进行向后兼容更改。 与其更改函数签名,不如添加一个新函数。...例如,在引入 context 之后,将 context.Context 作为第一个参数传递给函数已成为一种常见做法。...传递 nil for config 将使用这些默认值;通过设置了一些字段构造结构将覆盖这些字段默认值。...一个被广泛使用例子是 google.golang.org/grpc DialOption。 在函数参数中,选项类型履行与 struct 相同角色:它们是一种扩展传递行为修改配置方法。...这种策略只在不使用新方法旧接口仍然受支持情况下有效,这限制了模块未来扩展性。 在可能情况下,最好完全避免这类问题。例如,在设计构造函数时,更喜欢返回具体类型。

1.2K30

python函数作用域与闭

还是得在赘述下“闭意思,望文知意,可以形象把它理解为一个封闭包裹,这个包裹就是一个函数,当然还有函数内部对应逻辑,包裹里面的东西就是自由变量,自由变量可以在随着包裹到处游荡。...当然还得有个前提,这个包裹是被创建出来。 在通过Python语言介绍一下,一个闭就是你调用了一个函数A,这个函数A返回了一个函数B给你。这个返回函数B就叫做闭。...你在调用函数A时候传递参数就是自由变量。...另外再说一点,闭并不是Python中特有的概念,所有把函数做为一等公民语言均有闭概念。不过像Java这样以class为一等公民语言中也可以使用,只是它得用类或接口来实现。...,一般程序执行完毕后作用域才释放,因此对一些需要重用功能且不足以定义为类行为,使用会比使用类占用更少资源,且更轻巧灵活。

54220
领券