Android注解框架對(duì)比分析-創(chuàng)新互聯(lián)

Java的注解(Annotation)相當(dāng)于一種標(biāo)記,在程序中加入注解就等于為程序打上某種標(biāo)記,標(biāo)記可以加在包,類,屬性,方法,本地變量上。然后你可以寫一個(gè)注解處理器去解析處理這些注解(人稱編譯時(shí)注解),也可以在程序運(yùn)行時(shí)利用反射得到注解做出相應(yīng)的處理(人稱運(yùn)行時(shí)注解)。

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比江漢網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式江漢網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋江漢地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。

開發(fā)Android程序時(shí),沒(méi)完沒(méi)了的findViewById, setOnClickListener等等方法,已經(jīng)讓大多數(shù)開發(fā)者頭疼不已。好在市面上有所謂的注解框架可以幫助開發(fā)者簡(jiǎn)化一些過(guò)程。比較流行的有butterknife, annotations, xutils, afinal, roboguice等等。今天我們就來(lái)對(duì)比一下這些注解框架。

ButterKnife框架分析

       首先看下Butterknife,來(lái)自Jakewharton大神的力作,特點(diǎn)是接入簡(jiǎn)單,依賴一個(gè)庫(kù)就好了。另外在Android Studio上還有提供一個(gè)插件,自動(dòng)生成注解與類屬性。


       Butterknife目前支持的注解有: View綁定(Bind),資源綁定(BindBool, BindColor, BindDimen, BindDrawble, BindInt, BindString),事件綁定(OnCheckedChanged, OnClick, OnEditorAction, OnFocusChange, OnItemClick, OnItemLongClick, OnItemSelected, OnLongClick, OnPageChange, OnTextChanged, OnTouch)。


       Butterknife的原理是運(yùn)行時(shí)注解。先來(lái)看下一個(gè)demo。


public class MainActivity extends Activity {

 @Bind(R.id.tv1)
 TextView mTv1;
 @Bind(R.id.tv2)
 TextView mTv2;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  ButterKnife.bind(this);
  mTv1.setText("tv1已經(jīng)得到了控件的索引");
 }

 @OnClick(R.id.tv2)
 public void tv2OnClick() {
  Toast.makeText(this, "tv2被點(diǎn)擊了", Toast.LENGTH_SHORT).show();
 }

標(biāo)題名稱:Android注解框架對(duì)比分析-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://muchs.cn/article34/cosepe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站網(wǎng)站改版、定制網(wǎng)站、面包屑導(dǎo)航關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)