gpt4 book ai didi

java - 在 Android Studio 中将 Scala 与 Java 结合使用

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:28:33 25 4
gpt4 key购买 nike

我在 Android Studio 1.2.2 中安装了 1.5.2 Scala 插件。我有一个用 Java 编码的现有(正在运行的)项目。我在 Scala 中添加了一个简单的类来替换现有的 Java 类,只是为了尝试一下。 IDE 似乎验证了 Scala 代码,但 Java 代码对类的引用尚未解决。我不知道为什么。我已经在这个项目的服务器端成功地混合了 SBT 下的语言。

Java 代码引用如下所示:

package net.from.apprise;
import java.util.*;
import java.io.Serializable;
import org.json.*;
class ItemRelation extends SharableRecord implements Serializable, JSONable {
public static final String TAG = "IR";
String listKey;
String description;
String barCode;
Purch purch;

剪断...

Purch 已从 Purchase 更改而来,后者在 Java 中定义并且正在解析 OK。 Scala 代码是:

package net.from.apprise

class Purch {
val whatever:Int = 1
}

尝试构建 yield :错误:找不到符号类 Purch

Purch 类的 Scala 代码位于 app/build/main/scala/net.from.apprise 目录中。同样,Java 源代码位于 app/build/main/java/net.from.apprise 中。 AS 看到 Scala 代码,如果有错误就会发出错误。但是类之间没有解决方案。

我需要做一些特别的事情还是我忽略了一些愚蠢的事情? AS的配置?命名约定?

最佳答案

Scala Plugin for Android Studio 或 IntelliJ 只是帮助您编写 scala 代码的工具。它非常智能,可以在 IDE 中从 java(以及其他方式)引用 scala 类,我认为您的意思是“IDE 似乎可以验证 Scala 代码”。

如果您正在开发 Android 应用程序并使用 gradle 构建工具,那么我建议您使用 Gradle scala plugin .它正在与 gradle 的官方 android 插件一起使用。然后,此插件会生成有关将 scala 文件构建为以 .class 结尾的字节码的说明,用于运行应用程序。

下面是我的 Scala 插件的框架 gradle 文件的样子:

buildscript {

repositories {

mavenCentral()
}
dependencies {

classpath 'com.android.tools.build:gradle:1.2.3'

// scala from https://github.com/saturday06/gradle-android-scala-plugin
classpath "jp.leafytree.gradle:gradle-android-scala-plugin:1.4"
}

}

android {

...
}

apply plugin: 'com.android.application'
apply plugin: "jp.leafytree.android-scala"

dependencies {

...
compile 'org.scala-lang:scala-library:2.11.6'
}

// Configuration for scala compiler options as follows
tasks.withType(ScalaCompile) {
// If you want to use scala compile daemon
scalaCompileOptions.useCompileDaemon = true
// Suppress deprecation warnings
scalaCompileOptions.deprecation = false
// Additional parameters
scalaCompileOptions.additionalParameters = ["-feature"]
}

.java 和.scala 文件可以混合在同一个项目目录中,如:

app/java/com.example
/ItemRelation.java
/Purch.scala

关于java - 在 Android Studio 中将 Scala 与 Java 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30874693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com