Üben Sie Go in der Android-Entwicklung: Richten Sie die Go-Entwicklungsumgebung ein: Installieren Sie Go und Android NDK. Erstellen Sie eine Android-App: Erstellen Sie ein neues Projekt mit Android Studio. Go integrieren: Erstellen Sie das Go-Verzeichnis und die Datei main.go im JNI-Verzeichnis. Go-Code kompilieren: Führen Sie den Befehl go build aus, um die Datei main.go zu kompilieren. Native Schnittstelle hinzufügen: Deklarieren Sie die native Methode callGo() in MainActivity.java. Laden Sie die gemeinsam genutzte Go-Bibliothek: Verwenden Sie System.loadLibrary("go") in MainActivity.java, um die gemeinsam genutzte Go-Bibliothek zu laden. Praktischer Fall: Zeigen Sie eine Toast-Nachricht in main.go an und rufen Sie die MakeToast()-Methode in Android auf.
Go-Praktiken in der Android-Entwicklung
Einführung
Go ist eine moderne Programmiersprache, die von Google entwickelt wurde und für ihre Einfachheit, Parallelität und Effizienz bekannt ist. In der Welt der Android-App-Entwicklung erfreut sich Go zunehmender Beliebtheit, da es native Leistung und plattformübergreifende Vorteile bietet. Dieser Artikel führt Sie durch die Verwendung von Go in Android-Anwendungen und bietet ein praktisches Beispiel.
Go-Entwicklungsumgebung einrichten
Android-App erstellen
Erstellen Sie ein neues Android-Projekt mit Android Studio. Wählen Sie im Dialog „Neues Projekt“ das Modul „Leere Aktivität“.
Go integrieren
go
unter dem Verzeichnis app/src/main/jni
. app/src/main/jni
目录下创建 go
目录。go
目录下创建 main.go
文件,包含以下代码:package main // 此函数在 Android 应用程序启动时调用 import "C" func main() {}
app/src/main/jnilibs
目录下创建与应用 ABI 对应的子目录(例如,arm64-v8a
)。libgo.so
的符号链接,指向 Go 编译生成的库文件。编译 Go 代码
go build -buildmode=c-shared -o libgo.so main.go
添加 Native 接口
为了在 Android 代码中调用 Go 代码,需要添加一个 JNI(Java Native Interface)接口。在 app/src/main/java/<PACKAGE_NAME>
目录下创建 MainActivity.java
文件,包含以下代码:
import android.app.Activity; import android.os.Bundle; // 声明一个 native 方法 public class MainActivity extends Activity { // 此方法将调用 Go 代码 public native void callGo(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 调用 Go 代码 callGo(); } // 加载 Go 共享库 static { System.loadLibrary("go"); } }
实战案例:显示 Toast 消息
使用 Go 显示一个 Toast 消息。在 main.go
main.go
im Verzeichnis go
, die den folgenden Code enthält: Erstellen Sie im erstellten Unterverzeichnis einen symbolischen Link mit dem Namen Go-Code kompilieren Das obige ist der detaillierte Inhalt vonGo-Übungen in der Android-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!package main
import "C"
// 在 Android 中显示 Toast 消息
import (
"context"
"log"
"github.com/go-android/go-android/android"
)
func main() {
ctx := context.Background()
activity := android.ActivityFromContext(ctx)
// 创建一个 Toast 消息
toast := activity.MakeToast()
toast.SetText("Hello from Go!")
// 显示 Toast 消息
toast.Show()
// 主 Go 程序进入阻塞
log.Println("native: waiting")
select {}
}
In
app/ src/ Erstellen Sie ein Unterverzeichnis entsprechend der Anwendungs-ABI im Verzeichnis main/jnilibs
(z. B. arm64-v8a
). libgo.so
, der auf die durch die Go-Kompilierung generierte Bibliotheksdatei verweist. MainActivity.java
im Verzeichnis app/src/main/java/<PACKAGE_NAME>
, die den folgenden Code enthält: 🎜rrreee🎜🎜Praktischer Fall: Toast anzeigen Nachricht🎜 🎜🎜Zeigen Sie eine Toast-Nachricht mit Go an. Fügen Sie den folgenden Code in die Datei main.go
ein: 🎜rrreee🎜🎜Führen Sie die Anwendung aus🎜🎜🎜Kompilieren Sie die Android-Anwendung und führen Sie sie aus. Auf dem Gerät oder Simulator sollte eine Toast-Nachricht von Ihrem Go-Code angezeigt werden. 🎜🎜🎜Zusammenfassung🎜🎜🎜Die Entwicklung von Android-Apps mit Go kann die Leistung verbessern, die Parallelität vereinfachen und plattformübergreifende Vorteile realisieren. Dieser Artikel bietet eine Schritt-für-Schritt-Anleitung zur Integration von Go und ein praktisches Beispiel für die Anzeige von Toast-Nachrichten. 🎜