首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Android 开发者应该知道的 Kotlin 技巧 | 码云周刊第 72 期

今年的 Google I/O 大会上,Google 是这样评价 Kotlin:在过去一年里,有35%的专业 Android 开发者在使用 Kotlin,其中95%的开发者都对 Kotlin 非常满意。...而值得一提的是 Twobbble 完全使用 Kotlin 开发,并使用了 RxJava,Retrofit2,EventBus,Fresco,等多个常用第三方项目,会充分的证明了 Kotlin 在实际生产中的可靠与...Java to Kotlin 的过渡之平滑,如果你是初学 Kotlin,Twobbble 会是一个不错的学习对象。...该项目目前实现了 Dribbble 官方所给出的大多数 API,当然还有很多功能未实现,日后也会继续完善,当然如果你有兴趣,欢迎你 fork 并参与到开发来。...的一个面向下一代的极其轻量级的微服务框架,您可以处理 Url 的解析,数据的封装,Json 的输出等等,从根本上减少开发时间、提升开发体验。

84140

Android使用Flow检测版本升级自动下载安装

《学习|Android检测并自动下载安装包(Kotlin)》以前这篇的AsyncTask的方式下载过,现在AsyncTask慢慢废弃了,所以本篇也是初学Flow后的第一次体验使用。...实现效果 代码实现 服务端 因为我后端一直的Windows,后端的布署也是的IIS,所以后端这里找了一个现成的WebAPi,完全不需要代码,直接配置一下即可。...# 整体介绍 1 网络通讯retrofit2 2 类的JSON的GSON 3 下载时的状态显示更新用的kotlin Flow,这也是我第一次Flow排坑也用了些时间,不过使用起来确实感觉简单好多...封装类 一个retrofitAPIManager类,基于retrofit2的http通讯类,这个是很久前JAVA写的,就直接复制过来了 package dem.vaccae.autoupgradedemo.net...数据 val json = rsp.body()!!.

95330

Retrofit2 学习总结

的过程受到了一些阻力,现 Retrofit2 学会使用了,特此写此文验证所学知识。...请继续看 Retrofit2 进阶 自动解析 其实在Retrofit2,我们不用自己来解析数据,Retrofit2可以帮我们自动解析,怎么做呢?...请看: 添加 在Retrofit2Gson解析的,所以我们要在build.gradle添加。...下载文件得说说,在Retrofit2下载文件是默认存储到缓存,也就是说不能进行大的文件下载,如果要下载大文件要用 @streaming 。...HTTP请求方法 以上表格的除HTTP以外都对应了HTTP标准的请求方法,而HTTP注解则可以代替以上方法的任意一个注解,有3个属性:method、path、hasBody, 这里是HTTP注解实现的例子

1.1K20

如何使用Python对嵌套结构的JSON进行遍历获取链接并下载文件

数组是有序的数据集合,[]包围,元素逗号分隔;对象是无序的数据集合,{}包围,属性逗号分隔,属性名和属性值冒号分隔。 JSON可以形成嵌套结构,即数组或对象包含其他数组或对象。...遍历JSON有很多好处: ● 提取所需信息:我们可以嵌套结构的JSON获取特定信息,比如Alice喜欢什么书或Bob会不会跳舞等。...● 修改或更新信息:我们可以修改或更新嵌套结构的JSON的特定信息,比如Alice年龄加1或Charlie多了一个爱好等。...● 格式化或转换信息:我们可以将嵌套结构的JSON以不同形式展示给用户,比如表格、图表、列表等, 或者转换成其他格式,比如XML、CSV等。...● 分析或处理信息:我们可以对嵌套结构的JSON的特定信息进行分析或处理,比如计算Alice和Bob有多少共同爱好,或者按年龄排序所有人等。

10.7K30

诡异了,AtomicInteger 在 Kotlin 里面居然是 Abstract 的?

CallArbiter.java (https://github.com/square/retrofit/blob/master/retrofit-adapters/rxjava/src/main/java/retrofit2...我当时就想,我也搞一个 CallArbiter 吧,只不过我是 Kotlin 写的,显然根据以往的经验,Kotlin 根本就不会是什么问题好嘛,结果刚开个头就傻眼了: class CallArbiter...必然是啊,不过这事儿也有点儿奇怪了,毕竟 AtomicInteger 继承的可是 java.lang.Number,Kotlin 和 Java 的这两个 Number 之间有什么关系么? 3....不过这里还是有问题的,Java 的 Number 有类似 doubleValue 这样的方法,Kotlin 当中的 toDouble 与之有何关系?...而对于我们遇到的问题,逻辑上讲,AtomicInteger 这个类不应该是 open 的,我们继承它和把它作为一个组件进行组合实际上是没有区别的,对于组合就可以解决的问题,就不应该使用继承。

71310

Google 推荐在 MVVM 架构中使用 Kotlin Flow

Flow 结合 Retrofit2 + Room 的混合使用 Kotlin Flow 与 LiveData 的使用 使用 Coil 加载图片 使用 ViewModel、LiveData、DataBinding...Kotlin Flow 如何与 Retrofit2 + Room 混合使用?...Google 推荐在 MVVM 使用 Kotlin Flow Google 推荐在 MVVM 中使用 Kotlin Flow我相信如今几乎所有的 Android 开发者至少都听过 MVVM 架构,在...StackOverflow 上查看一下,有很多因为 RxJava 造成内存泄露的例子 RxJava 入门的门槛很高,学习过的朋友们,我相信能够体会到入门到放弃是什么感觉 解决回调地狱的问题 而相对于以上的不足...Kotlin Flow 在数据源的使用 在 [PokemonGo](https://github.com/hi-dhl/PokemonGo) 项目中,进入详情页,会检查本地是否有数据,如果没有会去请求

4.1K20

Python0到100(七):Python列表介绍及运用

例如:A = [1,'xiaoWang','a', [2, 'b']] 列表索引是0开始的,我们可以通过下标索引的方式来访问列表的值。...在Python,可以使用[]字面量语法来定义列表列表的多个元素逗号进行分隔,代码如下所示。...]) 方法二: items = ['Python', 'Java', 'Go', 'Kotlin'] for item in items: print(item) 讲到这里,我们可以列表的知识来重构上面...我们counters列表的六个元素分别表示1到6的点数出现的次数,最开始的时候六个元素的值都是0。...嵌套列表 Python语言没有限定列表的元素必须是相同的数据类型,也就是说一个列表的元素可以任意的数据类型,当然也包括列表。如果列表的元素又是列表,那么我们可以称之为嵌套列表

10910

你真的会用Retrofit2吗?Retrofit2完全教程

当然你也可以自己借助 json-server 或 最新开源的Parse 搭建一个REST API,不过都需要安装Node.js,有兴趣的可以去试试。 接口列表: ?...当然本篇文章会介绍得详细一点,不能写一篇水文,毕竟我给它命名为《你真的会用Retrofit2吗?Retrofit2完全教程》。...注: Retrofit2 的baseUlr 必须以 /(斜线) 结束,不然会抛出一个IllegalArgumentException,所以如果你看到别的教程没有以 / 结束,那么多半是直接Retrofit...以上表格的除HTTP以外都对应了HTTP标准的请求方法,而HTTP注解则可以代替以上方法的任意一个注解,有3个属性:method、path,hasBody,下面是HTTP注解实现上面 Example01...Header和响应码的,如果我们需要这两者,提供两种方案: 1、Observable``Observable ,这里的Response指retrofit2.Response 2、

2.3K70

From Java To Kotlin:空安全、扩展、函数、Lambda很详细,这次终于懂了

--- Android 官方开发语言Java变为Kotlin,Java 有哪些问题?...语法上看,扩展看起来就像是我们类的外部为它扩展了新的成员。...我们来看一下Lambda表达式的语法结构: {参数名1: 参数类型, 参数名2: 参数类型 -> 函数体} 首先最外层是一对花括号{ },如果有参数传入到Lambda表达式的话,我们还需要声明参数列表...,参数列表的结尾使用一个 '->' 符号 ,表示参数列表的结束以及函数体的开始,函数体可以编写任意行代码,并且最后一行代码会自动作为Lambda表达式的返回值。...run(); } 在 Kotlin 可以 fun 修饰符在 Kotlin 声明一个函数式接口: // 注意 interface 前的 fun fun interface KRunnable {

