一直以来都不太喜欢 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")
}
期间遇到很多问题,太多太零碎了,就不写了,遇到了请留言。