Eclipse中Android公共庫的正確建立及呼叫方法
之前一直頭痛於沒有辦法在多個程式中共享資源,用作公共類庫的方法也是使用的匯出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的引用方法,總算將其搞明白了。
相關文章
- 專案中的公共方法呼叫原則及呼叫的前置條件判斷
- Android中Handler的正確使用Android
- 呼叫layui.use中function的正確姿勢UIFunction
- 在 JavaScript 中建立陣列的正確姿勢JavaScript陣列
- MongoDB資料庫的兩種正確停庫方法MongoDB資料庫
- C#方法呼叫追溯:選擇正確的方式,輕鬆找到呼叫者C#
- 如何正確的建立網站網站
- 【微信小程式】正確建立 [雲函式] [login] 的方法微信小程式函式
- 企業正確使用CRM系統的方法及流程
- 【vue系列】封裝公共彈窗元件的正確方式Vue封裝元件
- JavaScript中Array方法你該知道的正確開啟方法JavaScript
- Vue 中 強制元件重新渲染的正確方法Vue元件
- 如何正確實現Java中的hashCode方法Java
- [譯] 論 Android 中 Span 的正確開啟方式Android
- Vue+ElementUI建立全域性元件方法及呼叫VueUI元件
- 使用反射-動態建立物件及呼叫物件方法反射物件
- VS中呼叫DLL動態庫的方法
- PB中建立資料庫的方法資料庫
- 在React ClassComponent中繫結方法的正確姿勢React
- Axios的正確食用方法iOS
- 有效地在 PBootCMS 中呼叫站點資訊,並確保頁面顯示正確boot
- 動態庫的建立和呼叫
- Asp.net中UpdatePanel內FileUpload的正確使用方法ASP.NET
- 在LINUX中安裝WEB SPHERE5.1的正確方法LinuxWeb
- Object中有哪些公共方法及作用Object
- 正確保養電腦硬碟的方法硬碟
- 構建應用程式的正確方法
- C#中dynamic的正確用法C#
- android service,服務的正確姿勢Android
- 正確使用 Android 的 Theme 和 StyleAndroid
- ORACLE mount NFS NAS 正確方法OracleNFS
- 在LINUX中安裝WEB SPHERE5.1的正確方法(轉)LinuxWeb
- 用 PHP 讀取檔案的正確方法PHP
- Vue中強制元件重新渲染的正確方法Vue元件
- Qt程式進入等待睡眠的正確方法QT
- Retrofit中如何正確的使用https?HTTP
- 如何正確的從UI圖中取色UI
- 【轉】C#中dynamic的正確用法C#