Tag: android

测试环境配置:Android + JUnit 5 + Mockito + Spek + Kotlin

我很难配置基于JUnit Jupiter(5)的测试环境。 我有两个不同的错误: WARNING: TestEngine with ID ‘spek’ failed to discover tests org.junit.platform.commons.util.PreconditionViolationException: Could not load class with name… Exception in thread “main” java.lang.NoSuchMethodError: org.junit.platform.launcher.Launcher.execute(Lorg/junit/platform/launcher/LauncherDiscoveryRequest;)V at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:61)… 配置如下。 主build.gradle : apply plugin: ‘org.junit.platform.gradle.plugin’ buildscript { ext.kotlin_version = ‘1.1.4-3’ repositories { google() jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:3.0.0-beta5’ classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” classpath “org.junit.platform:junit-platform-gradle-plugin:1.0.0” classpath “de.mannodermaus.gradle.plugins:android-junit5:1.0.0” } } […]

Android中的Realm 0.87.5

我已经更新Realm 0.87.5,现在我得到构建这个错误。 你能帮我一下吗? Error:Execution failed for task ‘:app:transformNativeLibsWithMergeJniLibsForDebug’. > com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK lib/x86/librealm-jni.so File1: /Users/[USER_NAME]/.gradle/caches/modules-2/files-2.1/io.realm/realm-android/0.87.5/ab4e1fead1380252dad0e95658e53ea0c113e89c/realm-android-0.87.5.jar File2: /Users/[USER_NAME]/.android/build-cache/97d752c34cee76117e22adcee3a9c2d132f80273/output/jni 根源依赖: 应用模块相关性:

Android Studio 3 / Kotlin代码覆盖

我的Android应用程序是多模块项目: include (android-app/kotlin-android)’:application’, (pure kotlin)’:presentation’, (pure kotlin)’:domain’, (android-library/kotin-android)’:dataproviders’ 我正在使用Junit / Mockito进行测试,并且只有为kotlin android模块生成代码覆盖的问题。 经过测试的行对于android studio是可见的。 在ui.viewmodel包中测试类: 但是,对于纯粹的kotlin (例如,域,演示)测试覆盖工作正常: 我正在使用Android Studio 3.0 Canary 8您可以在github上查看我的build.gradle文件: 的build.gradle dependencies.gradle application.build.gradle presentation.build.gradle Android应用程序模块中的示例测试: MostPopularViewModelTest 纯kotlin模块中的示例测试: MostPopularPresenterTest 有人可以帮我解决我的问题吗? 我尝试通过Jacoco生成代码覆盖,但它也没有显示代码覆盖率。

执行任务’: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’ } […]

检查设备是否插入

我的应用程序有一个广播接收器来监听ACTION_POWER_CONNECTED变化,并依次标记屏幕保持。 我所缺少的是应用程序在第一次运行时检查充电状态的能力。 任何人都可以请帮我用代码手动检查充电状态?

OpenCV HoughLinesP如何检测线是相交?

我试图让OpenCV检测我的纸张图像的角落。 到目前为止,我能够检测到边缘,HoughLinesP能够检测到我的线条,我想。 我的代码如下: Imgproc.HoughLinesP(matDrawing, matLines, 1.0, Math.PI / 180, 70, 30.0, 10.0) val arrayListCorners = ArrayList() for (i in 0 until matLines.rows()) { for (j in i + 1 until matLines.rows()) { val arrayLine1 = matLines.get(i, 0) val arrayLine2 = matLines.get(j, 0) // Detect if arrayLine1 and arrayLine2 did intersect? } } 我需要帮助,如果我怎么能检测两条线是否相交。 我需要我的arrayListCorners正好返回4,以便能够在代码的后面部分传递条件。 我正在使用Kotlin。 […]

为什么只有最新的订阅者使用Kotlin和RxMVP才能在Android上的RxJava上进行下一个事件

鉴于以下情况: 以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(): […]

从复合控件的xml布局文件中访问一个自定义属性(即没有Java / Kotlin代码)

我有一个复合视图与两个自定义属性。 我使用这样的控制: attrs.xml文件: 最后是复合控制。 注意行: android:textColor=”?attr/numberTint” 是我不知道的。 我知道我可以吸取MyView.java类中的属性,并手动设置TextViews的textColor,但是这种感觉很脏。 我觉得我错过了一些简单的东西。 我也知道,我可以做到这一点与风格,但这也不觉得正确。 如何在复合视图中直接使用属性而不用在代码中解析它们?

在离子3中制作本地网页

我正在使用Cordova和Ionic 3 for Android和iOS的crossplatofrm应用程序。 我在较旧的Android版本上苦苦寻找启动性能。 我的想法是使应用程序本机(在Java或Kotlin)的一些部分为Android和iOS的普通Ionic /cordova应用程序,所以较少的JavaScript应该等于较少的启动时间。 这是可能的,如果这是最好的办法做到这一点?

注释处理器生成文件,但无法在应用程序中访问它们(mainActivity)

这里是我的示例项目https://github.com/ilagarwal/uclego ,我使用Kotlin注释生成文件。 注释名称是: DSLAnnotation 。 是类注解并生成另一个类名称在路径uclego/uclegodemo/app/build/tmp/kapt/debug/kotlinGenerated/$package/*生成$ class。 我用DSL.kt在应用程序模块中注释了DSL.kt ,并在上面的路径中生成了一个文件。 但是,当试图在应用程序中使用它说没有find文件。 项目中有4个lib模块可以完成以下工作 processor :包含注释处理器 api :定义注释类 app :使用注释 uclego :只是提供一些静态方法的中间 有人可以帮我解决这个项目出了什么问题。