編輯:關於Android編程
前段時間需要做一個sdk項目,正苦悶用什麼打包方式,要是使用jar打包,jar只能打包class文件,要想把資源文件打包進去
比較麻煩的意見事情,界面不多的話可以使用反射調用,把資源文件都通過這個反射的R引用出來。
String packageName = context.getPackageName(); Class r = null; int id = 0; try { r = Class.forName(packageName + .R); Class[] classes = r.getClasses(); Class desireClass = null; for (int i = 0; i < classes.length; ++i) { if (classes[i].getName().split(\$)[1].equals(className)) { desireClass = classes[i]; break; } } if (desireClass != null) id = desireClass.getField(name).getInt(desireClass);
現在就沒有那麼麻煩了,Android studio給我們提供一種更簡便的方式,可以同時把class和res文件打包進去,現在的support v7 和gson-2.21就是aar打包方式
打包方法:
我們先把想要打包成sdk的項目做成Android libraries B不要建成Android project 然後我們建立一個新的Android project A 去調用寫好的libraries B
運行後,studio就自動把我們的librarys B打包成aar包了,這就是我們想要的sdk了(路徑:libraries Buildoutputsaar)
使用方法:
1、把打好的aar包拷貝到需要引用的Android工程libs目錄下
2、修改Android studio的gradle設置
repositories{ flatDir{ dirs 'libs' } } dependencies { // compile fileTree(dir: 'libs', include: ['*.jar', '*.aar']) compile 'com.android.support:appcompat-v7:19.+' compile project(name':app2',ext:'aar')//導入app2.aar並執行 }
今天在我哥們的帶領下,學習了一些關於ListView的優化方案。現在提出來和大家分享下.... 第一點: 在Listview中數據加載時經常用到的ViewHolder,我
1 Android控件架構1 簡單的總結(1)父View優先攔截當前事件,攔截不成功就讓子View對當前事件進行攔截。(2)如果攔截成功的話,就會沿著子view到父Vie
第7節 TableLayoutTableLayout顧名思義,就是像表格一樣的布局。它是LinearLayout的子類,所以擁有TableLayout的所有屬性。7.1
什麼是MVP?View層主要是用於展示數據並對用戶行為做出反饋。在Android平台上,他可以對應為Activity, Fragment,View