网站建设资讯

NEWS

网站建设资讯

go语言写android go语言写界面

Go语言能在安卓运行吗? Go是脚本语言还是汇编?

go可以在安卓运行的,github点抗 /golang/mobile,这是用golang做移动端开发的库,

成都创新互联服务项目包括琼结网站建设、琼结网站制作、琼结网页制作以及琼结网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,琼结网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到琼结省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

go是静态编译语言,不是脚本语言

android 可以用go 语言吗

Go语言将支持Android

概述

我们建议将Go语言引入Android平台,重点是用Go语言编写游戏程序,API将在Android

NDK中定义。

背景

Android平台被设定为一个多应用操作系统,一个相对于传统UNIX系统来说更依赖于网络库和服务的操作系统,这意味着我们将为Go运行时开放更多的API。

将Golang带入Android平台是一件非常糟糕的事情,因为Android本身是Java构建的并且拥有巨量的API,任何试图将这些API用Go替代的结果将会导致一个非常糟糕的结果。无论是手工建立包装类还是自动建立都会导致程序运行非常缓慢。

然而如果使用基于C的API,通过AndroidNDK来编写一些游戏类程序可能会带来意想不到的收获。

提议

在Golang

1.4周期中,Android平台的编译将纳入Go的源,并且包含Android支持的cgo(由Elias

Naur贡献)。Dalvik-loadable

.so外部连接文件的支持也会由Android

NDK提供。

在发布上我们仍然提供交叉平台编译,并且支持在Linux主机上adb工具在Android设备上测试程序。

我们将会提供一个名叫go.mobile的子版本,包含:

1、通过Android

NDK对OpenGL,OpenSL和OpenMAX的支持。

2、一个Java-Go的工具,支持通过Java调用Go的Package,所以许多游戏的菜单UI可以通过标准SDK构建。(有可能会支持通过其他语言调用Go,比如Objective-C。)

3、集成AndroidStudio

新特性将会在Go1.4稳定版中提供。

如何Golang开发Android应用

如何Golang开发Android应用:

一丶准备

1.一台Linux 64的机器

2.一个带有AndroidStudioIDE的开发机器

因为环境配置实在复杂,所以引入的docker。

docker pull codeskyblue/docker-goandroid

docker run --rm -ti codeskyblue/docker-goandroid bash

cd example; echo "view example projects

docker起来之后,什么就都配置好了,NDK,java,GO的环境变量了,等等,并且还预装了vim,gradle,tmux,git,syncthing,svn

二丶代码

1.写代码之前,先约定下目录结构

go的代码都放在src/golib下,编译使用make.bash编译脚本,看下这个文件树

.

|-- app.iml

|-- build.gradle

|-- libs/armeabi-v7a # go编译生成的so文件

|               `-- libgojni.so

|-- main.go_tmpl # 一个模板文件,先不用管它

|-- make.bash # 编译脚本,用来生成.so和Java代码

`-- src

|-- golib

|   |-- hi

|   |   |-- go_hi#1438;#1438;#1438; # 自动生成的代码

|   |   |   `-- go_hi.go

|   |   `-- hi.go # 需要编写的代码

|   `-- main.go

`-- main

   |-- AndroidManifest.xml

   |-- java

   |   |-- go # 自动生成的代码

   |   |   |-- Go.java

   |   |   |-- Seq.java

   |   |   `-- hi

   |   |       `-- Hi.java

   |   `-- me/shengxiang/gohello # 主要的逻辑代码

   |                      `-- MainActivity.java#1438;#1438;#1438;

   `-- res

2.写了一个例子

git clone

3.编译下,试试行不行(就算不行问题应该也不大,因为大问题都被消灭了)

cd GoHello/app

./make.bash

../gradlew build

4.一切顺利的话在build/outputs/apk下应该可以看到app-debug.apk这个文件。

编译好的放到qiniu上了,可以点击下载看看

下面可以尝试改改

打开hi.go这个文件

hi.go的内容,比较简单,写Go代码主要就是这部分

// Package hi provides a function for saying hello.

package hi

import "fmt"

func Hello(name string) {

fmt.Printf("Hello, %s!\n", name)

return "(Go)World"

}

5.文件末尾添加下面这行代码

func Welcome(name string) string {

return fmt.Sprintf("Welcome %s to the go world", name)

}

使用./make.bash重新编译下

6.打开MainActivity.java 修改下OnClickListener事件

button.setOnClickListener(new View.OnClickListener() {

   @Override

   public void onClick(View v) {

       String message = Hi.Welcome("yourname");

       Toast.makeText(MainActivity.this, message, Toast.LENGTH_LONG).show();

   }

});

编译运行下,把生成的apk安装到手机上试试。


文章标题:go语言写android go语言写界面
文章网址:http://njwzjz.com/article/ddgjccc.html