草庐IT

Kotlin-script

全部标签

android - 理想的Android Studio Kotlin gitignore

我想将我的Android应用程序代码提交到git存储库。为此,我需要一个合适的.gitignore文件,这样我就可以避免向repo提交不必要的和膨胀的东西。所以我想知道是否有人可以为我的kotlin项目提供一个好的。我已经在StackOverflow上解决了一些问题,但是那些.gitignore是面向JAVA项目的,我想要一个面向kotlin的问题。 最佳答案 android和java的gitignore与android和kotlin之间没有太大区别。不同之处在于构建目录,因此由于您的.gitignore中应该有一个构建条目,所以这

Kotlin中的Gradle

Grandle程序第一个Gradle程序1.创建左上角【File】->【NewProject】->【Project】,出现以下画面,如下勾选在配置Gradle时,需要连接网络下载资源,不然会出现配置失败的情况。若在构建完毕后,左侧的路径中没有出现src包,可以在build.gradle文件中最外部添加如下内容(对应的是5.X版本的Gradle):task'create-dirs'{doLast{sourceSets*.java.srcDirs*.each{it.mkdirs()}sourceSets*.resources.srcDirs*.each{it.mkdirs()}}}点击右侧栏进行如

Android Studio最新好用的插件----Gson转Java实体类/Kotlin Data

关于JSONJSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。JSON是由JavaScript语言衍生而来,但JSON并不是JavaScript的一种形式,它是一种独立的格式,可以在任何编程语言中使用。JSON数据由键值对组成,可以使用大括号来包含一组键值对,使用逗号来分隔不同的键值对。键和值之间使用冒号分隔,键必须是字符串,而且必须用双引号括起来,值可以是字符串、数字、布尔值、null、数组或另一个JSON对象。JSON数据可以是散乱的(unordered)或者有序的(ordered),散乱的JSON不会保留键值

android - Kotlin 和 Dagger 属于同一类吗?

依赖注入(inject)可能是所有模式中最强大的模式,但当我与Kotlin结合使用时,我想知道Dagger是否可靠,最重要的是可调试性足以用于大型项目。作为一个例子,gradle中的这条指令kapt"com.google.dagger:dagger-compiler:$rootProject.daggerVersion"产生一条非常长但无用的消息无法访问NonExistent类:缺少当然是这样困难的信息1)缺少的类名2)关于此引用所在代码中的点的任何信息。显然这是2016年报告的一个老问题:https://github.com/google/dagger/issues/435要解决此问

23:kotlin类和对象 -- 内联值类(Inline value classes)

有时,将一个值包装在一个类中可以创建一个更具领域特定类型的类。然而,由于额外的堆分配,这会引入运行时开销。此外,如果包装的类型是原始类型,性能损失是显著的,因为原始类型通常由运行时进行了大量优化,而它们的包装类没有得到任何特殊处理。为了解决这些问题,kotlin引入了一种特殊类型的类,称为内联类(inlineclass)。内联类是值类(value-basedclasses)的一个子集。它们没有身份,只能持有值。要声明一个内联类,请在类名之前使用value修饰符valueclassPassword(privatevals:String)要在JVM后端声明一个内联类,可以在类声明之前使用value

java - 为什么我不能在 Kotlin 中访问父类(super class)的枚举?

我正在将JavaAndroid项目转换为Kotlin。我正在使用API.AI'sclient,它有两个AIConfiguration类:父类(superclass)packageai.api;publicclassAIConfigurationimplementsCloneable{publicstaticenumSupportedLanguages{English("en"),//...}//...}子类packageai.api.android;publicclassAIConfigurationextendsai.api.AIConfiguration{publicenumRec

android - 无法使用 Kotlin 访问 EditText 或其他 UI 组件

我正在使用AndroidStudio3.0RC2和Kotlin。当我尝试访问UI组件时,除非我先编写findViewById,否则应用程序会崩溃。我认为Kotlin应该摆脱必须编写findViewById行?UI是一个fragment,我正在尝试从相同的fragment代码进行访问。有没有办法不必写findViewById?这些行有效:varuserNameField=view?.findViewById(R.id.userNameTextField)asEditTextuserNameField.setText("helloworld")如果没有findViewById行,该行将无法

android - 如何在 Android 中模拟 Kotlin 的 kotlinx.android.synthetic View

我有一个用Kotlin编写的fragment。我使用导入布局Viewimportkotlinx.android.synthetic.main.my_fragment_layout.在我的一种方法中,我设置了TextView的文本:funsetViews(){myTextView.text="Hello"//InJavaIwouldhaveused://(getView().findViewById(R.id.myTextView)).setText("Hello");}在我的纯JVM单元测试中,我想使用Mockito测试此方法。例如,如果上面的方法是用java编写的,我可以这样做:pu

android - Kotlin Dagger2 找不到符号 ApplicationModule_ProvideApplicationFactory

我正在尝试将Dagger2与Kotlin一起使用,但今天尝试编译时遇到此错误:Error:Executionfailedfortask':app:compileDebugJavaWithJavac'.Error:(5,43)error:cannotfindsymbolclassApplicationModule_ProvideApplicationFactory(应用程序)Build.gradleapplyplugin:'com.android.application'applyplugin:'kotlin-android'applyplugin:'kotlin-android-ext

android - Kotlin object/singleton 的方法是否同步?

将@Synchronized注释添加到对象的方法以使它们成为原子方法是否有意义,或者不需要它?例如:objectSingleton{varfield1:Int=0privatesetvarfield2:Int=0privateset@SynchronizedfunupdateFields(f1:Int,f2:Int){field1=f1field2=f2}}我想确保当我从其他对象读取它们时所有字段都被更新。我应该保留@Synchronized注释吗? 最佳答案 如果你想实现@Synchronized您需要明确添加语义-如您的示例所示