我在引用我创建的groovy类时遇到了麻烦。以下是步骤:
我的build.gradle文件具有所有必需的依赖项:
apply plugin: 'com.android.application'
申请插件:'groovyx.grooid.groovy-android'
android { compileSdkVersion 22 buildToolsVersion“21.1.2”
packagingOptions {
// workaround for http://stackoverflow.com/questions/20673625/android-gradle-plugin-0-7-0-duplicate-files-during-packaging-of-apk
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/groovy-release-info.properties'
}
defaultConfig {
applicationId "com.example.uen.myrxjavaandroidproject"
minSdkVersion 17
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.netflix.rxjava:rxjava-android:0.20.7'
compile 'com.squareup:otto:1.3.5'
compile 'org.codehaus.groovy:groovy:2.4.3:grooid'
}
gradle成功同步。
然后我在main下创建了一个名为'groovy'的文件夹,这样我的项目结构如下所示:
注意我有一个名为“Hello”的groovy类,它看起来像这样:
public class Hello {
String name;
public void sayHello() {
System.out.println("Hello "+getName()+"!");
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
现在在我的MainActivity.java类中,我尝试实例化Hello类但它没有被识别。我这样做:
Hello myHello = new Hello();
我做错了什么?
答案 0 :(得分:3)
如果要使用Java源代码中的Groovy类,则必须在" groovy"中找到您的Java文件。目录。它采用这种方式来强制执行联合编译(Java类使用Groovy类或其他方式)。
独立于此,为了Grooviness,您的Hello
Groovy类可以简化为:
class Hello {
String name
void sayHello() {
println "Hello $name!"
}
}