Tag: 机器人工作室

为什么我不能指定我的Kotlin文件在Android Studio中的位置?

我的问题是以下几点: 我正在使用Android Studio 3.0.1,并试图尽可能快地创建新文件(使用MVP可能是Kotlin的挑战)。 例如,在Java中,您可以find以下内容: 然后,如果您在Option + Enter上单击(根据您的计算机),我可以选择创建我的界面: 我可以选择包和它将被放置的文件夹: 但是当我和Kotlin在一起时: 它只是让我选择类容器(我想要导入它,外部设置) Android Studio没有配备这个function的原因吗?

查找Kotlin类的主构造函数的用法

想象一下,在你的基于Kotlin的项目中,你有一个超级重要和广泛使用的类。 它有唯一的定义如下的构造函数: class MyAwesomeManager(argOne: String, argTwo: String) 出于某种原因,您需要快速查找其构造函数的所有用法。 您正在使用Android Studio(或Intellj IDEA)。 但是…按Ctrl + LMB的名字会产生大量的垃圾结果 – 在导入,伴侣对象的字段调用等方面的使用。一个类的所有用途,但不是构造函数 。 将光标放在名称上并按Alt + F7也是一样 。 那么,我怎样才能find这个主要构造函数的所有用途呢?

Android / Kotlin使用Java.io.File读取文件:路径有问题

我正在尝试使用Kotlin在Android上开发我的第一个应用程序。 目前我尝试读取位于我的Android项目中的文件。 我有我的“Java”文件夹下面的架构: /java/example.first.com.monapp/controller/FirstActivity.kt /java/example.first.com.monapp/controller/WelcomeActivity.kt /java/example.first.com.monapp/model/words.kt /java/example.first.com.monapp/model/wordsData wordsData是一个带有原始数据的文本文件(每行3个词,用“;”分隔) word.kt中的代码是: package example.first.com.monapp.model import java.io.File data class Word(val wordFr:String, val wordRu:String, val active:Boolean) fun readFileKotlin(): List { val fileToRead=”wordsData” val wordList = mutableListOf() var reader= File(fileToRead).readLines() var wrdLst:List for (line in reader) { val wrdProperties = line.split(“;”) wordList.add(Word(wrdProperties[0], wrdProperties[1], wrdProperties[2].toBoolean())) } wrdLst=wordList return wrdLst } 我创建我的活动期间调用readFileKotlin函数,但我不断得到“java.io.FileNotFoundException”没有这样的文件或目录错误。 我尝试了几个变体的路径,如 […]

Kotlin:我如何请求从模拟器访问ACCESS_FINE_LOCATION?

我正在使用地图,在模拟器上运行时,地图不起作用。 在我的日志中,出现一个错误,告诉我必须授予对ACCESS_FINE_LOCATION的访问权限。 我如何在KOTLIN中做到这一点? 我只能用JavafindS / O的答案。 我得到的错误是: 位置提供者需要ACCESS_FINE_LOCATION权限

Android Studio Lint检查Kotlin高阶函数

我已经看到下面这个高阶函数的例子被用作一个方便的方法来包装Android API版本检查。 fun isLollipop(func: () -> Unit) { if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) { func() } } 但是,在Android Studio 3.0(Kotlin版本1.2.0)中,如果我尝试使用需要Lollipop的API(该项目的minSdk为17),则会看到lint错误。 例如: isLollipop { appBarLayout.elevation = 4f } Lint抱怨elevation属性上的API最小值。 正如一个侧面说明,如果您将函数编写为inline fun函数,则无关紧要,lint仍会提供相同的警告。 使用内联函数,反编译的Java代码显然被版本检查包围。 我刚才发现了这个讨论,但似乎Kotlin团队已经整合了支持。 https://youtrack.jetbrains.com/issue/KT-7729 lint系统是否支持查看高阶函数?

用于将方法参数分配给Android Studio中的字段的Kotlin快捷方式

在Android Studio中,当我按下Alt + Enter并将方法参数分配给类成员字段时,正在处理Java类。 但是,当我使用Kotlin没有建议这个function。 我可以为此创建一个新的建议还是有任何方法来分配参数的字段? Java类建议: Kotlin课堂建议:

在Android工作室Kotlin

我从kotlin使用,但是当我在我的项目中同步它,让我波纹管错误: Error:Could not find org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-3. Searched in the following locations: file:/D:/android-studio/gradle/m2repository/org/jetbrains/kotlin/kotlin-gradle-plugin/1.1.2-3/kotlin-gradle-plugin-1.1.2-3.pom file:/D:/android-studio/gradle/m2repository/org/jetbrains/kotlin/kotlin-gradle-plugin/1.1.2-3/kotlin-gradle-plugin-1.1.2-3.jar https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-gradle-plugin/1.1.2-3/kotlin-gradle-plugin-1.1.2-3.pom https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-gradle-plugin/1.1.2-3/kotlin-gradle-plugin-1.1.2-3.jar Required by: project : 这是我的build.gradle(Module) : apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ android { compileSdkVersion 25 buildToolsVersion “25.0.3” defaultConfig { applicationId “ir.baslam.kotlinme” minSdkVersion 16 targetSdkVersion 25 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), […]

如何显示从Android库反编译的Kotlin代码

我写了一个已上传到私人服务器的库。 当我将库作为依赖包含在我的应用程序项目中,并查看其中一个库类的源代码时,源代码实际上并未反编译。 它只显示类名和方法。 例如: package com.example.library.ui public final class RoundedDrawable public constructor() : android.graphics.drawable.Drawable { public final var backgroundColor: kotlin.Int /* compiled code */ // … other similar fields public open fun draw(canvas: android.graphics.Canvas): kotlin.Unit { /* compiled code */ } // … other similar functions } 正如你所看到的,它只显示/* compiled code */注释,而不是完整的源代码。 有一个选项提交给“反编译为Java”; 哪些工作,但我宁愿看到Kotlin的来源。 这可能吗? 我发现类似的问题 […]

Kotlin文件不能使用R.java

我在适当的资源文件夹中创建了一个新的布局文件。 同步后,当我尝试引用布局文件,即R.layout.activity_test时,R是一个“未解决的符号”。 当我试图建立在它失败。 有趣的是,如果我手动导入R文件并在代码中使用它,当我尝试在命令行上构建时,它将起作用。 另一件事是当我尝试使用R在Java文件中访问布局文件时,也可以。 所以我知道R.java正在生成。 我试图创建一个全新的项目,R可以在Kotlin文件中访问。 这里有什么问题? 我已经尝试过的事情: 清理然后建立 无效的缓存/重新启动 吹走。格式化文件夹并重新创建索引 其他信息: AS v3.0.1 试了Kotlin v1.1.2-4和v1.1.60 Gradle v4.2.1 Gradle插件v3.0.0

Kotlin和Android Studio非法状态exception

突然之间,我无法从AS 3.0启动应用程序。 我有Kotlin 1.2.10,Gradle同步是做的不错,但是当我启动时,我得到这个错误。 我已经尝试清理项目,使AS缓存无效…但没有什么好的。 e: java.lang.IllegalStateException: declared descriptor is not resolved to declaration: public open fun (): [ERROR : ] defined in root package[ErrorSimpleFunctionDescriptorImpl@231377cb] at org.jetbrains.kotlin.resolve.OverrideResolver.checkOverrideForMember(OverrideResolver.kt:260) at org.jetbrains.kotlin.resolve.OverrideResolver.checkOverridesInAClass(OverrideResolver.kt:66) at org.jetbrains.kotlin.resolve.OverrideResolver.checkOverrides(OverrideResolver.kt:59) at org.jetbrains.kotlin.resolve.OverrideResolver.check(OverrideResolver.kt:52) at org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer.analyzeDeclarations(LazyTopDownAnalyzer.kt:207) at org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer.analyzeDeclarations$default(LazyTopDownAnalyzer.kt:57) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:112) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:84) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:376) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:67) at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:96) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:367) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules(KotlinToJVMBytecodeCompiler.kt:132) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:162) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:63) […]