1.2K80

高级性能测试系列《14.响应的提取--json提取器:一个json提取器写多个提取式、正则提取器:万能正则式怎么?》

目录 一、响应的提取--json提取器(下) 1.有多个的话,怎么获取某一个呢 2.get请求参数的类型没有json格式 3.json的key-value键值对顺序是无序的 4.重点:一个json提取器写多个提取式...4.重点:一个json提取器写多个提取式。 $.. 再写一个json提取器。性能的角度来说,多一个元件会多消耗一些资源。 一个json提取器写多个提取式。...配置json提取器 运行结果 2)多个之间逗号会报错 多个之间是的英文分号,英文逗号不行。 运行后报错 运行后报错 要提取几个值,这些地方就要对应的填写。...比如,在注册接口提取出来了jqid: 登录的接口用到注册接口提取出来的值:jqid,作为传入参数: 三、正则提取器 session不会在响应信息里面,所以就不能用json提取器,正则提取器。...是一个列表里面再嵌套了一个列表,无需关注这个。 3.配置正则表达式提取器并运行。 模板的固定写法:数字 正则表达式提取数字1开始,数字1代表取第一个(),数字2代表取第二个()。

2.7K20

【翻译】Kotlin致简代码之路

我们将会发掘 Kotlin 在哪里可以帮我们写出致简代码而在哪里又不能。让我们使用 Kotlin 能够明显提升的地方开始。之后,我将会聊一些限制和缺陷相关内容。...而且,我们应该主要逻辑辨别出细节。 Kotlin 可以帮我们做到这点吗?不行,因为这些规则是无关于语言的。这仍然取决于开发者自己来创建小的函数。...使用 Kotlin ,我们可以更少的代码( 15 行对比 6 行)最少的形式主义前提下达到业务逻辑的实现。...var id2 = 1 id2 = 2 只读集合 在 Kolint 创建一个列表的惯用方式是使用 listOf() 方法。这会创建一个只读列表,因此你不能向它添加任何元素。...这个方法在 Kotlin 的只读列表接口中并不存在。 Kotlin 的集合 API 同样返回一个新的只读列表。原始的列表不会被改变。

1.4K30

一个实例学习Kotlin 开发 Android App 的全过程(内有代码)

4 显示地区列表 ChooseAreaFragment封装了显示地区列表的逻辑,但是只有ChooseAreaFragment类还不够,还需要很多辅助类来完成相应的工作。...例如,地区列表服务端获取的JSON数据,因此,需要有相应的类来完成网络上获取数据的工作,而且获取的是JSON格式的数据。因此,在使用这些数据之前,需要先将其转换为Kotlin类。...格式的城市列表信息 当JSON格式的数据服务端获取后,需要对这些数据进行解析。...Kotlin代码(解析JSON格式的数据) object Utility { // 解析和处理服务器返回的省级数据 fun handleProvinceResponse(response:...天气信息描述类 为了演示Kotlin与Java混合开发,描述天气信息的类Java编写。

4.6K50

python遇到嵌套结构数据,别用递归,试试这种新方式

拿到一份json数据,大致结构如下: 这是制作自动化生成 echarts (pyecharts) 代码小工具,遇到的第一个难题。我们需要从这份 json 文件中提取所有的相关配置信息。...难点在于,这些配置存在不确定深度的嵌套。比如:title 属性下存在其他的属性,记录在 properties 里面,并且下层每个属性都有可能存在 properties。...准备工作 使用任意 json 库把数据加载到 python : 这里 orjson ,你也可以使用其他的库,得到的是一个嵌套字典。 一开始,我们先不考虑循环,判断的逻辑代码怎么写。...现在得到两个结果(为了简化显示,把数据裁剪只有两个大项): 现在虽然没有提取两个大项下层的数据,但是我们已经注意到,代码列表 stack ,其实就类似一个任务容器,所以只要想办法把下一层的数据添加到...肯定是遍历任务列表的地方: 怎么加上,定义一个函数负责这个事情: 实现代码就一句,调用结果我注释写出来(行5-8) 有了这个函数,稍微修改原来的代码,就能得到结果: 行14:parent 肯定是 option

9510
领券