从文档我试图做这样的事情 //Primary: class Main2Activity(val name: String) { } //Secondary: constructor(a: Int) : super() { this.a = a } 所以Android工作室给了我创建这个二级构造函数的选项。 但它不承认我上面写的主要构造函数。 我也尝试了一些其他方式,如初始化和所有。 它给了我错误的二次构造不允许没有定义主要的一个。 那么如何编写主构造函数。
假设我们有以下几点: val person = “Bill” 有人可以解释这两者之间的区别: val kClass1 = person.javaClass.kotlin VS val kClass2 = person::class 当我应该叫那个而不是另一个? 任何源代码示例将不胜感激。
我有一个问题,与大家分享一个我想检查一个字符串是不是等于没有,它应该是“。” 值如果它通过它会做一定的行代码,如果不是它只是打印一些字符串,但问题是当我尝试把值“”。 它崩溃。 那么有没有办法解决这个问题? 这是我的kotlin主要活动文件: calculate.setOnClickListener { if(((distance.text.toString().length >0) && (initalVelocity.text.toString().length>0) && (time.text.toString().length > 0) ) && (!((distance.equals(“.”)) && (initalVelocity.equals(“.”)) && (time.equals(“.”))))) { val s = distance.text.toString().toDouble() val u = initalVelocity.text.toString().toDouble() val t = time.text.toString().toDouble() val a = (((2* s))-(2*(u*t)))/(t*t) answer.setText(“answer $am/(s)^2”) } else { toast(“Are u nuts !!!!”) } 日志: FATAL EXCEPTION: main Process: […]
我正在尝试使用TotrnadoFx的第一个应用程序,所以我开始使用这个代码: package no.tornado.fxsample.workspace import javafx.application.Application import tornadofx.* fun main(args: Array) = launch(args) class MyApp: App(MyView::class) class MyView: View() { override val root = VBox() init { with(root) { this += Button(“Press Me”) this += Label(“Waiting”) } } } 但显然它充满了错误,并没有能够findJavaFX 我的gradle.build是: // set up the kotlin-gradle plugin buildscript { ext.kotlin_version = ‘1.1.60’ repositories { mavenLocal() // […]
我正在使用spring引导,我试图建立一个测试场景,我调用一个bean,调用一个模拟JPARepository使用mockito。 这是相关的代码: 存储库 @Repository interface FooRepository : JpaRepository 服务 @Service class FooService( private val FooRepository: FooRepository ) { @Transactional fun call(input: String) = FooRepository.saveAndFlush( Foo(input) ) } 和测试 @SpringBootTest @RunWith(SpringRunner::class) @Import(FooServiceTest.MockFooRepositoryConfiguration::class) class FooServiceTest { @Autowired private lateinit var fooService: FooService @Autowired private lateinit var fooRepository: FooRepository @Test fun test1() { FooService.call(“xxx”) Mockito.verify(FooRepository, Mockito.times(1)).saveAndFlush(“xxx”) } @Configuration […]
我有一个泽西岛REST接口,我希望在每个请求的响应中发送cookie,但在任何响应中都不会出现cookie。 我有一种感觉,这是一个CORS的问题,我不知道什么CORSResponseFilter配置我需要允许设置cookie并成功发送响应。 我的项目是用Kotlin下的SpringBoot构建的。 响应码: @POST fun put(): Response { val cookie = NewCookie(Cookie(“RESERVATION”, “TEST”), “Session”, 60 * 60, false) return ok() .cookie(cookie) .entity(Result(“OK”, “Success”)) .build() } 过滤代码: open class CORSResponseFilter : ContainerResponseFilter { override fun filter(req: ContainerRequestContext?, res: ContainerResponseContext?) { res?.headers?.add(“Access-Control-Allow-Origin”, “*”) res?.headers?.add(“Access-Control-Allow-Methods”, “POST, GET”) res?.headers?.add(“Access-Control-Allow-Headers”, “origin, content-type, accept, authorization”) res?.headers?.add(“Access-Control-Expose-Headers”, “Set-Cookie”) res?.headers?.add(“Access-Control-Allow-Credentials”, “true”) } […]
kotlin是否帮助建立以下dsl? test ‘test_01’ { description ” test that a user by name tom is present author : xyz GET /userstore/users/user(name=tom) { verify(/first-name == ‘Tom’) } } 在这个dsl中,以下是静态部分 测试,描述,作者,GET,validation 但是,expression / userstore /用户/用户(名称= TOM) 是动态支持的。 这意味着,应用程序知道可以通过“/”分隔语法导航的各种域模型。 IDE(Intellij)在我调用它时应该给我内容帮助。 例如,在GET之后,如果我输入“/”并调用ca,它应该给我以下选项 userstore 书店 建筑物等 事实是,在开发时我不知道这些条目。 我可以编写可以返回这些条目的代码。 我需要编辑来调用我的代码,并获得内容帮助候选人。 而且,如果expression式由无效标记形成,我需要构建标记错误。 所以,我需要编辑器继续检查我的代码,并且在返回的候选列表中没有find令牌时,应该在编辑器中标记错误。
鉴于以下情况: 以CheckBox和多个EditText为特色的View 该View使用杰克·沃顿的RxBinding来访问Observables 对象 fun observeUsername(): InitialValueObservable = RxTextView.textChanges(et_username) 对于EditText (有三个,用户名,密码和电子邮件)和 fun observeSignUpCheckBox(): InitialValueObservable = RxCompoundButton.checkedChanges(cb_sign_up) 为CheckBox Presenter每个EditText都有一个方法,就像 fun observeUsernameText(): Disposable { return view.observeUsernameText() .skipInitialValue() .map { username -> StringUtils.isValidUsername(username.toString()) } .subscribe({ view.setValidUsername(it) }) } 和CheckBox一个方法: fun observeSignUpCheckBox(): Disposable { return view.observeSignUpCheckBox() .subscribe({ checked -> Timber.d(“### view trigger”) }) } 所有这些方法都在Presenter的onCreate中调用,一切按预期工作。 现在的问题: 我在Presenter中添加了一个用于validation用户输入的新函数: fun observeInputFields(): […]
我有一个复合视图与两个自定义属性。 我使用这样的控制: attrs.xml文件: 最后是复合控制。 注意行: android:textColor=”?attr/numberTint” 是我不知道的。 我知道我可以吸取MyView.java类中的属性,并手动设置TextViews的textColor,但是这种感觉很脏。 我觉得我错过了一些简单的东西。 我也知道,我可以做到这一点与风格,但这也不觉得正确。 如何在复合视图中直接使用属性而不用在代码中解析它们?
我遇到了一个奇怪的问题。 我的API有我使用PATCH的端点(也试过PUT和POST – 相同的结果)从手机发送json与jsonarray(请求体大小通常是40KB)。 当我这样做使用Wi-Fi – 一切正常。 但是,如果我使用移动网络,我面临的SocketConnection超时(在Retrofit / Kotlin)与一些手机(iOS工作完美)。 来自nginx access.log: domain – – [21/Nov/2017:16:33:01 +0000] “PATCH /endpoint/ HTTP/1.1” 408 0 “-” “Dalvik/2.1.0 (Linux; U; Android 6.0.1; Nexus 5 Build/M4B30Z)” Nginx配置: server { listen port; server_name domain; client_max_body_size 32m; proxy_connect_timeout 75s; proxy_read_timeout 300s; location = /favicon.ico { access_log off; log_not_found off; } location /static/ […]