## (一).前言:
前面我們已經對于AndroidAnnotations框架的線程處理做了講解,今天我們開始具體學習一下第三方框架集成。
FastDev4Android框架項目地址:[https://github.com/jiangqqlmj/FastDev4Android](https://github.com/jiangqqlmj/FastDev4Android)?
## (二).RoboGuice集成
2.1.簡介說明
自AndroidAnnotations1.0起,AndroidAnnotations已經完成集成了RoboGuice1.1.1。
自AndroidAnnotations3.1起,發布的RoboGuice1.0版本已經從RoboGuice2.0版本中移除了。
自AndroidAnnotations3.3起,從發布的RoboGuice3.0版本開始,該更新已經被支持。現在RoboGuice的最新版本是3.0。


2.2.集成RoboGuice和AndroidAnnotations
* 集成AndroidAnnotations框架到項目中(具體方法見:[【FastDev4Android框架開發】AndroidAnnnotations注入框架介紹和Android Studios基本配置(七)](http://blog.csdn.net/developer_jiangqq/article/details/49468923)
* 集成RoboGuice框架到項目中(具體方法見:[RoboGuice使用詳解](http://blog.csdn.net/column/details/devroboguice.html))
* 修改我們的Activity,現在不需要該Activity繼承RoboActivity了,只要對該Activity使用@RoboGuice注解即可。(原來使用RoboGuice是需要Activity繼承RoboActivity的)。
* 現在讓我們來看一下使用的例子
~~~
@EActivity(R.layout.main)
@RoboGuice({AstroListener.class,AnotherListener.class})
public classAstroGirl extends Activity {
@ViewById
EditText edit;
@Inject
GreetingService greetingService;
@Click
void button() {
String name =edit.getText().toString();
greetingService.greet(name);
}
}
public classAstroListener {
@Inject
Context context;
public voiddoSomethingOnResume(@Observes OnResumeEvent onResume) {
Toast.makeText(context,"Activity has been resumed", Toast.LENGTH_LONG).show();
}
}
~~~
2.3.RoboGuice優點
RoboGuice對于Android應用程序有GoogleGuice框架的支持,這意味著我們可以從依賴注入獲得更加的優勢,高內聚,低耦合。
2.4.AndroidAnnotations優點
* 在Android編譯的時候進行注入組件(沒有性能的影響)
* 我們不需要在繼承RoboActivity類了,這意味中我們可以集成任何類了,哪怕這些類不支持RoboGuice。這樣我們就可以更多思考如何擴展我們的基類。
* 支持@Click,@Background,@UiThread,@ItemSelect等等注解。
2.5.@EBean中使用RoboGuice
自AndroidAnnotations2.4起
假設我們現在有一個@EBean注解的組件,現在我們想用RoboGuice來注入一些組件。使用@EActivity注解的Activity允許使用RoboGuice注入。不過現在RoboGuice現在僅支持Activity。從AndroidAnnotations官方發布的消息是:現在他們沒有花很多精力在RoboGuice上面,因為如果要全面支持RoboGuice,那么現在項目需要改動很多地方了。
但是這也不意味著我們不能在@EBean注解的類中使用RoboGuice,你只需要手動進行Guice注入,就和RoboActivity達到一樣的效果啦。使用實例如下:
~~~
@EBean
public class MyBean{
@App
MyRoboApplication application;
@Inject
SomeClass myRoboGuiceDependency;
@AfterInject
void injectRoboGuiceDependencies() {
application.getInjector().injectMembers(this);
}
}
~~~
到此位置關于AndroidAnnotations第三方框架集成之RoboGuice集成已經全部講解完成了。
同時FastDev4Android項目已經添加配置了AndroidAnnotations框架,后期的框架項目中也會主要使用這個DI框架,.歡迎大家去Github站點進行clone或者下載瀏覽:[https://github.com/jiangqqlmj/FastDev4Android](https://github.com/jiangqqlmj/FastDev4Android)?同時歡迎大家star和fork整個開源快速開發框架項目~
- 前言
- Android快速開發框架介紹(一)
- Android首頁圖片自動無限循環輪播Gallery+FlowIndicator(二)
- Android 列表下拉刷新組件PullToRefreshListView使用(三)
- Android 數據緩存器ACache的詳解和使用(四)
- Android崩潰異常捕捉CustomCrash,提升用戶體驗(五)
- Android實現沉浸式狀態欄(六)
- AndroidAnnnotations注入框架介紹和Android Studios基本配置(七)
- AndroidAnnnotations注入框架的工作原理(八)
- AndroidAnnnotations注入框架使用之注入組件Components(九)
- AndroidAnnnotations注入框架使用之Injection標簽詳解(十)
- AndroidAnnnotations注入框架使用之事件綁定Event Binding(十一)
- AndroidAnnnotations注入框架使用之線程處理Threading(十二)
- AndroidAnnnotations注入框架使用之第三方框架集成RoboGuice(十三)
- AndroidAnnnotations注入框架使用之第三方框架集成Otto事件總線(十四)
- AndroidAnnnotations注入框架使用之第三方框架集成OrmLite(十五)
- AndroidAnnnotations注入框架使用之最佳實踐之Adapters和lists(十六)
- AndroidAnnnotations注入框架使用之最佳實踐SharedPreferences(十七)
- Android MVP開發模式詳解(十九)
- 消息總線EventBus的基本使用(二十)
- 消息總線EventBus源碼分析以及與Otto框架對比(二十一)
- 列表頭生成帶文本或者字母的圖片開源庫TextDrawable使用和詳解(二十二)
- 重寫WebView網頁加載以及JavaScript注入詳解(二十三)
- BaseAdapterHelper的基本使用介紹,讓你擺脫狂寫一堆Adapter煩惱(二十四)
- BaseAdapterHelper詳解源碼分析,讓你擺脫狂寫一堆Adapter煩惱(二十五)
- Volley完全解析之基礎使用(二十六)
- Volley完全解析之進階最佳實踐與二次封裝(二十七)
- RecyclerView完全解析,讓你從此愛上它(二十八)
- RecyclerView完全解析之打造新版類Gallery效果(二十九)
- RecyclerView完全解析之結合AA(Android Annotations)注入框架實例(三十)
- RecyclerView完全解析之下拉刷新與上拉加載SwipeRefreshLayout(三十一)
- CardView完全解析與RecyclerView結合使用(三十二)
- 神器ViewDragHelper完全解析,媽媽再也不擔心我自定義ViewGroup滑動View操作啦~(三十三)
- 神器ViewDragHelper完全解析之詳解實現QQ5.X側滑酷炫效果(三十四)
- 實例解析之SwipeRefreshLayout+RecyclerView+CardView(三十五)
- HorizontalScrollView,Fragment,FragmentStatePagerAdapter打造網易新聞Tab及滑動頁面效果(三十六)
- Android Design支持庫TabLayout打造仿網易新聞Tab標簽效果(三十七)
- 打造QQ6.X最新版本側滑界面效果(三十八)