ホームページ  >  記事  >  バックエンド開発  >  Android 開発における Go の実践

Android 開発における Go の実践

WBOY
WBOYオリジナル
2024-04-08 10:33:01966ブラウズ

Android 開発で Go を練習する: Go 開発環境をセットアップする: Go と Android NDK をインストールします。 Android アプリを作成する: Android Studio を使用して新しいプロジェクトを作成します。 Go の統合: go ディレクトリと main.go ファイルを jni ディレクトリに作成します。 Go コードをコンパイルする: go build コマンドを実行して main.go ファイルをコンパイルします。ネイティブ インターフェイスの追加: MainActivity.java でネイティブ メソッド callGo() を宣言します。 Go 共有ライブラリをロードする: MainActivity.java の System.loadLibrary("go") を使用して Go 共有ライブラリをロードします。実際のケース: main.go で Toast メッセージを表示し、Android で MakeToast() メソッドを呼び出します。

Android 开发中的 Go 实践

Android 開発における Go の実践

はじめに

Go は Google によって開発されましたシンプルさ、同時実行性、効率性で知られる最新のプログラミング言語。 Android アプリ開発の世界では、ネイティブ パフォーマンスとクロスプラットフォームの利点を提供する Go の人気が高まっています。この記事では、Android アプリケーションで Go を使用する方法を説明し、実践的な例を示します。

Go 開発環境のセットアップ

  1. Go のインストール: https://go.dev/dl/ にアクセスして Go をダウンロードしてインストールします。
  2. 環境変数の構成: Go インストール ディレクトリを PATH 環境変数に追加します。
  3. Android NDK のインストール: https://developer.android.com/ndk/downloads の手順に従って Android NDK をインストールします。

Android アプリケーションの作成

Android Studio を使用して、新しい Android プロジェクトを作成します。 「新しいプロジェクト」ダイアログで「空のアクティビティ」モジュールを選択します。

Go の統合

  1. app/src/main/jni ディレクトリの下に go ディレクトリを作成します。
  2. 次のコードを含む main.go ファイルを go ディレクトリに作成します:
package main

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

func main() {}
  1. In 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

ネイティブ インターフェイスを追加

Android コードで Go コードを呼び出すには、 JNI (Java Native Interface) インターフェイスを追加する必要があります。 app/src/main/java/5ecf0a39e3150d20f8b8b25f978422b4 ディレクトリに 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");
    }
}

Actual case: トースト メッセージの表示

Go を使用してトースト メッセージを表示します。次のコードを main.go ファイルに追加します。

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 {}
}

アプリケーションの実行

Android アプリケーションをコンパイルして実行します。デバイスまたはシミュレーター上に Go コードからのトースト メッセージが表示されるはずです。

概要

Go を使用して Android アプリケーションを開発すると、パフォーマンスが向上し、同時実行が簡素化され、クロスプラットフォームの利点が得られます。この記事では、Go の統合に役立つステップバイステップのガイドを提供し、トースト メッセージを表示する実践的な例を示します。

以上がAndroid 開発における Go の実践の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。