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類。這個我還沒有用過。讀者可以自己操作一下。