直接进入主题,首先进入官网google/blockly-android官网,代码下载下来之后,直接导入到Android studio中就可以运行,下面是代码运行的截图
需要注意的是,目前Google Blockly团队不再积极开发blockly-android项目,会继续的review and accept pull requests,并且推荐使用WebView的方式,但实际上并不影响使用,亲测把下载下来的项目升级到Android X后依然可以正常使用
下面开始集成到自己项目中:
下载下来的项目一共有四个目录
即 “blocklylibdemo" ,“blocklylib-core” ,“blocklylib-vertical”,“blocklytest”
需要把 blocklylib-core , blocklylib-vertical 两个目录导入到项目中
集成时有个小技巧,即直接以module的方式添加依赖blocklytest目录,AS会自动把blocklylib-core , blocklylib-vertical同时依赖进去,
在这一步可能会报ERROR: Plugin with id ‘com.jfrog.bintray’ not found.
这一步集成完成之后,自己的项目中的 app 还需要依赖blocklylib-core , blocklylib-vertical两个目录,直接依赖blocklylib-vertical即可,因为blocklylib-vertical是依赖于blocklylib-core的。
如果自己的项目是依赖于Android X构建的,还需要解决一下blocklylib-core,
blocklylib-vertical两个目录中的support包无法使用的问题,我是直接把这两个目录全部升级到Android X的,利于以后的升级.
接下来在自己的Activity中继承AbstractBlocklyActivity,并重写以下四个方法
getToolboxContentsXmlPath
getBlockDefinitionsJsonPaths
getGeneratorsJsPaths
getCodeGenerationCallback
此外还有个加载布局的方法onCreateContentView()
用法注意看代码中的注释部分
import android.view.View;
import android.widget.ImageButton;
import androidx.annotation.NonNull;
import com