Tag: kotlin

你如何设置Kotlin,Gradle和Web框架的Spring Loaded?

我是JVM的新手,有兴趣尝试Kotlin进行REST风格的Web开发。 热重新加载是我习惯于从Python,Ruby和JavaScript等动态脚本语言开发的function。 玩,Dropwizard和Spring Boot都显得有吸引力。 我会愿意使用上述任何一种,但是我一直无法得到一个简单的“保存文件,重新加载网页”的工作流与任何上述设置。 这怎么能做到呢?

在自定义视图中绘制自定义视图

我正在处理自定义视图TreeView ,它将显示给定根节点的树。 我正在使用Kotlin语言。 以下是目前的部分内容: override fun onDraw(canvas: Canvas?) { super.onDraw(canvas) drawNodeAndChildren(canvas, rootNode) } /** * Draws a representation of a node and its children onto the canvas. * … */ private fun drawNodeAndChildren(canvas: Canvas, node: TreeNode, …): Int { … // Calculate coordinates of rect val top = … val bottom = … val left […]

Anko floatingActionButton缺失或冲突的依赖关系

下面这个稍微过时的教程 ,我卡住试图使用org.jetbrains.anko.design.floatingActionButton 。 错误是: 无法访问类“android.support.design.widget.FloatingActionButton”。 检查您的模块类路径是否存在缺失或冲突的依赖关系。 build.gradle(Project) buildscript { ext.kotlin_version = ‘1.1.50’ ext.anko_version = ‘0.10.1’ repositories { google() jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:3.0.0-beta6’ classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” } } allprojects { repositories { google() jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } build.gradle(App) apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-android-extensions’ android { […]

字段的安装程序通过types投影来删除

我有以下的SSCCE: class Foo(val bars: Map<Int, Bar>) { fun qux(baz: Baz) { val bar2 = bars[2]!! bar2.bazes += baz } interface Bar { var bazes: MutableList } } 这对我来说似乎很好,但编译器抱怨: Error:(5, 9) Kotlin: Setter for ‘bazes’ is removed by type projection 我不知道这意味着什么,更不用说如何纠正它。 这里发生了什么,如何解决这个问题?

Recycler中的checkbox勾选为true时,查看项目被immedietaly选中为false

我使用RxJava2,Kotlin和Room作为例子。 以下是将我的项目填充到recyclerView的适配器: class ShoppingListDetailsAdapter(val list: ArrayList, val context: Context, val listener: ShoppingItemCheckboxListener, val isArchived: Boolean) : RecyclerView.Adapter() { override fun getItemCount(): Int { return list.count() } override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): ViewHolder { val itemView = LayoutInflater.from(parent?.getContext()) .inflate(R.layout.item_shopping_list_element, parent, false) return ViewHolder(itemView) } override fun onBindViewHolder(holder: ViewHolder?, position: Int) { val item = list.get(position) […]

为什么operation.map(启动线程).foreach(join())在kotlin中工作?

我一直在试图find一个解释,为什么这在kotlin工程: (1..100).map { launch { System.out.println(“Hello from on ${Thread.currentThread().name}”) delay(100) } }.forEach { it.join() } 在Java中,这将: 开始线程1 加入线程1 – 在这里阻塞,永远不会启动超过1个线程。 在kotlin这个进程并行的multithreading。 为什么这个工作?

什么matry依赖对kotlin黄瓜?

我想要使​​用kotlin本地步骤定义, 如 : package cucumber.runtime.kotlin.test; … class LambdaStepdefs : En { init { Before { scenario: Scenario -> assertNotSame(this, lastInstance) lastInstance = this } Given(“^this data table:$”) { peopleTable: DataTable -> val people = peopleTable.asList(Person::class.java) assertEquals(“Aslak”, people[0].first) assertEquals(“Hellesøy”, people[0].last) } 凡Givenfunction,而不是一个注释。 我不想使用像@Given(“blabla”) void blabla() { … }的Java风格@Given(“blabla”) void blabla() { … } 。 我试图从示例中导入包: package […]

在启动时使用参数化初始化的单例数据库对象?

我试图创建一个可以被多个类使用的单个数据库实例(在Kotlin中使用object关键字)。 但是,我希望能够在创建单例实例之前指定数据库名称。 由于单例对象不能用参数初始化,所以我想知道我在做什么是有效的,或者是否有更好的方法来做事情: object DatabaseSingleton { private lateinit var databaseName: String private lateinit var mongoClient: MongoClient val database: DatabaseContainer by lazy { DatabaseContainer(databaseName, mongoClient) } fun init(databaseName: String, mongoClient: MongoClient): DatabaseSingleton { this.databaseName = databaseName this.mongoClient = mongoClient return this } } 并在另一个文件 class DatabaseContainer(databaseName: String, val mongoClient: MongoClient) { val db: MongoDatabase = mongoClient.getDatabase(databaseName) […]

“包含Kotlin支持”checkbox不在Android Studio 3.0 Canary 5中

我想在我的Windows 7 64位机器上的Android Studio 3.0 Canary 5(171.4141229)中创建一个Kotlin项目。 但是,当我启动一个新项目时,向导的第一个窗口不显示“包括Kotlin支持”checkbox(它也不显示“包括C ++支持”checkbox)。 它看起来像这样: 我能做些什么来创建Android Studio 3.0 Canary 5中的Kotlin项目? 所有的教程(使用加那利1)说,这个checkbox应该在那里。

Kotlin中线程与协程的区别

Kotlin中是否有任何特定的语言实现与其他语言的协同程序有所不同? 这意味着协程就像轻量级的线程? 有什么不同? kotlin的协同程序是否并行/同时运行? 即使在多核系统中,在任何给定的时间只有一个协程运行(是不是?) 这里我开始了100000个协程,这个代码背后发生了什么? for(i in 0..100000){ async(CommonPool){ //run long running operations } }