利用外掛程式化技術調用ShareSDK減小應用體積,sharesdk減小
一 引言:
利用ApkPlug外掛程式化架構將ShareSDK組件化,以實現按需動態載入和減小應用體積的目的。
ShareSDK是非常棒的移動社會化分享和評論工具,相信我們在開發應用過程中都離不開它。但是當我們整合ShareSDK時候同樣會遇到一些問題。
1. ShareSDK包比較大,組合國內多家分享平台以後其SDK包的大小應該在1M以上,這對應用來說還是不小的負荷。
2. 整合ShareSDK過程中我們不可避免的需要將它的資源檔複製到應用的res資來源目錄下,這對我們應用後期維護造成不小的幹擾。
基於以上的兩大情況,我想通過ApkPlug架構將ShareSDK整體做成組件,在使用者需要的時候才動態從服務端載入到本地,這樣做很方便的就解決了以上兩個問題。
項目源碼可從這裡下載
二 項目所使用到的開發庫
Apkplugv2.7.5版本 (必須是v2.7.5以上版本,否則無法運行)
Apkplug外掛程式託管服務 v1.8.0版本以上
ShareSDKv2.10.7 (使用的最新版本DEMO)
三 項目目錄結構
ShareSDKMain ---主應用示範DEMO
ShareSDKPlug ---ShareSDK 組件的具體實現
PlugShareSDK1.0.0.jar --組件調用庫
四 使用步驟
五 調用ShareSDK組件
以上步驟配置完成以後即可使用ShareSDK組件了,使用方式非常簡單,以分享功能為例
1.首先初始化ShareSdkAgent (在PlugShareSDK1.0.0.jar包中定義)
ShareSdkAgent agent=new ShareSdkAgent(this,frame.getSystemBundleContext());
2.建立分享資料Bean PlugShareInfo (在PlugShareSDK1.0.0.jar包中定義)
final PlugShareInfo oks=new PlugShareInfo();oks.setAddress("北京市");oks.setTitle("apkplug下sharesdk分享組件功能");oks.setTitleUrl("http://www.apkplug.com");oks.setText("apkplug是android下的模組化架構,ShareSDK是一個非常棒的社會化分享組件,本著不重複造輪子的思想,我們將ShareSDK做成外掛程式。詳情見官網http://www.apkplug.com");//oks.setImagePath(testImage);oks.setImageUrl("http://img.appgo.cn/imgs/sharesdk/content/2013/07/25/1374723172663.jpg");oks.setUrl("http://www.apkplug.com");//oks.setFilePath(testImage);oks.setComment("推薦使用apkplug架構減小應用體積,提供開發效率。");oks.setSite(getString(R.string.app_name));oks.setSiteUrl("http://mob.com");oks.setVenueName("apkplug");oks.setVenueDescription("apkplug是android下的模組化架構!");oks.setLatitude(23.056081f);oks.setLongitude(113.385708f);oks.setDisableSSOWhenAuthorize(false);
3.調用ShareSDK組件進行分享
agent.StatShareSDK(new CheckInitCallBack(){@Overridepublic void onSuccess(PlugShareSDK sharesdk) { //ShareSDK組件已安裝並啟動完成 //執行分享功能sharesdk.showShare(oks);}@Overridepublic void onFailure(int errorNo, String strMsg) {}});
運行DEMO: