Maison > Article > développement back-end > Go pratiques dans le développement Android
Pratiquez Go dans le développement Android : configurez l'environnement de développement Go : installez Go et Android NDK. Créer une application Android : créez un nouveau projet à l'aide d'Android Studio. Intégrer Go : créez le répertoire go et le fichier main.go dans le répertoire jni. Compiler le code Go : exécutez la commande go build pour compiler le fichier main.go. Ajouter une interface native : déclarez la méthode native callGo() dans MainActivity.java. Chargez la bibliothèque partagée Go : utilisez System.loadLibrary("go") dans MainActivity.java pour charger la bibliothèque partagée Go. Cas pratique : Afficher un message Toast dans main.go et appeler la méthode MakeToast() sous Android.
Pratiques Go dans le développement Android
Introduction
Go est un langage de programmation moderne développé par Google et est connu pour sa simplicité, sa concurrence et son efficacité. Dans le monde du développement d'applications Android, Go gagne en popularité car il offre des performances natives et des avantages multiplateformes. Cet article vous expliquera comment utiliser Go dans les applications Android et vous fournira un exemple pratique.
Configurer l'environnement de développement Go
Créer une application Android
Créez un nouveau projet Android à l'aide d'Android Studio. Sélectionnez le module "Activité vide" dans la boîte de dialogue "Nouveau projet".
Intégrer Go
go
sous le répertoire 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/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"); } }
实战案例:显示 Toast 消息
使用 Go 显示一个 Toast 消息。在 main.go
main.go
dans le répertoire go
, contenant le code suivant : 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 {}
}
Dans
app/ src/ Créez un sous-répertoire correspondant à l'ABI de l'application dans le répertoire main/jnilibs
(par exemple, arm64-v8a
).
Créez un lien symbolique nommé libgo.so
dans le sous-répertoire créé, pointant vers le fichier bibliothèque généré par la compilation Go.
Compile Go code
🎜Ouvrez une fenêtre de terminal et accédez au répertoire du projet. 🎜🎜Exécutez la commande suivante pour compiler le code Go : 🎜🎜rrreee🎜🎜Ajouter une interface native 🎜🎜🎜Pour appeler du code Go dans le code Android, vous devez ajouter une interface JNI (Java Native Interface). Créez le fichierMainActivity.java
dans le répertoire app/src/main/java/5ecf0a39e3150d20f8b8b25f978422b4
, contenant le code suivant : 🎜rrreee🎜🎜Cas pratique : Display Toast message🎜 🎜🎜Affichez un message Toast à l'aide de Go. Ajoutez le code suivant dans le fichier main.go
: 🎜rrreee🎜🎜Exécutez l'application🎜🎜🎜Compilez et exécutez l'application Android. Vous devriez voir un message Toast provenant de votre code Go sur l'appareil ou le simulateur. 🎜🎜🎜Résumé🎜🎜🎜Le développement d'applications Android à l'aide de Go peut améliorer les performances, simplifier la simultanéité et générer des avantages multiplateformes. Cet article fournit un guide étape par étape pour vous aider à intégrer Go et fournit un exemple pratique d'affichage des messages Toast. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!