作者:qwer | 来源:互联网 | 2023-10-15 15:37
AndroidStudio拥有强大的功能,只是有些我们还不知道,比如说,他可以集成许多第三方插件,帮助我们打打提高开发效率。至于插件的种类繁多,需要我们在自己的开发过程中,一一检验
Android Studio拥有强大的功能,只是有些我们还不知道,比如说,他可以集成许多第三方插件,帮助我们打打提高开发效率。至于插件的种类繁多,需要我们在自己的开发过程中,一一检验哪些是我们真正需要的,哪些我们很少甚至根本用不到。话不多说,我们直接来说明Android Studio插件的配置和应用。在此我仅举几个我自己经常用到的插件,不过使用插件的过程都是大同小异,其各自的功能当然还是要自己一一实际操作之后才会更加明白。
OK,我们首先由一款应用范围极广且为众多程序员钟爱的插件——ButterKnife说起:
首先快捷键搞起,在Android Studio主版面按住Ctrl+Alt+S打开设置界面,如果你对Android Studio的常用快捷键还不够熟悉,可以看我整理的另一篇博文:http://blog.csdn.net/songkai320/article/details/51773634 。
直接上图:因为我已经安装过这个插件了,所以没有Install Plugin的绿色按钮:
点击中间的 Browse Repositories.
OK,安装好之后重启Android Studio,和一般的插件不一样,要使用ButterKnife,还需要在Module的build.gradle文件中添加如下语句:
compile 'com.jakewharton:butterknife:8.0.1'
什么,你说你没有搜索到任何第三方插件,那么请把你设置的代理先取消。改为 No proxy.
好了,我们现在可以进行编写代码了。布局文件你们就自己写吧,主要是学会这个插件的用法:
public class MainActivity extends AppCompatActivity {
@BindView(R.id.textView)
TextView textView;
@BindView(R.id.button)
Button button;
@BindView(R.id.switch1)
Switch switch1;
@BindView(R.id.toggleButton)
ToggleButton toggleButton;
@BindView(R.id.progressBar)
ProgressBar progressBar;
@BindView(R.id.seekBar)
SeekBar seekBar;
@BindView(R.id.textClock)
TextClock textClock;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
} @OnClick({R.id.textView, R.id.button, R.id.switch1, R.id.toggleButton, R.id.progressBar, R.id.seekBar, R.id.textClock})
public void onClick(View view) {
switch (view.getId()) {
case R.id.textView:
Toast.makeText(this, "view:我是textView" + view, Toast.LENGTH_SHORT).show();
break;
case R.id.button:
Toast.makeText(this, "view:button" + view, Toast.LENGTH_SHORT).show();
break;
case R.id.switch1:
Toast.makeText(this, "view:switch1" + view, Toast.LENGTH_SHORT).show();
break;
case R.id.toggleButton:
Toast.makeText(this, "view:toggleButton" + view, Toast.LENGTH_SHORT).show();
break;
case R.id.progressBar:
Toast.makeText(this, "view:progressBar" + view, Toast.LENGTH_SHORT).show();
break;
case R.id.seekBar:
Toast.makeText(this, "view:seekBar" + view, Toast.LENGTH_SHORT).show();
break;
case R.id.textClock:
Toast.makeText(this, "view:textClock" + view, Toast.LENGTH_SHORT).show();
break;
}
}
}
我不会告诉你,上述代码我写的不超过5行,全都是自动生成的。
自动生成方法:选中布局文件名称,此处是activity_main,右键选择Generate——>Generate ButterKnife Injections,怎么样,是不是很人性化的设计,还可以修改变量名称。
你可能还不相信我居然连5行代码都没自己写,因为他们都还有各自的监听事件。那么我要向你解释,他们的监听事件我只写了一行代码中的弹出字符。好了,其实我是用了另一个第三方插件,那就是:Android Postfix completion
可根据后缀快速完成代码。
@Override
protected void onStart() {
super.onStart();
}
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onPause() {
super.onPause();
}
@Override
protected void onStop() {
super.onStop();
}
@Override
protected void onDestroy() {
super.onDestroy();
}
这一段代码是不是排列得很整齐,完全是按照Activity的生命周期来的。其实这是使用了另一个插件:Lifecycle Sorter。它的功能是可以根据Activity或者fragment的生命周期对其生命周期方法位置进行先后排序。快捷键是Ctrl+Alt+K
笔者还是用了另外一个插件,那就是CodeGlance,它的最大的用途就是可用于快速定位代码.毕竟Android Studio旁边那个滑动符太小了,不方便。
最后,笔者在简单介绍另外两个插件:
AndroidAccessors
其实不用多说,它的作用就是快速为一个类里面的所有属性(当然程序员可以自己指定一些属性)快速生成get(0和set()方法。
Gsonformat
它可根据json数据快速生成java实体类,实体类需要继承JSONModel类。这个我还没有用过。读者可以自己操作一下。