Android 개발의 Go 사례

WBOY
풀어 주다: 2024-04-08 10:33:01
원래의
927명이 탐색했습니다.

Android 개발에서 Go 연습: Go 개발 환경 설정: Go 및 Android NDK를 설치합니다. Android 앱 만들기: Android Studio를 사용하여 새 프로젝트를 만듭니다. Go 통합: jni 디렉터리에 go 디렉터리와 main.go 파일을 만듭니다. 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. 환경 변수 구성: PATH 환경 변수에 Go 설치 디렉터리를 추가합니다.
  3. Android NDK 설치: https://developer.android.com/ndk/downloads의 지침에 따라 Android NDK를 설치하세요.

Android 앱 만들기

Android Studio를 사용하여 새 Android 프로젝트를 만듭니다. "새 프로젝트" 대화상자에서 "빈 활동" 모듈을 선택합니다.

Go 통합

  1. app/src/main/jni 디렉터리 아래에 go 디렉터리를 만듭니다. app/src/main/jni 目录下创建 go 目录。
  2. go 目录下创建 main.go 文件,包含以下代码:
package main

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

func main() {}
로그인 후 복사
  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
로그인 후 복사

添加 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 파일을 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 {}
}
로그인 후 복사
    In app/ src/ main/jnilibs 디렉터리에 애플리케이션 ABI에 해당하는 하위 디렉터리를 만듭니다(예: arm64-v8a).

    생성된 하위 디렉터리에 Go 컴파일로 생성된 라이브러리 파일을 가리키는 libgo.so라는 심볼릭 링크를 만듭니다.

    Go 코드 컴파일

    🎜터미널 창을 열고 프로젝트 디렉토리로 이동하세요. 🎜🎜다음 명령을 실행하여 Go 코드를 컴파일하세요. 🎜🎜rrreee🎜🎜네이티브 인터페이스 추가 🎜🎜🎜Android 코드에서 Go 코드를 호출하려면 JNI(Java Native Interface) 인터페이스를 추가해야 합니다. app/src/main/java/<PACKAGE_NAME> 디렉터리에 다음 코드가 포함된 MainActivity.java 파일을 만듭니다. 🎜rrreee🎜🎜실용 사례: Toast 표시 message🎜 🎜🎜Go를 사용하여 토스트 메시지를 표시합니다. main.go 파일에 다음 코드를 추가합니다. 🎜rrreee🎜🎜Run the application🎜🎜🎜Android 애플리케이션을 컴파일하고 실행합니다. 장치나 시뮬레이터의 Go 코드에서 토스트 메시지가 표시되어야 합니다. 🎜🎜🎜요약🎜🎜🎜 Go를 사용하여 Android 애플리케이션을 개발하면 성능을 향상하고 동시성을 단순화하며 플랫폼 간 이점을 실현할 수 있습니다. 이 문서에서는 Go를 통합하는 데 도움이 되는 단계별 가이드를 제공하고 토스트 메시지를 표시하는 실제 예를 제공합니다. 🎜

위 내용은 Android 개발의 Go 사례의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!