前沿:
在android開發過程中,往往會需要創建組件層面的第三方包,下面將對android對第三方包支持的方式種類,各試用范圍,優缺點進行總結。最后分析當前開發過程中,一些大的平台的組件實現方式。
1. 導出jar文件方式,實現第三方組件
1.1. 實現過程:
選擇項目--> 點擊右鍵,菜單,選擇Exportà選擇java/JAR -->選擇類和資源文件(推薦只選擇類文件)-->選擇導出文件路徑,導出JAR文件。
1.2. 適用范圍:
合適創建無資源的第三方組件。
補充說明:
包含資源的第三方組件也可以實現,但實現的方式比較繁瑣,且不是標准做法,一般不建議這么做,如需實現,一般用以下兩種方式
【1】 資源放到組件包JAR文件中,類中訪問資源時,通過獲取組件資源的方式
例:ImageIcon image = new ImageIcon(this.class.getResource("icons/logo.gif"));
java.net.URL imgURL = GUITest.class.getResource("/images/Snap1.jpg");
【2】 資源放到組件包JAR文件外,在組件中訪問資源,通過獲取運行環境中的R資源的名稱方式獲取(注意如果直接用組件項目中R類獲取資源的方式時,會有問題,運行 環境會根據資源的int值,在運行的項目中找對應的資源)
1.3. 優缺點:
優點:實時過程簡單,快捷,符合第三方組件的封裝特點
缺點:不能很好的支持資源的封裝
2. 項目library引用方式
2.1. 實現過程:
選擇項目--》 點擊右鍵,菜單,選擇Properties--》選擇Android --》右下方的Library--》選擇Add,添加現有的項目。
2.2. 適用范圍:
在大的項目實施過程中,共享工程中設置資源文件供項目調用
2.3. 優缺點:
優點:
支持資源共享
在Library方式下,組件中的資源會自動生成R文件,在應用項目中,可以直接通過R文件對資源進行引用
缺點:
需要項目之間應用,不適合項目封裝
3. 當前第三方平台組件實現方式
3.1. CNZZ移動統計客戶端組件實現方式:
通過jar文件方式生成組件,在組件中不包含資源文件
3.2. Admob廣告客戶端組件實現方式:
通過jar文件方式生成組件,對涉及到的窗體布局資源,通過代碼強寫完成。
3.3. 微雲游戲平台組件實現的方式:
通過jar文件方式生成組件,資源通過外部導入引用項目中的方式實現。(過程用到了批處理,比較復雜)。
4. 當前我們平台的組件實現的方式
通過jar文件方式,資源也封裝到組件中,通過包的方式去讀取資源。