草庐IT

android - 使用 Moshi/Retrofit2 访问深度嵌套的 JSON 数组

我只需要“照片”数组。我的JSON看起来像这样:{"photos":{"page":1,"pages":"1000","perpage":1,"total":"1000","photo":[{"id":"44049202615","owner":"159796861@N07","secret":"cb8f476a4d","server":"1958","farm":2,"title":"Murugan","ispublic":1,"isfriend":0,"isfamily":0}]},"stat":"ok"}我是Moshi/Retrofit的新手。我看到了this但我还不太明白如何让

解决无法下载kotlin-compiler-embeddable.jar的问题

在进行Kotlin编程时,我们通常会使用Kotlin编译器来将Kotlin代码编译为可执行的程序或库。然而,有时我们可能会遇到无法下载kotlin-compiler-embeddable.jar文件的问题。下面我将为您提供一些解决此问题的方法。首先,确保您的计算机已经连接到互联网,并且网络连接正常。有时候,下载问题可能是由于网络连接不稳定或断开而引起的。您可以尝试使用其他网络或重新连接当前网络来解决此问题。如果网络连接没有问题,那么您可以尝试手动下载kotlin-compiler-embeddable.jar文件并将其添加到您的项目中。您可以通过以下步骤进行操作:打开Kotlin官方网站(ht

Kotlin入门笔记(适合有JAVA最基本基础的)

本笔记摘抄自《第一行代码》第三版郭霖著注意:Kotlin的语句最后没有分号修饰符JAVApublic(所有类可见)private(当前类可见)protected(当前类子类同一包路径下的类可见)default(默认就是这个同一包路径下的类可见)Kotlinpublic(所有类可见默认是这个)private(当前类可见)protected(当前类子类)internal(只对一个模块中的类可见)1.变量变量声明:val不可变变量;var可变变量/因为开发过程中JAVA代码总有人不在不可变的变量前加final,所以Kotlin为了修复这个问题,强制让你必须声明可不可变小tips:永远先用val,后期

kotlin使用属性委托实现依赖注入

起因在学习安卓网络通信时翻阅了一下《第三行代码》,决定试着用一下Retrofit,实现了HttpService与UserServiceobjectHttpService{privateconstvalBASE_URL="http://10.0.2.2/"privatevalretrofit=Retrofit.Builder().baseUrl(BASE_URL).addConverterFactory(GsonConverterFactory.create()).build()funcreate(serviceClass:Class):T=retrofit.create(serviceClas

android - 智能转换为 kotlin.String

我正在尝试使用Kotlin并从编译器那里得到消息:Smartcasttokotlin.String代码:/*"mTripStatus"isanullableString*/varhtml:String=HTMLhtml=if(mTripStatus!=null)html.replace("TRIP_STATUS_VALUE",mTripStatus)elsehtml这是什么意思? 最佳答案 如果if条件满足,编译器知道mTripStatus不能为null,因此它执行smartcast从String?到String。这就是允许html

android - 使用 Kotlin 处理错误 RXJava Android

大家好,我是RxJava和Kotlin的新手,我对它有一些概念。我有这样的“api”:interfaceVehiclesService{@GET("/vehicles/")fungetVehicles():Single>}然后我创建改造客户端等。像这样:varretrofit=RetrofitClient().getInstance()vehiclesAPI=retrofit!!.create(VehiclesService::class.java)最后我打电话了:privatefunfetchData(){compositeDisposable.add(vehiclesAPI.get

android - @RawValue 注解不适用于目标值参数

我正在尝试Parcelize一个数据类。它包含一个参数:vartokenType:Any?=null对于这个变量,编译器在编译时提示:TypeisnotdirectlysupportedbyParcelize.Annotatetheparameterwith@RawValueifyouwantittobeserializedviawriteValue()虽然错误是不言自明的,但当我像这样添加@RawValue时:@RawValuevartokenType:Any?=null它给出了一个错误:Thisannotationisnotapplicabletothetargetvaluepar

android - 如何在 Kotlin 中创建一个简单的倒数计时器?

我知道如何用Java创建一个简单的倒数计时器。但我想用Kotlin创建这个。packageandroid.os;newCountDownTimer(20000,1000){publicvoidonTick(longmillisUntilFinished){mTextField.setText("secondsremaining:"+millisUntilFinished/1000);}publicvoidonFinish(){mTextField.setText("Time'sfinished!");}}.start();我如何使用Kotlin来做到这一点?

【Gradle-3】Gradle中的DSL,Groovy & Kotlin

1、前言Gradle是一个构建工具,面向开发者的脚本语言是Groovy和Kotlin,即我们常用的build.gradle和build.gradle.kts或plugin等。那么在Gradle5.0之后已经支持Kotlin的情况下,为什么还要讲Groovy,直接上Kotlin不行吗?先来看一个图:这是Gradle使用的编程语言占比,排在第一的是Groovy,虽然有一部分是测试代码,但也说明groovy还是主流,其次,在我们新建项目的时候,Groovy依然是默认的构建脚本语言;而且,截至目前依然有很多公司很多项目并没有迁移到Kotlin。所以在当下,Groovy依然是Gradle不得不提的官方构

Kotlin功能类型而不是功能接口lambda

我在Kotlin挣扎,与Java中的功能接口相反。我有以下问题。classResultReceiverTest(handler:Handler):ResultReceiver(handler){funonResult(result:(resultCode:Int,resultData:Bundle)->Unit){//result()howtoreceivevaluesfromonReceiveResult()method?}overridefunonReceiveResult(resultCode:Int,resultData:Bundle){//howtocallonResultfromh