Amalan Go dalam pembangunan Android

WBOY
Lepaskan: 2024-04-08 10:33:01
asal
929 orang telah melayarinya

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.

Android 开发中的 Go 实践

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

  1. Pasang Go: Lawati https://go.dev/dl/ untuk memuat turun dan memasang Go.
  2. Konfigurasikan pembolehubah persekitaran: Tambahkan direktori pemasangan Go pada pembolehubah persekitaran PATH.
  3. Pasang Android NDK: Ikut arahan di https://developer.android.com/ndk/downloads untuk memasang Android NDK.

Buat Apl Android

Buat projek Android baharu menggunakan Android Studio. Pilih modul "Aktiviti Kosong" dalam dialog "Projek Baharu".

Integrate Go

  1. Buat direktori go di bawah direktori app/src/main/jni. app/src/main/jni 目录下创建 go 目录。
  2. go 目录下创建 main.go 文件,包含以下代码:
package main

// 此函数在 Android 应用程序启动时调用
import "C"

func main() {}
Salin selepas log masuk
  1. app/src/main/jnilibs 目录下创建与应用 ABI 对应的子目录(例如,arm64-v8a)。
  2. 在创建的子目录中创建一个名为 libgo.so 的符号链接,指向 Go 编译生成的库文件。

编译 Go 代码

  1. 打开终端窗口并导航到项目目录。
  2. 运行以下命令编译 Go 代码:
go build -buildmode=c-shared -o libgo.so main.go
Salin selepas log masuk

添加 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");
    }
}
Salin selepas log masuk

实战案例:显示 Toast 消息

使用 Go 显示一个 Toast 消息。在 main.go

Buat fail main.go dalam direktori go, yang mengandungi kod berikut:

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 {}
}
Salin selepas log masuk
    Dalam app/ src/ Cipta subdirektori yang sepadan dengan aplikasi ABI dalam direktori utama/jnilibs (contohnya, arm64-v8a).

    Buat pautan simbolik bernama libgo.so dalam subdirektori yang dibuat, menunjuk ke fail perpustakaan yang dijana oleh kompilasi Go.

    Kompilkan kod Go

    🎜Buka tetingkap terminal dan navigasi ke direktori projek. 🎜🎜Jalankan arahan berikut untuk menyusun kod Go: 🎜🎜rrreee🎜🎜Tambah antara muka Asli 🎜🎜🎜Untuk memanggil kod Go dalam kod Android, anda perlu menambah antara muka JNI (Antara Muka Asli Java). Cipta fail 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. 🎜

Atas ialah kandungan terperinci Amalan Go dalam pembangunan Android. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!