Android註解框架
A. 現如今,Android開發有成熟的框架嗎
1、volley
項目地址 https://github.com/smanikandan14/Volley-demo
(1) JSON,圖像等的非同步下載;
(2) 網路請求的排序(scheling)
(3) 網路請求的優先順序處理
(4) 緩存
(5) 多級別取消請求
(6) 和Activity和生命周期的聯動(Activity結束時同時取消所有網路請求)
2、android-async-http
項目地址:https://github.com/loopj/android-async-http
文檔介紹:http://loopj.com/android-async-http/
(1) 在匿名回調中處理請求結果
(2) 在UI線程外進行http請求
(3) 文件斷點上傳
(4) 智能重試
(5) 默認gzip壓縮
(6) 支持解析成Json格式
(7) 可將Cookies持久化到SharedPreferences
3、Afinal框架
項目地址:https://github.com/yangfuhai/afinal
主要有四大模塊:
(1) 資料庫模塊:android中的orm框架,使用了線程池對sqlite進行操作。
(2) 註解模塊:android中的ioc框架,完全註解方式就可以進行UI綁定和事件綁定。無需findViewById和setClickListener等。
(3) 網路模塊:通過httpclient進行封裝http數據請求,支持ajax方式載入,支持下載、上傳文件功能。
(4) 圖片緩存模塊:通過FinalBitmap,imageview載入bitmap的時候無需考慮bitmap載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象。
FinalBitmap可以配置線程載入線程數量,緩存大小,緩存路徑,載入顯示動畫等。FinalBitmap的內存管理使用lru演算法,
沒有使用弱引用(android2.3以後google已經不建議使用弱引用,android2.3後強行回收軟引用和弱引用,詳情查看android官方文檔),
更好的管理bitmap內存。FinalBitmap可以自定義下載器,用來擴展其他協議顯示網路圖片,比如ftp等。同時可以自定義bitmap顯示器,
在imageview顯示圖片的時候播放動畫等(默認是漸變動畫顯示)。
4、xUtils框架
項目地址:https://github.com/wyouflf/xUtils
主要有四大模塊:
(1) 資料庫模塊:android中的orm框架,一行代碼就可以進行增刪改查;
支持事務,默認關閉;
可通過註解自定義表名,列名,外鍵,唯一性約束,NOT NULL約束,CHECK約束等(需要混淆的時候請註解表名和列名);
支持綁定外鍵,保存實體時外鍵關聯實體自動保存或更新;
自動載入外鍵關聯實體,支持延時載入;
支持鏈式表達查詢,更直觀的查詢語義,參考下面的介紹或sample中的例子。
(2) 註解模塊:android中的ioc框架,完全註解方式就可以進行UI,資源和事件綁定;
新的事件綁定方式,使用混淆工具混淆後仍可正常工作;
目前支持常用的20種事件綁定,參見ViewCommonEventListener類和包com.lidroid.xutils.view.annotation.event。
(3) 網路模塊:支持同步,非同步方式的請求;
支持大文件上傳,上傳大文件不會oom;
支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT請求;
下載支持301/302重定向,支持設置是否根據Content-Disposition重命名下載的文件;
返迴文本內容的請求(默認只啟用了GET請求)支持緩存,可設置默認過期時間和針對當前請求的過期時間。
(4) 圖片緩存模塊:載入bitmap的時候無需考慮bitmap載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象;
支持載入網路圖片和本地圖片;
內存管理使用lru演算法,更好的管理bitmap內存;
可配置線程載入線程數量,緩存大小,緩存路徑,載入顯示動畫等...
5、ThinkAndroid
項目地址:https://github.com/white-cat/ThinkAndroid
主要有以下模塊:
(1) MVC模塊:實現視圖與模型的分離。
(2) ioc模塊:android中的ioc模塊,完全註解方式就可以進行UI綁定、res中的資源的讀取、以及對象的初始化。
(3) 資料庫模塊:android中的orm框架,使用了線程池對sqlite進行操作。
(4) http模塊:通過httpclient進行封裝http數據請求,支持非同步及同步方式載入。
(5) 緩存模塊:通過簡單的配置及設計可以很好的實現緩存,對緩存可以隨意的配置
(6) 圖片緩存模塊:imageview載入圖片的時候無需考慮圖片載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象。
(7) 配置器模塊:可以對簡易的實現配對配置的操作,目前配置文件可以支持Preference、Properties對配置進行存取。
(8) 日誌列印模塊:可以較快的輕易的是實現日誌列印,支持日誌列印的擴展,目前支持對sdcard寫入本地列印、以及控制台列印
(9) 下載器模塊:可以簡單的實現多線程下載、後台下載、斷點續傳、對下載進行控制、如開始、暫停、刪除等等。
(10) 網路狀態檢測模塊:當網路狀態改變時,對其進行檢
6、LoonAndroid
項目地址:https://github.com/gdpancheng/LoonAndroid
主要有以下模塊:
(1) 自動注入框架(只需要繼承框架內的application既可)
(2) 圖片載入框架(多重緩存,自動回收,最大限度保證內存的安全性)
(3) 網路請求模塊(繼承了基本上現在所有的http請求)
(4) eventbus(集成一個開源的框架)
(5) 驗證框架(集成開源框架)
(6) json解析(支持解析成集合或者對象)
(7) 資料庫(不知道是哪位寫的 忘記了)
(8) 多線程斷點下載(自動判斷是否支持多線程,判斷是否是重定向)
(9) 自動更新模塊
(10) 一系列工具類
B. android有沒有關於介紹第三方框架的書籍
這個是不可能有的,第三方的框架大部分都是社區開源的,會不斷的進行維護,就算出一本書出來很快也就會被淘汰,而且第三方社區也都會出文檔的,所以出書的意義不大。以下介紹下常見的開源框架:
Android開發使用的常見第三方框架匯總
Android框架java資料庫通信
1、volley
(1) JSON,圖像等的非同步下載;
(2) 網路請求的排序(scheling)
(3) 網路請求的優先順序處理
(4) 緩存
(5) 多級別取消請求
(6) 和Activity和生命周期的聯動(Activity結束時同時取消所有網路請求)
2、android-async-http
(1) 在匿名回調中處理請求結果
(2) 在UI線程外進行http請求
(3) 文件斷點上傳
(4) 智能重試
(5) 默認gzip壓縮
(6) 支持解析成Json格式
(7) 可將Cookies持久化到SharedPreferences
3、Afinal框架
主要有四大模塊:
(1) 資料庫模塊:android中的orm框架,使用了線程池對sqlite進行操作。
(2) 註解模塊:android中的ioc框架,完全註解方式就可以進行UI綁定和事件綁定。無需findViewById和setClickListener等。
(3) 網路模塊:通過httpclient進行封裝http數據請求,支持ajax方式載入,支持下載、上傳文件功能。
(4) 圖片緩存模塊:通過FinalBitmap,imageview載入bitmap的時候無需考慮bitmap載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象。
FinalBitmap可以配置線程載入線程數量,緩存大小,緩存路徑,載入顯示動畫等。FinalBitmap的內存管理使用lru演算法,
沒有使用弱引用(android2.3以後google已經不建議使用弱引用,android2.3後強行回收軟引用和弱引用,詳情查看android官方文檔),
更好的管理bitmap內存。FinalBitmap可以自定義下載器,用來擴展其他協議顯示網路圖片,比如ftp等。同時可以自定義bitmap顯示器,
在imageview顯示圖片的時候播放動畫等(默認是漸變動畫顯示)。
4、xUtils框架
主要有四大模塊:
(1) 資料庫模塊:android中的orm框架,一行代碼就可以進行增刪改查;
支持事務,默認關閉;
可通過註解自定義表名,列名,外鍵,唯一性約束,NOT NULL約束,CHECK約束等(需要混淆的時候請註解表名和列名);
支持綁定外鍵,保存實體時外鍵關聯實體自動保存或更新;
自動載入外鍵關聯實體,支持延時載入;
支持鏈式表達查詢,更直觀的查詢語義,參考下面的介紹或sample中的例子。
(2) 註解模塊:android中的ioc框架,完全註解方式就可以進行UI,資源和事件綁定;
新的事件綁定方式,使用混淆工具混淆後仍可正常工作;
目前支持常用的20種事件綁定,參見ViewCommonEventListener類和包com.lidroid.xutils.view.annotation.event。
(3) 網路模塊:支持同步,非同步方式的請求;
支持大文件上傳,上傳大文件不會oom;
支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT請求;
下載支持301/302重定向,支持設置是否根據Content-Disposition重命名下載的文件;
返迴文本內容的請求(默認只啟用了GET請求)支持緩存,可設置默認過期時間和針對當前請求的過期時間。
(4) 圖片緩存模塊:載入bitmap的時候無需考慮bitmap載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象;
支持載入網路圖片和本地圖片;
內存管理使用lru演算法,更好的管理bitmap內存;
可配置線程載入線程數量,緩存大小,緩存路徑,載入顯示動畫等...
5、ThinkAndroid
主要有以下模塊:
(1) MVC模塊:實現視圖與模型的分離。
(2) ioc模塊:android中的ioc模塊,完全註解方式就可以進行UI綁定、res中的資源的讀取、以及對象的初始化。
(3) 資料庫模塊:android中的orm框架,使用了線程池對sqlite進行操作。
(4) http模塊:通過httpclient進行封裝http數據請求,支持非同步及同步方式載入。
(5) 緩存模塊:通過簡單的配置及設計可以很好的實現緩存,對緩存可以隨意的配置
(6) 圖片緩存模塊:imageview載入圖片的時候無需考慮圖片載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象。
(7) 配置器模塊:可以對簡易的實現配對配置的操作,目前配置文件可以支持Preference、Properties對配置進行存取。
(8) 日誌列印模塊:可以較快的輕易的是實現日誌列印,支持日誌列印的擴展,目前支持對sdcard寫入本地列印、以及控制台列印
(9) 下載器模塊:可以簡單的實現多線程下載、後台下載、斷點續傳、對下載進行控制、如開始、暫停、刪除等等。
(10) 網路狀態檢測模塊:當網路狀態改變時,對其進行檢
6、LoonAndroid
主要有以下模塊:
(1) 自動注入框架(只需要繼承框架內的application既可)
(2) 圖片載入框架(多重緩存,自動回收,最大限度保證內存的安全性)
(3) 網路請求模塊(繼承了基本上現在所有的http請求)
(4) eventbus(集成一個開源的框架)
(5) 驗證框架(集成開源框架)
(6) json解析(支持解析成集合或者對象)
(7) 資料庫(不知道是哪位寫的 忘記了)
(8) 多線程斷點下載(自動判斷是否支持多線程,判斷是否是重定向)
(9) 自動更新模塊
(10) 一系列工具類
C. android 框架 註解怎麼做
說道註解,竟然還有各種分類,得,這記不住,我們從註解的作用來反推其分類,幫助大家記憶,然後舉例強化大家的記憶,話說註解的作用:
1、標記一些信息,這么說可能太抽象,那麼我說,你見過@Override、@SuppressWarnings等,這類註解就是用於標識,可以用作一些檢驗
2、運行時動態處理,這個大家見得應該最多,在運行時拿到類的Class對象,然後遍歷其方法、變數,判斷有無註解聲明,然後做一些事情。類似上述三篇博文中的做法。
3、編譯時動態處理,這個呢?就是我們今天的主角了,一般這類註解會在編譯的時候,根據註解標識,動態生成一些類或者生成一些xml都可以,在運行時期,這類註解是沒有的~~會依靠動態生成的類做一些操作,因為沒有反射,效率和直接調用方法沒什麼區別~~~
關於3,大家不明白,沒事,下文會詳談,使用這類註解的項目有:ParcelableGenerator、butterknife 、androidannotaion等。
作用談完了,那麼如果你看到一個註解的聲明你如何去判斷他的作用呢?例如:
[java] view plain
@Retention(RetentionPolicy.CLASS)
@Target({ ElementType.FIELD, ElementType.TYPE })
public @interface InjectView
{
int value();
}
1秒鍾告訴我,它的作用是什麼?哈,大家可能會郁悶,擦,我咋知道。其實可以看這個註解上面的@Retention後面的值,設置的為CLASS,說明就是編譯時動態處理的。
D. 開發android app有什麼架構嗎
主要有以下模塊:
(1) JSON,圖像等的非同步下載;
(2) 網路請求的排序(scheling)
(3) 網路請求的優先順序處理
(4) 緩存
(5) 多級別取消請求
(6) 和Activity和生命周期的聯動(Activity結束時同時取消所有網路請求)2、android-async-http
主要有以下模塊:
(1) 在匿名回調中處理請求結果
(2) 在UI線程外進行http請求
(3) 文件斷點上傳
(4) 智能重試
(5) 默認gzip壓縮
(6) 支持解析成Json格式
(7) 可將Cookies持久化到SharedPreferences 3、Afinal框架
主要有四大模塊:
(1) 資料庫模塊:android中的orm框架,使用了線程池對sqlite進行操作。
(2) 註解模塊:android中的ioc框架,完全註解方式就可以進行UI綁定和事件綁定。無需findViewById和setClickListener等。
(3) 網路模塊:通過httpclient進行封裝http數據請求,支持ajax方式載入,支持下載、上傳文件功能。
(4) 圖片緩存模塊:通過FinalBitmap,imageview載入bitmap的時候無需考慮bitmap載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象。4、xUtils框架
主要有四大模塊:
(1) 資料庫模塊:android中的orm框架,一行代碼就可以進行增刪改查;
(2) 註解模塊:android中的ioc框架,完全註解方式就可以進行UI,資源和事件綁定;
(3) 網路模塊:支持同步,非同步方式的請求;
(4) 圖片緩存模塊:載入bitmap的時候無需考慮bitmap載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象;5、ThinkAndroid主要有以下模塊:(1) MVC模塊:實現視圖與模型的分離。
(2) ioc模塊:android中的ioc模塊,完全註解方式就可以進行UI綁定、res中的資源的讀取、以及對象的初始化。
(3) 資料庫模塊:android中的orm框架,使用了線程池對sqlite進行操作。
(4) http模塊:通過httpclient進行封裝http數據請求,支持非同步及同步方式載入。
(5) 緩存模塊:通過簡單的配置及設計可以很好的實現緩存,對緩存可以隨意的配置
(6) 圖片緩存模塊:imageview載入圖片的時候無需考慮圖片載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象。
(7) 配置器模塊:可以對簡易的實現配對配置的操作,目前配置文件可以支持Preference、Properties對配置進行存取。
(8) 日誌列印模塊:可以較快的輕易的是實現日誌列印,支持日誌列印的擴展,目前支持對sdcard寫入本地列印、以及控制台列印
(9) 下載器模塊:可以簡單的實現多線程下載、後台下載、斷點續傳、對下載進行控制、如開始、暫停、刪除等等。
(10) 網路狀態檢測模塊:當網路狀態改變時,對其進行檢6、LoonAndroid 主要有以下模塊:
(1) 自動注入框架(只需要繼承框架內的application既可)
(2) 圖片載入框架(多重緩存,自動回收,最大限度保證內存的安全性)
(3) 網路請求模塊(繼承了基本上現在所有的http請求)
(4) eventbus(集成一個開源的框架)
(5) 驗證框架(集成開源框架)
(6) json解析(支持解析成集合或者對象)
(7) 資料庫(不知道是哪位寫的 忘記了)
(8) 多線程斷點下載(自動判斷是否支持多線程,判斷是否是重定向)
(9) 自動更新模塊
(10) 一系列工具類
E. android 開發框架有哪些
主要總結了7個好用的android 開發框架推薦給你:
一、 Afinal
Afinal是一個Android的ioc,orm框架,內置了四大模塊功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通過finalActivity,我們可以通過註解的方式進行綁定ui和事件。通過finalBitmap,我們可以方便的載入bitmap圖片,而無需考慮oom等問題。通過finalDB模塊,我們一行代碼就可以對android的sqlite資料庫進行增刪改查。通過FinalHttp模塊,我們可以以ajax形式請求http數據。
功能:
一個android的ioc,orm框架,內置了四大模塊功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通過finalActivity,我們可以通過註解的方式進行綁定ui和事件。通過finalBitmap,我們可以方便的載入bitmap圖片,而無需考慮oom等問題。通過finalDB模塊,我們一行代碼就可以對android的sqlite資料庫進行增刪改查。通過FinalHttp模塊,我們可以以ajax形式請求http數據。
優點:功能比較全面,文檔完善,代碼效率比較高。
缺點:沒有項目demo,框架的時間比較久,代碼冗餘比較多(這也是無可避免的),文檔比較老跟不上代碼更新進度。
二、 xUtils
xUtils:可以說是Afinal的升級版。
xUtils 包含了很多實用的android工具。
xUtils 支持大文件上傳,更全面的http請求協議支持(10種謂詞),擁有更加靈活的ORM,更多的事件註解支持且不受混淆影響...
xUitls 最低兼容android 2.2 (api level 8)
三、 ThinkAndroid
ThinkAndroid是一個免費的開源的、簡易的、遵循Apache2開源協議發布的Android開發框架,其開發宗旨是簡單、快速的進行Android應用程序的開發,包含Android
mvc、簡易sqlite orm、ioc模塊、封裝Android
httpclitent的http模塊,具有快速構建文件緩存功能,無需考慮緩存文件的格式,都可以非常輕松的實現緩存,它還基於文件緩存模塊實現了圖片緩存功能,在android中載入的圖片的時候,對oom的問題,和對載入圖片錯位的問題都輕易解決。他還包括了一個手機開發中經常應用的實用工具類,如日誌管理,配置文件管理,android下載器模塊,網路切換檢測等等工具
四、 LoonAndroid
如果你想看ui方面的東西,這里沒有,想要看牛逼的效果這里也沒有。這只是純實現功能的框架,它的目標是節省代碼量,降低耦合,讓代碼層次看起來更清晰。整個框架一部分是網上的,一部分是我改的,為了適應我的編碼習慣,還有一部分像orm完全是網上的組件。在此感謝那些朋友們。
整個框架式的初衷是為了偷懶,之前都是一個功能一個jar,做項目的時候拉進去,這樣對於我來說依然還是比較麻煩。最後就導致我把所有的jar做成了一個工具集合包。
有很多框架都含有這個工具集合里的功能,這些不一定都好用,因為這是根據我個人使用喜歡來實現的,如果你們有自己的想法,可以自己把架包解壓了以後,源碼拉出來改動下。
目前很多框架都用到了註解,除了androidannotations沒有入侵我們應用的代碼以外,其他的基本上都有,要麼是必須繼承框架裡面的activity,要麼是必須在activity的oncreat裡面調用某個方法。
整個框架式不同於androidannotations,Roboguice等ioc框架,這是一個類似spring的實現方式。在整應用的生命周期中找到切入點,然後對activity的生命周期進行攔截,然後插入自己的功能。
五、 KJFrameForAndroid
KJFrameForAndroid 又叫KJLibrary,是一個android的orm 和 ioc
框架。同時封裝了android中的Bitmap與Http操作的框架,使其更加簡單易用;
KJFrameForAndroid的設計思想是通過封裝Android原生SDK中復雜的復雜操作而達到簡化Android應用級開發,最終實現快速而又安全的開發APP。我們提倡用最少的代碼,完成最多的操作,用最高的效率,完成最復雜的功能。
功能:
一個android的orm 和 ioc 框架。同時封裝了android中的Bitmap與Http操作的框架,使其更加簡單易用;
KJFrameForAndroid開發框架的設計思想是通過封裝Android原生SDK中復雜的復雜操作而達到簡化Android應用級開發,最終實現快速而又安全的開發APP。總共分為五大模塊:UILibrary,UtilsLibrary,HttpLibrary,BitmapLibrary,DBLibrary。
六、 dhroid
dhroid 是基於android 平台,
極速開發框架,其核心設計目標是開發迅速、代碼量少、學習簡單、功能強大、輕量級、易擴展.使你更快,更好的開發商業級別應用
功能:
1.Ioc容器: (用過spring的都知道)視圖注入,對象注入,介面注入,解決類依賴關系
2.Eventbus: android平台事件匯流排框架,獨創延時事件,事件管理輕松
3.Dhnet: 網路http請求的解決方案,使用簡單,減少代碼,自帶多種網路訪問緩存策略
4.adapter模塊: 數據綁定輕松,不用寫多餘的adapter,天生網路支持(一行代碼搞定載入,刷新問題)
5.DhDb: android中sqlite的最輕量orm框架(增刪改查輕松搞定)
6.Perference: android自帶Perference 升級版,讓你的Perference更強大,更方便
工具集合 JSONUtil(安全處理json),ViewUtil(數據綁定更快) ThreadWorker(非同步任務工具)...
七、 SmartAndroid
SmartAndroid是一套給
Android開發者使用的應用程序開發框架和工具包。它提供一套豐富的標准庫以及簡單的介面和邏輯結構,其目的是使開發人員更快速地進行項目開發。使用
SmartAndroid可以減少代碼的編寫量,並將你的精力投入到項目的創造性開發上。
功能:
SmartAndroid 擁有全范圍的類庫,可以完成大多數通常需要的APP開發任務,包括:
非同步網路操作相關所有功能、強大的圖片處理操作、輕量級ORM資料庫Sqlite庫、zip操作
、動畫特效、Html等解析採集、事件匯流排EventBus/Otto、Gson(Json)、AQuery、主流所有UI控制項(例如:ActionbarSherlock,SlidingMenu,BottomView,Actionbar,DragListView等10多種UI庫)等。
F. android annnotation 註解框架進行android,有哪位大牛用的比較熟
示例:
@EActivity(R.layout.main)
public class MyActivity extends Activity {
}
@fragment
示例:
@EFragment(R.layout.my_fragment_layout)
public class MyFragment extends Fragment {
}
注冊:
<fragment
android:id="@+id/myFragment"
android:name="com.company.MyFragment_"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
創建:
MyFragment fragment = new MyFragment_();
普通類:
@EBean
public class MyClass {
}
注意:這個類必須僅僅只能有一個構造函數,參數最多有一個context。
Activity中使用:
@EActivity
public class MyActivity extends Activity {
@Bean
MyOtherClass myOtherClass;
}
也可以用來聲明介面:
@Bean(MyImplementation.class)
MyInterface myInterface;
在普通類中還可以注入根環境:
@EBean
public class MyClass {
@RootContext
Context context;
// Only injected if the root context is an activity
@RootContext
Activity activity;
// Only injected if the root context is a service
@RootContext
Service service;
// Only injected if the root context is an instance of MyActivity
@RootContext
MyActivity myActivity;
}
G. studio 3.0.1 androidannotations-api 註解框架問題
AS報錯的地方不一定是真正有錯誤的地方;
他是報無法找到AndroidManifest文件,一般這樣的錯誤你可以看下是否工程內有隱藏的編譯錯誤,
點擊run with --info或者run with --stacktrace再執行一遍,看他真實的報錯的地方
H. 如何打造一個 Android 編譯時註解框架
1、區別:磚混結構屬於砌體結構,框架結構屬於混凝土結構,磚混結構和框架結構為結構形式,砌體結構和混凝土結構為結構體系。 2、砌體結構:以砌體為主製作的結構稱為砌體結構。它包括磚結構、石結構和其它材料的砌塊結構。分為無筋砌體結構和配筋砌體結構。砌體結構在我國應用很廣泛,這是因為它可以就地取材,具有很好的耐久性及較好的化學穩定性和大氣穩定性,有較好的保溫隔熱性能。較鋼筋混凝土結構節約水泥和鋼材,砌築時不需模板及特殊的技術設備,可節約木材。砌體結構的缺點是自重大、體積大,砌築工作繁重。由於磚、石、砌塊和砂漿間粘結力較弱,因此無筋砌體的抗拉、抗彎及抗剪強度都很低。由於其組成的基本材料和連接方式,決定了它的脆性性質,從而使其遭受地震時破壞較重,抗震性能很差,因此對多層砌體結構抗震設計需要採用構造柱、圈樑及其它拉結等構造措施以提高其延性和抗倒塌能力。此外,磚砌體所用粘土磚用量很大,佔用農田土地過多,因此把實心磚改成空心磚,特別發展高孔洞率、高強度、大塊的空心磚以節約材料,以及利用工業廢料,如粉煤灰、煤渣或者混凝土製成空心磚塊代替紅磚等都是今後砌體結構的方向。 3、磚混結構一般指把磚砌體用作內外承重牆或隔牆,樓蓋、屋蓋、梁、柱(也可是磚柱)是鋼筋混凝土作用在牆柱上的荷載,主要是由梁板傳來的屋蓋、樓蓋上的活、恆荷載,它通過牆柱基礎傳到地基。作用在縱牆上的水平荷載(如風荷)一部分直接由縱牆傳給橫牆,另一部分則通過屋蓋和樓蓋傳給橫牆,再由橫牆傳至基礎,最後傳給地基,承重牆的厚度及長度是根據強度和穩定性的要求,通過計算來確定的。 在磚混結構中的梁有門窗過梁、圈樑、雨蓬梁、陽台梁、樓梯梁等,這些梁的長度、配筋和截面尺寸,除圈樑是按構造配筋外,其它都是通過計算設計的,圈樑主要作用是提高房屋空間剛度、增加建築物的整體性,提高磚石砌體的抗剪、抗拉強度,因此圈樑不是承重梁,當圈樑用作過梁時,只在過梁部位按設計配筋,其它部位仍是按構造配筋,有許多把圈樑當作承重梁對待,隨意將圈樑下牆體敲掉,則留下了不安全的隱患。 4、框架結構是指以鋼筋混凝土澆搗成承重樑柱,再用預制的加氣混凝土、膨脹珍珠岩、浮石、蛭石、陶爛等輕質板材隔牆分戶裝配成而的住宅。適合大規模工業化施工,效率較高,工程質量較好。 框架結構由樑柱構成,構件截面較小,因此框架結構的承載力和剛度都較低,它的受力特點類似於豎向懸臂剪切梁,樓層越高,水平位移越慢,高層框架在縱橫兩個方向都承受很大的水平力,這時,現澆樓面也作為梁共同工作的,裝配整體式樓面的作用則不考慮,框架結構的牆體是填充牆,起圍護和分隔作用,框架結構的特點是能為建築提供靈活的使用空間。
I. android studio 安裝了註解框架怎麼使用
參考github上的demo,新建一個project後,會有一個位於app文件夾下的局部build.gradle文件和一個位於根目錄project下的全局build.gradle文件,我們要修改的是局部gradle文件:
1 buildscript {
2 repositories {
3 mavenCentral()
4 }
5 dependencies {
6 // replace with the current version of the Android plugin
7 classpath 'com.android.tools.build:gradle:1.0.0'
8 // the latest version of the android-apt plugin
9 classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
10 }
11 }
12
13 repositories {
14 mavenCentral()
15 mavenLocal()
16 }
17
18 apply plugin: 'com.android.application'
19 apply plugin: 'android-apt'
20 def AAVersion = '3.3-SNAPSHOT' // change this to your desired version, for example the latest stable: 3.2
21
22 dependencies {
23 apt "org.androidannotations:androidannotations:$AAVersion"
24 compile "org.androidannotations:androidannotations-api:$AAVersion"
25 }
26
27 apt {
28 arguments {
29 androidManifestFile variant.outputs[0].processResources.manifestFile
30 // if you have multiple outputs (when using splits), you may want to have other index than 0
31
32 resourcePackageName 'org.androidannotations.gradle'
33
34 // If you're using Android NBS flavors you should use the following line instead of hard-coded packageName
35 // resourcePackageName android.defaultConfig.packageName
36
37 // You can set optional annotation processing options here, like these commented options:
38 // logLevel 'INFO'
39 // logFile '/var/log/aa.log'
40 }
41 }
42
43 android {
44 compileSdkVersion 19
45 buildToolsVersion "21.1.1"
46
47 defaultConfig {
48 minSdkVersion 9
49 targetSdkVersion 19
50 }
51 }
最後再在AndroidManifest.xml中的Activity的名字後面加上 _(下劃線)
然後編譯項目 完成! 如果報錯,請多編譯幾次。編譯按鈕:
J. Android retrofit 註解@QueryMap和@Body的區別
1.使用retrofit這樣框架快一年了,以前使用它傳遞參數時都是用@QueryMap註解傳遞,雖然知道這樣不是很好,但是當時換框架的時候看到工作量太大就沒有換成實體類形式了,之前的使用方式如下圖:
10.從日誌看出來,這才是POST請求參數參數的方式。
總結一下:@QueryMap註解會把參數拼接到url後面,所以它適用於GET請求;@Body會把參數放到請求體中,所以適用於POST請求。
如果你的項目是採用POST請求方式,不管是使用實體類還是使用HashMap最好採用@Body註解。雖然你使用QueryMap
可能也不會有什麼問題(PS:這種共用的情況只適用於POST請求,GET請求不能使用@Body註解,否則會報錯)。