導航:首頁 > 操作系統 > android註解使用

android註解使用

發布時間:2023-09-10 15:25:40

android中的常用框架有哪些

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顯示圖片的時候播放動畫等(默認是漸變動畫顯示)。

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內存;
可配置線程載入線程數量,緩存大小,緩存路徑,載入顯示動畫等...

❷ Android-ARouter原理解析

ARouter使用的是APT(Annotation Processing Tool)註解處理器,通過給對應的類添加註解,在編譯器動態生成對應的路由表文件。這里以分析ARouter的RouteProcessor。在ARouter的使用配置上,需要給base庫配置

然後給每個組件都配置annotationProcessor,如果使用kotlin,則使用kapt
接著給每個組件都配置上下面的內容:

這個配置主要是通過這個annotationProcessorOptions獲取到key為AROUTER_MODULE_NAME的值,這個值其實就是mole的name,這個的作用就是作為一個Root文件的命名的,因為一個mole中可能會有多個group,而多個group歸屬於一個Root,而ARouter的做法就是將一個mole作為一個Root。

Element 是一個介面,它只在編譯期存在和Type有區別,表示程序的一個元素,可以是package,class,interface,method,成員變數,函數參數,泛型類型等。

它的子類包括ExecutableElement, PackageElement, Parameterizable, QualifiedNameable, TypeElement, TypeParameterElement, VariableElement。

Element的子類介紹:

ExecutableElement:表示類或者介面中的方法,構造函數或者初始化器。

PackageElement :表示包程序元素

TypeELement:表示一個類或者介面元素

TypeParameterElement:表示類,介面,方法的泛型類型例如T。

VariableElement:表示欄位,枚舉常量,方法或者構造函數參數,局部變數,資源變數或者異常參數。

Element只在編譯期可見

asType(): 返回TypeMirror,TypeMirror是元素的類型信息,包括包名,類(或方法,或參數)名/類型。TypeMirror的子類有ArrayType, DeclaredType, DisjunctiveType, ErrorType, ExecutableType, NoType, NullType, PrimitiveType, ReferenceType, TypeVariable, WildcardType ,getKind可以獲取類型。

equals(Object obj): 比較兩個Element利用equals方法。

getAnnotation(Class<A> annotationType): 傳入註解可以獲取該元素上的所有註解。

getAnnotationMirrors(): 獲該元素上的註解類型。

getEnclosedElements(): 獲取該元素上的直接子元素,類似一個類中有VariableElement。

getEnclosingElement(): 獲取該元素的父元素,如果是PackageElement則返回null,如果是TypeElement則返回PackageElement,如果是TypeParameterElement則返回泛型Element

getKind():返回值為ElementKind,通過ElementKind可以知道是那種element,具體就是Element的那些子類。

getModifiers(): 獲取修飾該元素的訪問修飾符,public,private。

getSimpleName(): 獲取元素名,不帶包名,如果是變數,獲取的就是變數名,如果是定義了int age,獲取到的name就是age。如果是TypeElement返回的就是類名。

getQualifiedName():獲取類的全限定名,Element沒有這個方法它的子類有,例如TypeElement,得到的就是類的全類名(包名)。

具體的註解處理流程如下:

首先,看下屬性註解處理器生成的文件示例:

AutowiredProcessor這個註解處理器的目的,就是通過這個註解處理器給對應的類中的屬性進行賦值的操作。
AutowiredProcessor註解處理器流程:

❸ Android註解@TargetApi和@RequiresApi什麼意思

這個是android帶的lint工具提示的,lint官方的說法是 Improving Your Code with lint,應該是幫助提升代碼的 ,如果不想用的話,可以右鍵點工程,然後在android tools 中,選擇 clear lint marker 就沒有這個錯誤了

閱讀全文

與android註解使用相關的資料

熱點內容
江蘇螺桿壓縮機 瀏覽:973
android底部彈出對話框 瀏覽:492
怎麼查伺服器同行fc號 瀏覽:991
什麼伺服器雲鳥最便宜 瀏覽:214
vs編譯器反匯編 瀏覽:567
程序員直播做項目創業 瀏覽:401
linux下samba配置 瀏覽:795
程序員面試銀行崗位會有編制嗎 瀏覽:412
ex表怎麼加密碼保護 瀏覽:170
小孩上編程課用哪款好 瀏覽:556
如何製作伺服器商店 瀏覽:734
壓縮氣管閥門 瀏覽:464
pdf推文 瀏覽:358
69程序員 瀏覽:581
阿里雲伺服器鏡像如何遷移到騰訊 瀏覽:989
安卓如何顯示日期在狀態欄 瀏覽:805
cadsplt這個命令用不了 瀏覽:467
安卓誇克怎麼取消監管 瀏覽:664
pdf怎麼裁剪圖片 瀏覽:440
黑上宏命令 瀏覽:648