我在项目中引用我的android库模块时遇到问题.在主应用程序模块旁边,我使用了一个带有util东西或数据模块的android库模块.我在app模块中引用它是这样的:
dependencies {
implementation project(":data")
}
Run Code Online (Sandbox Code Playgroud)
当我构建项目时,它为我'Unresolved reference: ...'在app模块中引用到android库模块的所有内容提供了很多错误消息.但IDE本身没有问题,Intelligent发现所有类,接口等,导入很好,没有什么是红色的.android库模块本身aar-file在输出中构建和创建.这compileDebugKotlin是失败的任务
可能与此相关的一般概念是什么?
android android-library kotlin android-studio android-gradle-plugin
我在基于Kotlin的Android项目中使用内联函数(由于使用了关键词,我不得不这样做)。是否有可能调试类似于常规函数的内联函数?断点不会抢断,我想这与内联函数的代码插入过程有关
我正在尝试将我的 android 项目迁移到使用 gradle kotlin dsl,用 build.gradle.kts 文件替换所有 build.gradle 文件并在那里使用 kotlin。之前,我曾经有一个 kotlin 文件,其中包含带有库和版本常量的对象元素(在 buildSrc -> src -> main -> kotlin 中),例如:
object Versions {
const val anyLibVersion = "1.0.0"
}
object Lib {
const val anyLib = "x:y:${Versions.anyLibVersion}"
}
Run Code Online (Sandbox Code Playgroud)
在 build.gradle 文件中,我可以毫无问题地访问这些常量,但是一旦我将它们切换到 build.gradle.kts,它就无法再解析它们。对此有什么解释吗?
我正在尝试使用 kotlin-dsl 配置我的 gradle 设置。我的项目 gradle 是这样的:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath("com.android.tools.build:gradle:3.3.2")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.21")
}
}
allprojects {
repositories {
google()
jcenter()
}
}
Run Code Online (Sandbox Code Playgroud)
和我的应用程序级gradle:
plugins {
id("com.android.application")
id("kotlin-android")
}
android { // marked red
}
Run Code Online (Sandbox Code Playgroud)
两个文件名都是 build.gradle.kts。Gradle 版本是 5.2.1。我遇到的问题是 IDE 无法识别 app-gradle 文件中的 android {} 部分,我无法配置 compileSdkVersion 等内容。我又一次尝试将项目迁移到 kotlin-dsl再一次,只有失败和沮丧。不知道为什么这永远行不通,总是让我保持旧的方式。我做错了什么,为什么不起作用?
我下载了最新的TomEE Plume 1.7.4版本,并尝试从IntelliJ IDEA 14内部启动它,看起来我是一个正常的服务器设置,我收到超时错误,并重复打印以下错误消息:
2016年4月11日上午9:20:31 org.apache.openejb.server.ejbd.EjbDaemon服务WARNUNG:"null OEJP/4.7"FAIL"安全错误 - [Ljava.net.URI;未列入白名单,因为可以取消预防,之前已被阻止加载它." - 调试StackTrace
我可以从普通的shell启动服务器,所以似乎与IDE有关.有谁知道问题是什么?
我试图使用数据绑定来加载带有多个参数的Glide,Imageview和Bindingadapter的图像:
@BindingAdapter(value = ["url", "defaultImage", "placeholder", "circleCrop"], requireAll = false)
fun ImageView.setImageUrl(url: String, defaultResId: Int? = null, placeHolderResId: Int? = null, circleCrop: Boolean = false) {
val glideRequest = if (defaultResId != null) GlideApp.with(context).loadOrDefault(url, defaultResId)
else GlideApp.with(context).load(url)
if (placeHolderResId != null) glideRequest.placeholder(placeHolderResId)
if (circleCrop) glideRequest.circleCrop()
glideRequest.into(this)
}
<ImageView
android:id="@+id/imgProfile"
android:layout_width="@dimen/size_avatar_search_result"
android:layout_height="0dp"
app:circleCrop="@{true}"
app:defaultImage="@{@drawable/default_avatar}"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:placeholder="@{@drawable/default_avatar}"
app:url="@{item.profilePhotoUrl}"
tools:src="@drawable/default_avatar" />
Run Code Online (Sandbox Code Playgroud)
bindingadapter方法是顶级函数.在编译时,我得到了数据绑定kapt错误'无法找到属性的设置者'app:circleCrop',在android.widget.ImageView上有参数类型boolean',就像我的bindingadapter无法识别一样.不确定我做错了什么
我像这样注释了我的课程
\n\n@RunWith(AndroidJUnit4.class)\npublic class WorkdayProviderTest\nRun Code Online (Sandbox Code Playgroud)\n\n此外,还注释了我的测试方法
\n\n@Test\npublic void insert_dataInsertsCorrectly()\nRun Code Online (Sandbox Code Playgroud)\n\n最后,像这样配置我的 build.gradle defaultConfig 和依赖项
\n\ndefaultConfig {\n applicationId \'com.jueggs.workinghours\'\n minSdkVersion 16\n targetSdkVersion 23\n versionCode 1\n versionName "1.0"\n\n testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"\n}\n\nandroidTestCompile "junit:junit:4.12"\nandroidTestCompile "com.android.support:support-annotations:23.3.0"\nandroidTestCompile "com.android.support.test:runner:0.4.1"\nandroidTestCompile "com.android.support.test:rules:0.4.1"\nandroidTestCompile "com.android.support.test.espresso:espresso-core:2.2.1"\nandroidTestCompile "com.android.support.test.espresso:espresso-contrib:2.2.1"\nandroidTestCompile "org.hamcrest:hamcrest-library:1.3"\nRun Code Online (Sandbox Code Playgroud)\n\n并像这样配置测试运行
\n\n\n\n它\xc2\xb4s告诉我
\n\nNo tests were found\n\nTest running failed: Instrumentation run failed due to \'java.lang.ClassNotFoundException\'\nRun Code Online (Sandbox Code Playgroud)\n\n如何解决这个问题?
\n我目前正在一个项目中从RxJava切换到Kotlin协同程序,用coroutine aquivalents替换所有Single和Observable返回类型.我仍在努力使用以下构造:接口(例如存储库)提供数据查询访问并返回RxJava Single.该实现使用Single.create创建Single对象,并使用onSuccess/onError发出结果.现在,实现需要做的是检索数据是创建一个带有回调的监听器并将该监听器注册到某个东西.然后,创建的侦听器的回调将调用自制Single上的onSuccess/onError.例如使用firebase(虽然我的问题不是特定于firebase):
interface Repository {
fun getData(query: Query): Single<DataSnapshot?>
}
fun getData(query: Query): Single<DataSnapshot?> = Single.create { emitter ->
query.addListenerForSingleValueEvent(object : ValueEventListener {
override fun onCancelled(error: DatabaseError?) {
emitter.onError(Exception())
}
override fun onDataChange(data: DataSnapshot?) {
emitter.onSuccess(data)
}
})
}
Run Code Online (Sandbox Code Playgroud)
现在我想要的是返回coroutine Deferred的接口方法.如何创建实现,以便还可以注册一个带回调的监听器,其结果将由Deferred传递?我没有看到这些协同构建器的方法,如异步,启动等,做onSuccess/onError会做什么.
interface Repository {
fun getData(query: Query): Deferred<DataSnapshot?>
}
Run Code Online (Sandbox Code Playgroud) Desperatley 尝试使用 Maven 3 的 Maven EAR 插件版本 2.10.1 创建包含某些模块的 EAR 捆绑包。generate-application-xml 目标存在问题,I\xc2\xb4m 收到错误:
\n\n无法在项目 wineapp-ear 上执行目标 org.apache.maven.plugins:maven-ear-plugin:2.10.1:generate-application-xml (default-generate-application-xml):无法解析 mojo org 的配置。 apache.maven.plugins:maven-ear-plugin:2.10.1:generate-application-xml 参数版本: 在类 org.apache.maven.plugin.ear.EjbModule 中找不到 \'version\' -> [帮助 1 ]
\n\n这是 pom.xml 片段:
\n\n<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\nxsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\n<modelVersion>4.0.0</modelVersion>\n\n<parent>\n <artifactId>wineapp-parent</artifactId>\n <groupId>com.jueggs</groupId>\n <version>1.0.0</version>\n</parent>\n\n<artifactId>wineapp-ear</artifactId>\n<packaging>ear</packaging>\n<name>wineapp-ear</name>\n\n<dependencies>\n <dependency>\n <groupId>com.jueggs</groupId>\n <artifactId>wineapp-ejb</artifactId>\n <version>1.0.0</version>\n <type>ejb</type>\n </dependency>\n <dependency>\n <groupId>com.jueggs</groupId>\n <artifactId>wineapp-web</artifactId>\n <version>1.0.0</version>\n <type>war</type>\n </dependency>\n <dependency>\n <groupId>com.jueggs</groupId>\n <artifactId>wineapp-jpa</artifactId>\n <version>1.0.0</version>\n </dependency>\n <dependency>\n <groupId>com.jueggs</groupId>\n <artifactId>wineapp-common</artifactId>\n <version>1.0.0</version>\n </dependency>\n</dependencies>\n\n<build>\n <plugins>\n <plugin>\n <groupId>org.apache.maven.plugins</groupId>\n <artifactId>maven-ear-plugin</artifactId>\n <version>2.10.1</version>\n <configuration>\n <!--<version>6</version>-->\n <!--<applicationXml>/src/main/application/META-INF/</applicationXml>-->\n <modules>\n <ejbModule>\n <groupId>com.jueggs</groupId>\n <artifactId>wineapp-ejb</artifactId>\n <version>1.0.0</version>\n …Run Code Online (Sandbox Code Playgroud)