Android Studio 3 canary&Kotlin

有没有人得到消息“Kotlin未配置” 我确定我错过了一些东西,但是大部分我都下载了它,只是导入了我现有的2.x设置。 我尝试从java类复制/粘贴到一个新的Kotlin文件,这就是我所在的地方。 这是我目前的顶级build.gradle buildscript { repositories { jcenter { url = “http://jcenter.bintray.com/” } maven { url = “https://maven.google.com” } mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:3.0.0-alpha1’ } } allprojects { repositories { jcenter { url = “http://jcenter.bintray.com/” } maven { url = “https://maven.google.com” } mavenCentral() } } 然后在我的模块构建文件的顶部我有这两行 apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ 目前的错误是“插件与id’kotlin-android’未find”

执行任务’:app:compileDebugKotlin’失败。 >内部编译器错误。 查看日志了解更多详情

这是我的build.gradle(应用程序)文件 请帮忙。 我已经将我的Android Studio升级到3.0.0并且此代码是从Android示例代码获取的。 我只是试图导入所有的。 错误如下: 错误:执行任务’:app:compileDebugKotlin’失败。 内部编译器错误。 查看日志了解更多详情 apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-android-extensions’ android { buildToolsVersion ‘26.0.2’ compileSdkVersion 26 defaultConfig { applicationId “com.sumukh.kotlin.topekaquiz” minSdkVersion 15 targetSdkVersion 26 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } packagingOptions { exclude ‘LICENSE.txt’ } […]

Kotlinfunction:需要的单位? findInt

在Kotlin反复面对这个问题 fun test(){ compute { foo -> Log.e(“kotlin issue”, “solved”) } // This line is //showing error } fun compute(body: (foo:String) -> Unit?){ body.invoke(“problem solved”) } 我在Studio中遇到错误。 这是一个截图。

Kotlin:如何访问Delegate的get-和setValue方法?

我一直想知道如何委托属性 (“由”的关键字)的工作。 我通过契约得到了委托(“by”的右边)必须实现一个get和setValue(…)方法,但是怎样才能确保编译器以及如何在运行时访问这些方法呢? 我最初的想法是,很明显,代表们必须实施某种“SuperDelegate” – 接口,但似乎并非如此。 所以剩下的唯一选择就是使用Reflection来访问这些方法,可能在语言本身的低层实现。 我觉得有些奇怪,因为根据我的理解,这将是相当低效的。 此外,reflectionAPI甚至不是stdlib的一部分,这使得它更怪。 我假设后者已经是(部分)答案。 所以让我再问你下面的问题:为什么没有声明getter和setter方法的SuperDelegate-Interface? 那不会更清洁吗? 以下对于这个问题并不重要 所描述的接口甚至已经在ReadOnlyProperty和ReadWriteProperty中定义了。 要决定使用哪一个可以取决于我们是否有val / var。 或者甚至省略,因为在val上调用setValue方法被编译器阻止,只能使用ReadWriteProperty接口作为SuperDelegate。 可以说,当要求代表实现某个接口的时候,构造会变得不那么灵活。 虽然这会假定作为代表使用的类别可能不知道这样使用,但我认为这是不太可能的,因为有必要的方法的具体要求。 如果你仍然坚持,这里有一个疯狂的想法:为什么不甚至使这个类通过扩展实现所需的接口(我知道这是不可能的,但现在,但是,为什么不呢?可能有一个好’为什么不’,请让我知道作为一个旁注)。

kapt构建失败与匕首Android处理器

我试图用Kotlin注解处理工具 (kapt)在我的项目中包含Dagger Android处理器( 在此记录)。 我已经在我的build.gradle文件中包含了适当的依赖关系: apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-kapt’ android { compileSdkVersion 25 buildToolsVersion “25.0.2” defaultConfig { applicationId “com.example.app” minSdkVersion 16 targetSdkVersion 25 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } sourceSets { main.java.srcDirs += ‘src/main/kotlin’ } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } } dependencies { […]

如何在Android片段中正确实现一个接口?

乡亲。 我一直在与kotlin一个项目工作,我需要做一个片段,与父母的活动交流…我完全按照谷歌和其他网站的建议,但我仍然得到一个错误“活动不会覆盖任何东西”…所有其他解决方案都不适合我…这里是代码。 分段 package com.me.assistan.assistant import android.app.Activity import android.app.DatePickerDialog import android.app.TimePickerDialog import android.content.Context import android.content.Intent import android.graphics.drawable.GradientDrawable import android.os.Bundle import android.support.v4.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.CompoundButton import android.widget.LinearLayout import android.widget.ToggleButton import kotlinx.android.synthetic.main.content_newplan.* import java.util.* class addingTask : Fragment(), View.OnClickListener{ var func = Functions var globalTask = GlobalTask private lateinit var listener: OnTimeSettedListener […]

如何修复在Kotlin中创建一个Spinner的时候,在一个Fragment的旋转屏幕上指定为非null的参数为null?

你好大家在我的片段,我已经在我的片段中添加了一个微调和一点点的代码来计算痣,但是当我旋转屏幕崩溃,并抛出一个错误,我不知道为什么它崩溃,当试图检查Non-空对象我不是什么错误的原因,这里是错误的: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull 这是我的第一个片段文件: private var mListener: OnFragmentInteractionListener? = null override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { // Inflate the layout for this fragment return inflater!!.inflate(R.layout.fragment_first, container, false) } override fun onViewCreated(view: View?, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) //activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) /*Find the id of spinner*/ val […]

Android WebView – JWT身份validation

我有一个Android应用程序,我正在从基本身份validation切换到JWT,所以,除了其他原因,我不必在本地存储用户的密码。 这对我所有的API请求都很有效,但我的应用程序的一部分使用WebView来显示托管在我的服务器上的自定义内容。 此内容还需要身份validation,目前我使用WebViewClient类中的用户名/密码组合来提供凭据。 现在我要去智威汤逊我不再有这些凭据,只有令牌。 有没有办法提供替代身份validation的WebViewClient ? 我的代码是Kotlin,但同样的原则适用于Java。 inner class WVClient : WebViewClient() { override fun onReceivedHttpAuthRequest(view: WebView, handler: HttpAuthHandler, host: String, realm: String) { // WHAT DO I DO HERE INSTEAD? handler.proceed(username, password) } }

用drawable查看setBackground去除高程的阴影

我尝试将Material Design的高程概念实现到我的RecyclerView。 对于RecyclerView的每个项目,我都使用这个 当我选择项目时,我以可编程的方式将效果应用于背景,并按照材料设计规范的建议将高程设置为8dp。 val draw = ResourcesCompat.getDrawable(resources, R.drawable.selected_task, null) draw?.setColorFilter(task.color.aRGB.toInt(), PorterDuff.Mode.OVERLAY) view.background = draw view.elevation = 8F (我在Kotlin编码)drawable: 和颜色值 #78000000 #32000000 问题是,当我选择一个项目,绘制的是很好地应用,但阴影被删除,而不是放大! 如果我没有使用drawable来设置背景,那么效果很好。 阴影像预期的那样被放大。 问题是什么 ?

如何使用正确的名称将Kotlin函数导出到Javascript

我试图将Kotlin函数导出到Javascript。 问题是,需要参数的函数在Kotlin2JS操作之后被重命名,这里是一个例子: Kotlin来源: fun withParam(args: String) { println(“JavaScript generated through Kotlin”) } fun withoutParams() { println(“Without params”) } 在Kotlin2JS之后,试图在Node REPL中要求: > const kotlinBundle = require(‘./build/index.js’); undefined > kotlinBundle { ‘withParam_61zpoe$’: [Function: withParam], withoutParams: [Function: withoutParams] } > 正如你所看到的,带有_61zpoe$后缀的参数的函数。 是否有可能摆脱那部分? 我使用kotlin2js插件和kotlin-stdlib-js:1.1.1库,我的kotlinOptions是: compileKotlin2Js.kotlinOptions { moduleKind = “commonjs” outputFile = “build/index.js” } 谢谢