Scala mit Java in Android Studio verwenden

8

Ich habe das 1.5.2 Scala Plugin in Android Studio 1.2.2 installiert. Ich habe ein bestehendes (funktionierendes) Projekt in Java programmiert. Ich habe eine einfache Klasse in Scala hinzugefügt, um eine vorhandene Java-Klasse zu ersetzen, nur um sie auszuprobieren. Die IDE scheint den Scala-Code zu validieren, aber der Verweis auf die Klasse aus dem Java-Code ist nicht gelöst. Ich weiß nicht warum. Ich habe die Sprachen unter SBT auf der Serverseite dieses Projekts erfolgreich gemischt.

Die Java-Code-Referenzierung sieht folgendermaßen aus:

%Vor%

Schnipsel ...

Purch wurde von Purchase geändert, das in Java definiert ist und OK auflöst. Der Scala-Code lautet:

%Vor%

Versuche zum Erstellen von Ertrag: Fehler: kann die Symbolklasse "Purch" nicht finden

Der Scala-Code für die Purch-Klasse befindet sich im Verzeichnis app / build / main / scala / net.from.apprise. In ähnlicher Weise befindet sich die Java-Quelle in app / build / main / java / net.from.apprise. AS sieht den Scala-Code und gibt Fehler aus, wenn es welche gibt. Aber keine Auflösung zwischen den Klassen.

Muss ich etwas Besonderes tun oder übersehe ich etwas Dummes? Konfiguration von AS? Namenskonvention?

    
Bill Michaelson 16.06.2015, 17:51
quelle

2 Antworten

9

Das Scala-Plugin für Android Studio oder IntelliJ ist nur ein Tool für Hilfe beim Schreiben von Scala-Code. Es ist so schlau, dass es möglich ist, auf die Scala-Klassen von Java (und andersherum) in der IDE zu verweisen, was meiner Meinung nach mit "IDE scheint, den Scala-Code zu validieren" gemeint ist.

Wenn Sie eine Android-Anwendung entwickeln und ein Tool zum Erstellen von Google-Gadgets verwenden, empfehle ich Ihnen, das zu verwenden Gradle Scala-Plugin . Es funktioniert mit offiziellen Android-Plugin für Gradle. Dieses Plugin erstellt dann Anweisungen zum Erstellen Ihrer Scala-Dateien in Bytecode mit .class ending, das in laufenden Anwendungen verwendet wird.

Im Folgenden sehen Sie, wie meine Skeleton-Gradle-Datei für das scala-Plugin aussieht:

%Vor%

Und .java und .scala Dateien können im selben Projektverzeichnis wie in:

gemischt werden %Vor%     
RenatoIvancic 09.07.2015 14:35
quelle
0

Wenn Sie @Renatol Schritten folgen (was großartig ist), werden Sie einen Fehler finden:

%Vor%

Sehen Sie sich diese Antwort an, um den Prozess fortzusetzen:

gradle-android-scala-plugin gibt "Fehler bei der Suche nach einem passenden Konstruktor"

    
Tere Bentikh 27.01.2017 23:17
quelle

Tags und Links