MAC上开发android studio插件基础教程
来源:互联网 发布:php 调用setcookie 编辑:程序博客网 时间:2024/05/16 16:18
android studio上的插件有很多,使用这些插件能大大提高我们的开发效率。说下怎么开发简单的AS插件。因为我用的是mac,就说说mac,win的类似(只需要再装下java sdk)。
这里就举个简单的例子,做一个创建activity和fragment生命周期所有方法的插件。
首先先下载IntelliJ IDEA这款IDE,android studio插件的开发不能使用android studio,而是要用InteillJ,下载链接 https://www.jetbrains.com/idea/download/#section=mac。选择下载免费的community版本就可以。然后安装,安装后启动创建新项目,创建新项目选择IntelliJ Platform Plugin
java sdk Mac系统默认是有的,不需要下载,如果是win系统先下载在指定下路径就行。然后这样一步步默认创建下去。
1. 修改plugin.xml
创建完以后大概就这样,主要看下plugin.xml这个文件,这个是配置文件,相当于android stuido里面的Androidminfest.xml。具体看下几个参数的意思:
id 这个插件的唯一识别码,跟别的插件做区分,如果你做的插件只是自己用,不发布到仓库,那可以不用改默认就可以。如果要发布,这个就需要改下。
name 插件的名字,是会显示在IDE上的
version 插件版本号
vendor email 邮箱,不发布到仓库可以不用管。
除了version,其他都做了修改,具体见图。
2.创建action
在src上右键,创建action
Groups选择的是要在哪个菜单下显示插件
创建完action后,会自动生成类下src下,也会在plugn.xml里面出现action的相关信息。
3. 实现action
创建完action,就下来就是实现action。实现action,主要就是实现actionPerformed方法,代码直接贴出来。
这个是生成activity生命周期
public class ActivityLifeCycle extends AnAction { @Override public void actionPerformed(AnActionEvent e) { //获取Editor和Project对象 Editor editor = e.getData(PlatformDataKeys.EDITOR); Project project = e.getData(PlatformDataKeys.PROJECT); Document document = editor.getDocument(); Runnable runnable = new Runnable() { @Override public void run() { document.insertString(0, getContent()); } }; //加入任务,由IDEA调度执行这个任务 WriteCommandAction.runWriteCommandAction(project, runnable); } private String getContent(){ return "\n"+" @Override\n" + " protected void onCreate(Bundle savedInstanceState) {\n" + " super.onCreate(savedInstanceState);\n" + " }\n" + "\n" + " @Override\n" + " protected void onStart() {\n" + " super.onStart();\n" + " }\n" + "\n" + " @Override\n" + " protected void onRestart() {\n" + " super.onRestart();\n" + " }\n" + "\n" + " @Override\n" + " protected void onResume() {\n" + " super.onResume();\n" + " }\n" + "\n" + " @Override\n" + " protected void onPause() {\n" + " super.onPause();\n" + " }\n" + "\n" + " @Override\n" + " protected void onStop() {\n" + " super.onStop();\n" + " }\n" + "\n" + " @Override\n" + " protected void onDestroy() {\n" + " super.onDestroy();\n" + " }"+ "\n"; }}
下面这个是生成fragment生命周期
public class FragmentLifeCycle extends AnAction { @Override public void actionPerformed(AnActionEvent e) { //获取Editor和Project对象 Editor editor = e.getData(PlatformDataKeys.EDITOR); Project project = e.getData(PlatformDataKeys.PROJECT); Document document = editor.getDocument(); Runnable runnable = new Runnable() { @Override public void run() { document.insertString(0, getContent()); } }; //加入任务,由IDEA调度执行这个任务 WriteCommandAction.runWriteCommandAction(project, runnable); } private String getContent(){ return "\n"+" @Override\n" + " public void onAttach(Context context) {\n" + " super.onAttach(context);\n" + " }\n" + "\n" + " @Override\n" + " public void onCreate(@Nullable Bundle savedInstanceState) {\n" + " super.onCreate(savedInstanceState);\n" + " }\n" + "\n" + " @Nullable\n" + " @Override\n" + " public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {\n" + " return super.onCreateView(inflater, container, savedInstanceState);\n" + " }\n" + "\n" + " @Override\n" + " public void onActivityCreated(@Nullable Bundle savedInstanceState) {\n" + " super.onActivityCreated(savedInstanceState);\n" + " }\n" + "\n" + " @Override\n" + " public void onStart() {\n" + " super.onStart();\n" + " }\n" + "\n" + " @Override\n" + " public void onResume() {\n" + " super.onResume();\n" + " }\n" + "\n" + " @Override\n" + " public void onPause() {\n" + " super.onPause();\n" + " }\n" + "\n" + " @Override\n" + " public void onStop() {\n" + " super.onStop();\n" + " }\n" + "\n" + " @Override\n" + " public void onDestroyView() {\n" + " super.onDestroyView();\n" + " }\n" + "\n" + " @Override\n" + " public void onDestroy() {\n" + " super.onDestroy();\n" + " }\n" + "\n" + " @Override\n" + " public void onDetach() {\n" + " super.onDetach();\n" + " }"+ "\n"; }}
4.看运行效果
直接运行看效果
因为不是android studio的环境所以会有报错。这用我们的插件就完成了。
5.在android studio上的使用和发布
生成jar或者更新jar需要运行Build下的Prepare Plugin Module,我们使用这个jar就可以在android studio上使用插件
提交到仓库前需要把plugn.xml文件里的<depends>com.intellij.modules.lang</depends>注释打开,否则无法发布到android studio的仓库。然后到https://plugins.jetbrains.com/plugin/add/idea这个地址去发布就行啦,先注册个账号,提交jar,填写信息,然后等待审核。
over!
- MAC上开发android studio插件基础教程
- 如何在mac book 上安装Android studio 开发工具
- Android Studio插件开发
- Android Studio 插件开发
- Mac上 安装 Android Studio
- mac 上 卸载 android studio
- Android Studio 2.2.3 NDK开发基础教程
- Android Studio模板开发基础教程(一)
- mac下android studio安装plantuml插件
- mac Android Studio安装kotlin插件
- Mac Android studio插件GsonFormat的使用
- Android Studio中配置Retrolambda插件【mac】
- 开发环境之Mac上Android Studio上虚拟AVD设备不显示
- 开发神器-Android Studio插件
- Android Studio的插件开发
- Android Studio Gradle 插件开发
- Android Studio 插件开发总结
- Android Studio 插件开发简介
- K近邻算法
- I/O复用的系统调用select、poll、epoll
- C++中的函数重载、覆盖与隐藏
- storm提交集群报错及处理
- redis
- MAC上开发android studio插件基础教程
- 应急小先锋,突发性能实例T5来了
- iFunk双子街采视频曝光,性价比超高
- php递归函数return会出现无法正确返回想要值的情况
- C# 图片与16进制之间的转换
- HDU:2023 求平均成绩
- OC与JS交互之WKWebView
- 变参函数的使用方法一、标记加偏移地址法
- 去除电脑文件夹空白处右击出现“自定义文件夹”选项