B4A +GoLang 实现手机端webserver

5 篇文章 0 订阅
2 篇文章 0 订阅

一直以来都不太喜欢 Android Studio , 因为太重了,一打开再遇到更新我可怜的8G内存老爷机,卡的不要不要的……
开发手机应用一直用的uniapp、E4A、B4A 这种轻量级的小公举。
今天实验用B4A开发APP,调用GoLang开发的AAR库,方法粗暴有效,感觉还不错。
选择B4A是因为它除了小巧之外,还具备免费、原生支持内联JAVA代码,支持JAR、AAE包等有点,虽然它使用的技术有点老旧,不妨碍我喜欢它。

废话多了,直接上代码

B4A

仅列出需要添加的部分

#AdditionalJar: hello.aar

Sub Process_Globals
	...
	Private NativeMe As JavaObject
	...
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("Layout")
	If FirstTime Then
		NativeMe.InitializeContext
		NativeMe.RunMethod("FirstMethod", Null)
	End If
End Sub

...

#If JAVA
public class SubThreadRun extends Thread {
	@Override
	public void run() {
		hello.Hello.run();
	}
}

public void FirstMethod() {
	Thread t1 = new SubThreadRun();
	t1.start();
}
#End If

需要在项目的 Manifest 中添加 AddPermission(android.permission.INTERNET)

GoLang

编译aar,用的官方例子改的。

gomobile bind -o app/hello.aar golang.org/x/mobile/example/bind/hello

源码,(注明:gomobile 不支持 mod)

package hello

import (
	"fmt"
	"github.com/gin-gonic/gin"
	"net/http"
)

var r *gin.Engine

func Run() {
	r = gin.Default()
	r.GET("/hello", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{"hello": "world!"})
	})
	r.Run(":8080")
}

期间遇到很多问题,太多太零碎了,就不写了,遇到了请留言。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值