1.为什么要使用gomobile作为上传下载插件?
-
高性能-协程
golang可以实现跨平台编译,开发出的插件Android/OS平台都可以使用,研发人员能少写代码,运维方便维护部署。golang 源码级别支持协程,实现简单。协程使用,当底层遇到阻塞会自动切换,也就是逻辑层通过同步方式实现异步,充分利用了系统资源,同时避免了异步状态机的反人类异步回调,实现方式更为直观简单。golang 协程是通过多线程维护,所以避免不了锁的使用,但也极大解决了研发效率问题。
-
生态
有谷歌做背书,生态丰富,可以轻松获得各种高质量轮子。这样用户可以专注于业务逻辑,避免重复造轮子。
-
部署
部署简单,源码编译成执行文件后,可以直接运行,减少了对其它插件依赖。不像其它语言,执行文件依赖各种插件,各种库,研发机器运行正常,放到生产环境上,死活跑不起来,需要各种安装和版本匹配。自己的
GC,有defer功能,函数可以返回多个参数等等。
2.gomobile前期工作
-
需要把gomobile使用到的数据库mobile.db 复制到Android项目下assets文件夹目录下。
-
把gomobile插件gonet.aar复制到app->libs目录下。
-
在build.gradle(:app)目录下添加依赖 :implementation (name:'gonet',ext:'aar')。
-
在android添加如下代码:
android {
.......
repositories {
flatDir {
dirs 'libs'
}
}
......
}
5. 需要在使用gomobile插件前把在assets文件下的数据库mobile.db复制到手机sd卡
private void copyAssetFileToSD() {
String fileName = GonetUtil.dbName;
String fileRoot = GonetUtil.dbPath;
String filePath = fileRoot + File.separator + fileName;
File file = new File(filePath);
if ((file.exists() && file.length() == 0) || !file.exists()) {
LogUtil.e("fileRoot=path2=" + filePath);
BaseFileUtil.copyAssetData(fileName, fileRoot);

本文介绍了为何选择gomobile作为Android应用的上传下载插件,强调了其高性能、跨平台编译和丰富的生态。详细步骤包括前期准备工作,如数据库和aar文件的配置,以及如何在Android项目中集成和使用gomobile进行文件上传和下载操作。同时,文章还提醒了在使用插件时需要注意的事项,如退出应用的正确操作和网络状态监听。
最低0.47元/天 解锁文章
401

被折叠的 条评论
为什么被折叠?



