Amalkan Go dalam pembangunan Android: Sediakan persekitaran pembangunan Go: Pasang Go dan Android NDK. Buat apl Android: Buat projek baharu menggunakan Android Studio. Integrasikan Go: Cipta direktori go dan fail main.go dalam direktori jni. Susun kod Go: Jalankan arahan go build untuk menyusun fail main.go. Tambah antara muka Asli: Isytihar kaedah asli callGo() dalam MainActivity.java. Muatkan pustaka kongsi Go: Gunakan System.loadLibrary("go") dalam MainActivity.java untuk memuatkan pustaka kongsi Go. Kes praktikal: Paparkan mesej Toast dalam main.go dan panggil kaedah MakeToast() dalam Android.
Go Amalan dalam Pembangunan Android
Pengenalan
Go ialah bahasa pengaturcaraan moden yang dibangunkan oleh Google dan terkenal dengan kesederhanaan, kesesuaian dan kecekapannya. Dalam dunia pembangunan aplikasi Android, Go semakin popular kerana ia menawarkan prestasi asli dan kelebihan merentas platform. Artikel ini akan membimbing anda cara menggunakan Go dalam aplikasi Android dan memberikan contoh praktikal.
Sediakan persekitaran pembangunan Go
Buat Apl Android
Buat projek Android baharu menggunakan Android Studio. Pilih modul "Aktiviti Kosong" dalam dialog "Projek Baharu".
Integrate Go
go
di bawah direktori 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
dalam direktori go
, yang mengandungi kod berikut: Buat pautan simbolik bernama Kompilkan kod Go Atas ialah kandungan terperinci Amalan Go dalam pembangunan Android. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!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 {}
}
Dalam
app/ src/ Cipta subdirektori yang sepadan dengan aplikasi ABI dalam direktori utama/jnilibs
(contohnya, arm64-v8a
). libgo.so
dalam subdirektori yang dibuat, menunjuk ke fail perpustakaan yang dijana oleh kompilasi Go. MainActivity.java
dalam direktori app/src/main/java/<PACKAGE_NAME>
, mengandungi kod berikut: 🎜rrreee🎜🎜Kes praktikal: Display Toast mesej🎜 🎜🎜Paparkan mesej Toast menggunakan Go. Tambahkan kod berikut dalam fail main.go
: 🎜rrreee🎜🎜Jalankan aplikasi🎜🎜🎜Kompil dan jalankan aplikasi Android. Anda sepatutnya melihat mesej Toast daripada kod Go anda pada peranti atau simulator. 🎜🎜🎜Ringkasan🎜🎜🎜 Menggunakan Go untuk membangunkan aplikasi Android boleh meningkatkan prestasi, memudahkan penyelarasan dan merealisasikan faedah merentas platform. Artikel ini menyediakan panduan langkah demi langkah untuk membantu anda menyepadukan Go dan menyediakan contoh praktikal untuk memaparkan mesej Toast. 🎜