前两天看到stormzhang写的一篇关于android快速开发的插件文章,在此我也做一下介绍,并添加一下插件的试用方法,希望能够帮助android开发者快速投入使用,废话少说,下面进入正题。
1、ButterKnife Zelezny
快速添加注解的插件
安装
安装方法1:
1
2
3
4
1.Intellij Idea 或者 Android studio:
File->Settings..->Plugins-->Browse repositores..搜索 ButterKnife Zelezny
2.安装插件,重启软件
安装方法2:
1
2
3
1. 安装 File->Settings..->Plugins -->install plugin from disk..导入下载的ButterKnife Zelezny
2.重启软件
插件下载
注意
确认你的项目中的libs中已经添加了最新的 Butterknife 包,右键点击正在使用的布局参数(也就是你的Activity或者Fragment中的R.layout.main), 点击 Generate ,在弹出框中点击 Generate ButterKnife Injections选择你需要的注解对象, 你要可以选择为适配器(Adapter)创建ViewHolder.点击Confirm 即可生成你需要的注解!
Github地址:https://github.com/avast/android-butterknife-zelezny
2、SelectorChapek
设计师给我们提供好了各种资源,每个按钮都要写一个selector是不是很麻烦?这么这个插件就为解决这个问题而生,你只需要做的是告诉设计师们按照规范命名就好了,其他一键搞定
安装
安装方法1:
1
2
3
1.Intellij Idea 或者 Android studio:File->Settings..->Plugins-->Browse repositores..搜索SelectorChapek
2.安装插件,重启软件
安装方法2:
1
2
3
1.安装 File->Settings..->Plugins -->install plugin from disk..导入下载的SelectorChapek
2.重启软件
插件下载
使用方法
1) 右键点击你的资源文件夹 ‘drawable-xhdpi’
2) 点击 ‘Generate Android Selectors’
3) 所有的selectors 会自动出现在 ‘drawable’ 文件夹中!
Github地址:https://github.com/inmite/android-selector-chapek
3、GsonFormat
现在大多数服务端api都以json数据格式返回,而客户端需要根据api接口生成相应的实体类,这个插件把这个过程自动化了,赶紧使用起来吧。
安装
安装方法1:
1
2
3
1.Intellij Idea 或者 Android studio:File->Settings..->Plugins-->Browse repositores..搜索GsonFormat
2.安装插件,重启软件
安装方法2:
1
2
3
1.安装 File->Settings..->Plugins -->install plugin from disk..导入下载的GsonFormat.jar
2.重启软件
插件下载
使用方法
在实体类中使用Generate的快捷键.
快捷键:图中选中的部分
我这边的快捷键是 command+n;
简单的实体类:
图中简单的 json 格式
1
2
3
4
5
6
{
"name": "王五",
"gender": "man",
"age": 15,
"height": "140cm",
}
图中的实体类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
**
* Created by 轻微 on 15/1/9.
*/
public class Bean extends JSONModel {
/**
* height : 140cm
* age : 15
* name : 王五
* gender : man
*/
private String height;
private int age;
private String name;
private String gender;
public void setHeight(String height) {
this.height = height;
}
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getHeight() {
return height;
}
public int getAge() {
return age;
}
public String getName() {
return name;
}
public String getGender() {
return gender;
}
}
复杂的实体类:
实体类不仅包含另外一个实体,还包含另外实体的数组.
图中复杂的json 格式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"name": "王五",
"gender": "man",
"age": 15,
"height": "140cm",
"addr": {
"province": "fujian",
"city": "quanzhou",
"code": "300000"
},
"hobby": [
{
"name": "billiards",
"code": "1"
},
{
"name": "computerGame",
"code": "2"
}
]
}
图中的实体类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/**
* Created by 轻微 on 15/1/9.
*/
public class Bean extends JSONModel {
/**
* height : 140cm
* age : 15
* name : 王五
* hobby : [{"name":"billiards","code":"1"},{"name":"computerGame","code":"2"}]
* gender : man
* addr : {"province":"fujian","code":"300000","city":"quanzhou"}
*/
private String height;
private int age;
private String name;
private List<HobbyEntity> hobby;
private String gender;
private AddrEntity addr;
public void setHeight(String height) {
this.height = height;
}
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public void setHobby(List<HobbyEntity> hobby) {
this.hobby = hobby;
}
public void setGender(String gender) {
this.gender = gender;
}
public void setAddr(AddrEntity addr) {
this.addr = addr;
}
public String getHeight() {
return height;
}
public int getAge() {
return age;
}
public String getName() {
return name;
}
public List<HobbyEntity> getHobby() {
return hobby;
}
public String getGender() {
return gender;
}
public AddrEntity getAddr() {
return addr;
}
public class HobbyEntity {
/**
* name : billiards
* code : 1
*/
private String name;
private String code;
public void setName(String name) {
this.name = name;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public String getCode() {
return code;
}
}
public class AddrEntity {
/**
* province : fujian
* code : 300000
* city : quanzhou
*/
private String province;
private String code;
private String city;
public void setProvince(String province) {
this.province = province;
}
public void setCode(String code) {
this.code = code;
}
public void setCity(String city) {
this.city = city;
}
public String getProvince() {
return province;
}
public String getCode() {
return code;
}
public String getCity() {
return city;
}
}
}
过滤注释功能讲解: 支持 java 两种注释过滤:
1
2
3
4
/**段注释:
*/
//行注释:
例子:
1
2
3
4
5
6
7
8
9
{
/**
* 名字
*/
"name": "王五",
"gender": "man",//性别
"age": 15,
"height": "140cm",
}
Github地址:https://github.com/zzz40500/GsonFormat
4、ParcelableGenerator
Android中的序列化有两种方式,分别是实现Serializable接口和Parcelable接口,但在Android中是推荐使用Parcelable,只不过我们这种方式要比Serializable方式要繁琐,那么有了这个插件一切就ok了。
安装
安装方法1:
1
2
3
1.Intellij Idea 或者 Android studio:File->Settings..->Plugins-->Browse repositores..搜索ParcebleGenerator
2.安装插件,重启软件
安装方法2:
1
2
3
1.下载 安装 File->Settings..->Plugins -->install plugin from disk..导入下载的ParcebleGenerator
2.重启软件
插件下载
使用方法
创建或者打开一个你要序列化的java文件右键点击 ‘Generate’ 然后点击 ‘SerializableParcelable’选择参数生成代码
5、Android Drawable Importer
自动生成各种分辨率的android应用图标
安装
安装方法1:
1
2
3
1.Intellij Idea 或者 Android studio:File->Settings..->Plugins-->Browse repositores..搜索Android Drawable Importer
2.安装插件,重启软件
安装方法2:
1
2
3
1.下载 安装 File->Settings..->Plugins -->install plugin from disk..导入下载的Android Drawable Importer
2.重启软件
插件下载
使用方法:
这个插件包含四种属性. 你可以在Android module中(不是在文件上)的任意位置右键查看该属性。
AndroidIcons Drawable Import
你可以选择资源,指定颜色,改变目标资源名字,选择所有你想导入的资源文件。所有文件夹都会自动创建,如果已有了相同名字的图片,软件会警告你。
你可以从这个网站免费下载图片: http://www.androidicons.com/
Material Icons Drawable Import
这个功能提供了和AndroidIcons import相同的功能,另外你还可以根据属性选择资源、指定颜色,改变资源路径名称和选择你要导入的资源
You can download Material Icons here for free: https://github.com/google/material-design-icons/releases
Scaled Drawable
选择资源和分辨率。如果你想放大缩小你要导入的图片,你要选择其他并且填写目标分辨率和目标宽高。这样你能给你要改变大小的图片指定分辨率。这个工作也可以用9-Pactch(点9图),但是要注意,有时必须移除或者添加一像素在9-Patch编辑器中。
Multisource-Drawable
你是否曾经从你的设计者得到过一个下面结构的zip文件?
1
2
3
4
5
root/
./drawable_ldpi.png
./drawable_mdpi.png
./drawable_hdpi.png
./drawable_xhdpi.png
没问题!现在你只需要选择每个资源的分辨率,指定一个名称,剩下的交给插件去做。
提示: 当你选择资源的时候,你只需要从你的资源文件夹拖拽过来
Github地址:https://github.com/winterDroid/android-drawable-importer-intellij-plugin
6、Android Holo Colors Generator
自动生成各种分辨率的android应用图标
安装
安装方法1:
1
2
3
1.Intellij Idea 或者 Android studio:File->Settings..->Plugins-->Browse repositores..搜索SelectorChapek
2.安装插件,重启软件
安装方法2:
1
2
3
1.下载 安装 File->Settings..->Plugins -->install plugin from disk..导入下载的SelectorChapek
2.重启软件
插件下载
使用方法:
点击软件工具栏Android Holo Colors 图标(蓝色 ‘H’) :
点击后会弹出如下对话框:
浏览这个网站(http://android-holo-colors.com), 为你的主题选择一个名字, 选择最小sdk版本, 如果需要设置一下compat library和你需要的小控件。还需要指定你的”res”文件夹.最后, 点击 “OK”.
如果在你的文件夹中已经存在了这些资源,会弹出下面的对话框,提示你是否覆盖他们,或者不覆盖。
你可能会看到下面的对话框. 这时, 点击”Make a donation” 你可以进行捐赠。
Github地址:https://github.com/jeromevdl/android-holo-colors-idea-plugin
7、Codota 搜索最好的Android 代码
来自:http://www.jianshu.com/p/59b89c26f9e0
Codota 的特性
的确,正如codota 官方所说,的确是精品,他的搜索源,不仅只有Github,而且还有知名博客和开发者网站,让你搜索一个东西,不用在找上半天;
除了搜索功能,首页的下方还罗列比较流行的类库,还提供保存代码的CodeBox,同时还提供了Chrome 插件和Android Studio 插件,最后通过Google,Github,Facebook 任意一个授权登录即可使用;
而且当你点击搜索的结果(Java class)的时候,右侧会显示UML 视图,而且左边的代码如果点击会有高亮现实,而且还会显示Doc,并提供了API Doc 的链接。
Chrome 插件
而且Codota 还提供了Chrome 插件,通过插件可以对Github,Stackoverflow 的代码,进行查看,分享,也可以保存在CodeBox 中。
Android Studio 插件
这么好的工具,怎么可能会没有Android Studio 插件呢?直接在plugin 中搜索codota,安装后重启Android Studio 即可;重启之后,Ctrl + K 或者⌘ + K(OS X)即可打开Codota 视图,需要注意的是,这个时候会请求一个token,会在浏览器中打开,直接复制,就可以使用了。