Android Studio Plugin 插件开发教程(四) —— 为自动生成数据库代码的插件添加UI

3,036 阅读3分钟

项目源码

github.com/boredream/A…

系列教程

Android Studio Plugin 插件开发教程(一) —— 开发你的第一个插件

Android Studio Plugin 插件开发教程(二) —— 插件SDK中的常用对象介绍

Android Studio Plugin 插件开发教程(三) —— 制作一个自动生成数据库代码的插件

Android Studio Plugin 插件开发教程(四) —— 为自动生成数据库代码的插件添加UI


教程三其实已经完成了插件基本功能的开发,为了更好用,还可以加入可操作的对话框。这次我们新增一个Dialog,可以勾选需要的数据类字段、主键,效果图如下

对话框的新建可以通过 File | New | Dialog
输入名字后确认,会自动生成两个类,共同保存在ColumnDialog文件夹中

Dialog
Dialog

  • XXX.java 页面逻辑控制类
  • XXX.form 对话框UI布局样式

有点类似于安卓里的 Activity.java 和 layout.xml 类

.form布局类是可视化编辑的,可以直接从右侧的控件库中拖到UI上,然后在左边的页面中选择对应控件修改属性。

编辑好页面后,就可以在类似于Activity的.java类中处理逻辑了,但不同于Activity里需要findViewById去定位控件,这里是用名字匹配的~
当你在.form上给一个控件的field name指定名称后(参考上图红圈),就会自动在对应的.java文件里生成一个相对的成员变量

当然,和安卓里一样,你可以在form里拖一个控件出来,同样也可以在java类中new一个新的出来

有安卓基础的会很快掌握~ 这些控件都是Java里swing啥的自带的,网上教程也很多,可以自行搜索学习,贴个文档:
docs.oracle.com/javase/tuto…


UI部分代码的开发就不详细介绍了,比较简单,详细请参考源码,只简单介绍下思路:

  1. IDE中点插件的时候解析当前编辑的数据类,将这个Class的成员变量都在对话框中展现出来
  2. 展现的时候,每个成员变量item都提供一个Checkbox,可以勾选,代表是否作为数据库字段,此外还有单选框表示是否作为主键
  3. 额外新增一个_ID字段item(继承与BaseColumn类提供的),默认作为主键~ 且Checkbox的enable设为false不能取消勾选
  4. 提供全选按钮方便操作,此外还有确定和取消按钮
  5. 确定按钮的点击事件中调用生成代码方法,并传入从对话框中搜集的信息去生成这些代码
  6. 参考教程(三)的步骤拼接代码并写入到类文件中

注意,这里生成代码的时候有了额外的处理
当默认主键时,只生成add、all list、get all、delete all几个基本方法
而有自定义字段(非_ID字段)作为主键时,额外提供用主键的key去删除和查询数据的方法~