Android – Kotlin – 在进程中间停止

在没有break情况下,是否有任何方法可以停止在Kotlin中循环? 例如: for (item in items) { for (item2 in arrRealmTemp ) { if (item.MKT == item2.MKT && item.UPC == item2.UPC ) { // I want to stop this (the inner for only ) here } } }

如何将Java分配expression式转换为Kotlin

在Java中的东西 int a = 1, b = 2, c = 1; if ((a = b) !=c){ System.out.print(true); } 现在应该把它转换成kotlin var a:Int? = 1 var b:Int? = 2 var c:Int? = 1 if ( (a = b) != c) print(true) 但这是不正确的。 这是我得到的错误: in ” (a=b)” Error:(99, 9) Kotlin: Assignments are not expressions, and only expressions are […]

用Kotlin和lambda返回接口实现

我有这个简单的界面: interface ValidationBehavior { fun onValidated() } 这个接口用于一个类的一个function: private enum class BehaviorEnum { IDLE, NAVIGATEBACK } private fun getBehavior(payloadBehavior: String) : ValidationBehavior { when(BehaviorEnum.valueOf(payloadBehavior)) { BehaviorEnum.IDLE -> return object: ValidationBehavior { override fun onValidated() { // do some stuff } } } } 我的问题是:是否有一种方法来简化与lambda返回语句? 我尝试一些这样的东西,但它不工作: return ValidationBehavior{ () -> //do some stuff }

kotlin从NavigationView头获取视图

我有这样的差异,但我相信有exsists更好的方式来做到这一点 val header = nav_view.getHeaderView(0) as LinearLayout val userName = header.findViewById(R.id.user_name) as TextView 但是当它只是通过user_name获得它的时候它是空的

暴露:如何解析JSON到一个实体类

我有以下用户表对象和实体类: object UserTable : IntIdTable() { val name = varchar(“name”, 256) } class User(id: EntityID): IntEntity(id) { companion object : IntEntityClass(UserTable) val name by UserTable.name } 有没有办法使用Gson(或其他库)来解析JSON到User实例,然后插入它? 从我可以告诉,看来我必须创建一个中间的UserData数据类,然后手动复制字段。 data class UserData { var id: Int? var name: String? } fun main() { val data = Gson().fromJson(“…”, UserData::class.java) val user = User.new { name = data.name […]

静态导入Kotlin Companion方法?

TL:博士; 是否有可能在另一个类的伴侣对象内import一个方法, 而不用 Companion限定导入? 也就是说,是否有任何可能的方式,我可以说import Bar.toFoo而不是import Bar.Companion.toFoo ,假设toFoo是Bar的伴侣对象的方法? 我们正在从Java迁移到Kotlin。 我们的class级看起来像这样: class Bar { static Foo toFoo() { return new Foo(); } } 然后,从一个碰巧是Kotlin的课程中使用它,我们会这样说: import Bar.toFoo; // … Bar().convert(toFoo()); // like a Java 8 Collector // … 当我们把Bar转换成Kotlin时,看起来像这样: class Bar { companion object { @JvmStatic fun toFoo() = Foo() } } 但是,我们希望调用代码不加修改地工作 import Bar.toFoo 不再有效,即使使用@JvmStatic! 相反,我们必须更新它 […]

Swotger为Kotlin

有没有人用Kotlin使用了一个夸大的工具? 在我们的组织中,我们使用Java和SpringMVC(@RestController类)创建了大部分REST服务。 我们使用springfox来生成Swagger API文档。 Swagger JSON表示也用于自动提供可搜索的服务目录,所以服务元数据的swagger格式对我们来说非常重要。 一些开发团队现在开始使用Kotlin。 我们正在寻找与使用KOTLIN的springfox或其他swagger库有关的建议或意见。

折叠列表与kotlin中的解构赋值配对

我尝试从一个字符列表上的折叠操作中得到多个结果,然后使用两个值的解构赋值给它们自己的variables。 但是这似乎导致了kotlin编译器的一个例外: java.lang.UnsupportedOperationException: Don’t know how to generate outer expression for class 奇怪(对我来说)没有解构,这是按照预期工作的。 这里是一个例子: val fstSec = “fst” val (fst, snd) = “this is a test for folding to pair” .toCharArray() .fold(Pair(0, 0), { sumPair, char -> when (fstSec) { “fst” -> Pair(sumPair.first + char.toInt()*2, sumPair.second + char.toInt()) “snd” -> Pair(sumPair.first + char.toInt(), sumPair.second + […]

Android Studio 3.1 Canary 3上的Gradle同步错误

嘿同胞更新后的Android Studio 3.1 Canary 3我刚刚创建了新项目,但由于gradle同步失败: 错误:com.android.tools.idea.gradle.project.model.AndroidModuleModel.getMainArtifact()LCOM /安卓/工具/主意/ gradle产出/项目/模型/ IDE /安卓/ IdeAndroidArtifact; com.android.tools.idea.gradle .project.model.AndroidModuleModel.getMainArtifact()LCOM /安卓/工具/主意/ gradle产出/项目/模型/ IDE /安卓/ IdeAndroidArtifact; 我的gradle文件是: > buildscript { > ext.kotlin_version = ‘1.2.0-rc-39’ > repositories { > google() > jcenter() > maven { url “https://dl.bintray.com/kotlin/kotlin-dev”} > } > dependencies { > classpath ‘com.android.tools.build:gradle:3.1.0-alpha03’ > classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” > classpath ‘com.google.gms:google-services:3.1.0’ > } } […]

在Kotlin解析json

我试图在Kotlin中解析Json。 我遇到了很多麻烦,似乎很多人学习Java之后的Kotlin …不是我,我是一个Python家伙。 我得到了一个Kotlin Jupyter笔记本,运行速度相当快( https://github.com/ligee/kotlin-jupyter ),之后我设法从bittrex api中获取信息,如下所示: import java.net.URL val result = URL(“https://bittrex.com/api/v1.1/public/getmarkets”).readText() 我花了很长时间才发现我需要添加import java.net.URL,这似乎总是隐含在所有的代码示例中。 无论如何,这给了我一个响应在JSON(“结果参数”): {“success”:true,”message”:””,”result”:[{“MarketCurrency”:”LTC”,”BaseCurrency”:”BTC”,”MarketCurrencyLong”:”Litecoin”,”BaseCurrencyLong”:”Bitcoin”,”MinTradeSize”:0.01469482,”MarketName”:”BTC-LTC”,”IsActive”:true,”Created”:”2014-02-13T00:00:00″,”Notice”:null,”IsSponsored”:null,”LogoUrl”:”json/6defbc41-582d-47a6-bb2e-d0fa88663524.png”},{“MarketCurrency”:”DOGE”,”BaseCurrency”:”BTC”,”MarketCurrencyLong”:”Dogecoin”,”BaseCurrencyLong”:”Bitcoin”,”MinTradeSize”:274.72527473,”MarketName”:”BTC-DOGE”,”IsActive”:true,”Created”:”2014-02-13T00:00:00″,”Notice”:null,”IsSponsored”:null,”LogoUrl”:”json/a2b8eaee-2905-4478-a7a0-246f212c64c6.png”},{“MarketCurrency … 现在,在Python中,我只是将“json()”添加到“result”参数中,然后我可以将json字段作为具有多个级别的字典来处理,例如 result[“success”] 会给我: true 有没有像Kotlin那样的东西? 我试过了Klaxon https://github.com/cbeust/klaxon ,又花了我很多时间才意识到我要import com.beust.klaxon.string ,在网站上没有提到例如,所以一个侧面的问题是:当你find代码示例时,你怎么知道你需要导入什么? 似乎每个人都知道…但我离题了。 我的主要问题是:如何解决Json的单独字段并将它们分解为单独的variables? 最高的问候。