<a target="_blank" href="http://www.cnblogs.com/SkyD/archive/2011/09/01/2161502.html">Eclipse中Android公共庫的正确建立及調用方法</a>
引言
之前一直頭痛于沒有辦法在多個程式中共享資源,用作公共類庫的方法也是使用的導出jar再導入的辦法,現在終于初步搞明白了,可算解脫了~,分享出來。
建立公共庫
首先建立公共庫的Android項目,名為MyCoreLib:
完成後在左側包浏覽器裡右鍵點選我們建立的這個項目,選擇Properties項:
左側選擇Android分類,右側勾選Is Library選項:
完成後在包資料總管中删除預設生成的資源,以避免以後被引用時沖突:
打開AndroidManifest.xml,删除下圖中紅色部分代碼:
添加測試用資源
至此初始的空庫就建立完成了,現在我們來添加一個資源以供其他程式使用,我在這裡僅添加了一個名為libName的字元串資源:
建立測試項目并引入公共庫
現在建立一個名為LibTest的項目來嘗試調用公共庫:
還是右鍵點選項目,選擇Properties:
還是左邊選擇Android分類,右邊點選Add按鈕選擇以添加MyCoreLib類庫到項目:
完成後即添加到項目中來了:
此時還能看到gen目錄下也已經有MyCoreLib的包名及其資源ID了:
但此時你會發現字元串資源裡莫名其妙多出兩個之前已經删除的資源,這其實是因為此時已将引用的資源與程式預設包裡的資源混編在一起了,你可以看到上面預設包裡的資源ID和下面這裡也是一模一樣的。
換言之,你可以以使用本地資源的方式直接調用引用來的資源。
測試調用公共庫的資源
比如在AndroidManifest.xml裡這樣修改:
在java代碼中也同樣是使用調用預設資源的方式直接調用即可,當然也可以顯示加入公共庫的包名以調用;但加入顯示包名的方法在XML檔案中行不通,多次嘗試都提示找不到資源,也就是說在XML中隻能以調用預設包資源的方式調用公共庫資源。
編譯并運作效果:
可以看到之前我們在公共庫中設定的資源内容被正确顯示出來了。
結語
這種調用方式不隻是使資源調用成為可能,公共代碼在編輯起來也比jar方式友善許多,非常實用。
之前網上尋找此方法許久都沒獲知,此時突然想起參考Scoreloop的引用方法,總算将其搞明白了。