美文网首页安卓JetBrainsAndroid开发
Android Studio Plugin 插件开发教程(四)

Android Studio Plugin 插件开发教程(四)

作者: boredream | 来源:发表于2017-09-08 16:31 被阅读175次

    项目源码

    https://github.com/boredream/AndroidDatabaseGeneratorPlugin

    系列教程

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

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

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

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


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

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

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

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

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

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

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

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


    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去删除和查询数据的方法~

    相关文章

      网友评论

      • laomao_老毛:hello,再请教您个问题,如何自动打开新创建的一个类
      • laomao_老毛:写的很好,近期准备从0开发一个自动生成MVP代码的插件,看完你写的这几篇文章,受益匪浅啊
        boredream:@dream追梦_b47c 客气客气,感谢资词~:smile:

      本文标题:Android Studio Plugin 插件开发教程(四)

      本文链接:https://www.haomeiwen.com/subject/gjqnjxtx.html