→ ssccg: jar沒有包資源檔,要用aar 05/09 14:15
→ ssccg: 不然就像Eclipse的用法一樣加個module啊 05/09 14:16
是這樣的 我有用過其他第三方的jar檔,是直接可以呼叫的jar資料庫,
我們上頭是希望我能做出一個類似功能和使用方法的東西,
只是不知道為什麼我再呼叫這樣的 R.layout 就會叫不出來....
setContentView(R.layout.login_auto);
是不是有需要改寫些什麼??
→ ssccg: jar的資料庫是? jar只能放class和java resource 05/09 14:39
→ ssccg: 不能放android resource 05/09 14:39
→ freedom74569: Android resource可以打包成.aar就可用View/Activiy 05/09 15:37
→ mshockwave: android res 要用 .aar 05/09 16:14
請問是一定要使用.aar嗎?
我目前是使用第三方的支付SDK(中國的支付寶alipaySdk.jar和微信支付libammsdk.jar)
裡面使用的也只是jar檔就可以調用activity
請問這是怎麼實作的呢??
※ 編輯: euph (122.219.138.142), 05/09/2016 17:23:20
→ ssccg: 不要包android res,View都用程式碼產生,string都寫死就 05/09 19:46
→ ssccg: 可以,也可以只包Webview用server端去做UI 05/09 19:52
→ ssccg: 調用activity跟用res是兩回事,當然只用jar的話也不會有 05/09 20:06
→ ssccg: manifest所以還要叫用的人自己在manifest加宣告 05/09 20:06
原來如此!!! 我用那些jar的時候是需要另外在manifest裡加上activity的宣告
所以我的view直接寫死在程式碼裡也是一個方法,
那我還有用過一家的第三方jar是需要把res底下的layout, string等等
複製到自己專案裡,再讓jar去引用的,這個作法又是怎麼實作的呢?
像是在jar裡面的setContentView(R.layout.login_auto);
是有需要改寫成什麼樣子呢? 或是要加入classpath之類的嗎?
※ 編輯: euph (122.219.138.142), 05/10/2016 09:23:02
自己回答這個蠢問題
將所有的res都搬去外面大的專案目錄之後
使用 getResources().getIdentifier 來取得ID就可以引用了
也就是原本的在library裡面的 setContentView(R.layout.login_auto);
改寫成這樣:
setContentView(getResources().getIdentifier("login_auto", "layout",
getPackageName()));
OK~ 結案!!!
※ 編輯: euph (122.219.138.142), 05/17/2016 10:39:05