欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android ShareSDK快速實現(xiàn)分享功能

 更新時間:2016年02月03日 13:45:59   作者:杰瑞教育  
這篇文章主要介紹了Android ShareSDK快速實現(xiàn)分享功能的相關(guān)資料,需要的朋友可以參考下

第一步 :獲取ShareSDK

  為了集成ShareSDK,您首先需要到ShareSDK官方網(wǎng)站注冊并且創(chuàng)建應(yīng)用,獲得ShareSDK的Appkey,然后到SDK的下載頁面下載SDK的壓縮包,解壓以后可以得到如下圖的目錄結(jié)構(gòu):

  ShareSDK在“ShareSDK for Android”目錄下,此目錄中的“Libs”包含“MainLibs”和“OnekeyShare” 分別是ShareSDK的核心庫和“快捷分享”的源碼庫,說明文檔也在“ShareSDK for Android”目錄下,集成ShareSDK前請務(wù)必仔細閱讀。 “ShareSDK for Android ApiDoc”包含Mainlibs和OnekeyShare的JavaDoc,供開發(fā)者開發(fā)時查閱。 “ShareSDK for Android Sample”包含ShareSDK的功能演示代碼和apk文件,Sample源碼的JavaDoc在中。 “ShareSDK for Android Services”包含ShareSDK已經(jīng)發(fā)布的“插件服務(wù)”,暫時我們只提供了“評論與贊”服務(wù),壓縮包中已經(jīng)提供了此插件服務(wù)的依賴庫、示例代碼、JavaDoc和apk文件。

第二步:導(dǎo)入ShareSDK

ShareSDK集成方式:

1、直接復(fù)制jar包到目標項目libs目錄

  直接復(fù)制jar和資源的方式,可以參考ShareSDK的Sample項目。 使用復(fù)制jar的方法,需要除了復(fù)制MainLibs/libs中的jar外,還需要復(fù)制MainLibs/res中圖片和strings,否則會出現(xiàn)授權(quán)時找不到資源的問題。 而且如果您的項目也集成了快捷分享,還需要復(fù)制OneKeyShare/src中的源碼、OneKeyShare/res中的資源,如果你的項目里沒有android-support-v4的jar需要把OneKeyShare/libs下的android-support-v4的jar到您的項目中。

2、快速生成項目

  由于直接復(fù)制jar包和資源的集成方式比較麻煩,ShareSDK提供了快速集成的程序,在Windows下可以直接雙擊執(zhí)行,完成以后可以通過復(fù)制目標目錄中的文件到您項目中覆蓋就行了。 極大簡化了“直接復(fù)制jar和資源”這種集成方式的操作步驟。 對于你的項目是剛開發(fā)或者想寫一個Demo測試ShareSDK功能,可以使用這種方法快速集成

第三步:添加應(yīng)用信息

  有三種方式

  第一種:在ShareSDK的應(yīng)用管理后臺中配置,使用此方法需要調(diào)用ShareSDK.initSDK(context,你的應(yīng)用在sharesdk注冊時返回的AppKey)方法進行初始化,如果以后更改了注冊信息可以直接從網(wǎng)上更改,而不用重新發(fā)布新版本進行更新。(優(yōu)先級最高)。

  第二種:通過代碼配置“setPlatformDevInfo(String, HashMap<String, Object>)”方法,使用此方法需要調(diào)用ShareSDK.init(context,你的應(yīng)用在sharesdk注冊時返回的AppKey)方法進行初始化。(優(yōu)先級中)。

  第三種:通過“assets/ShareSDK.xml”文件來配置,次方式會以明文存在,但這種方式最為簡單。(優(yōu)先級最低)。

  這三種方式開發(fā)者可以自行選擇,不過這三種設(shè)置方式各有區(qū)別:第一種方式可以實現(xiàn)“動態(tài)配置應(yīng)用信息”的功能,但是一旦脫離網(wǎng)絡(luò),ShareSDK可能無法運作;第三種方式是優(yōu)先級最低的方式,但是它最為方便、集中;最后使用代碼設(shè)置的方式是最靈活的方式,第二種方式開發(fā)者可以在代碼里面寫死應(yīng)用信息,也可以通過私有協(xié)議,從自己的服務(wù)器上動態(tài)獲取應(yīng)用注冊信息,其優(yōu)先級居第一種和第二種之間。 使用ShareSDK.xml配置注冊信息

<ShareSDK AppKey="填寫您在ShareSDK上注冊到的AppKey" />
<SinaWeibo 
SortId="此平臺在您分享列表中的位置,整型,數(shù)值越大越靠后" 
AppKey="填寫您在新浪微博上注冊到的AppKey" 
AppSecret="填寫您在新浪微博上注冊到的AppSecret" 
Id="自定義字段,整型,用于您項目中對此平臺的識別符" 
RedirectUrl="填寫您在新浪微博上注冊的RedirectUrl" 
ShareByAppClient="是否使用客戶端進行分享" 
Enable="布爾值,標記此平臺是否有效" /> 

  ShareSDK.xml以XML格式存儲數(shù)據(jù),每一個平臺一個塊,除了社交平臺外,開發(fā)者在ShareSDK注冊應(yīng)用時得到的Appkey需要填寫在塊“ShareSDK”中,如果此Appkey不是開發(fā)者自己的Appkey,則將來在ShareSDK應(yīng)用后臺的統(tǒng)計數(shù)據(jù)將不正確。ShareSDK的每一個平臺都具備SortId、Id、Enable四個字段,除此之外的字段(如新浪微博的AppKey、AppSecret、RedirectUrl、ShareByAppClient等字段)需要到目標平臺上注冊應(yīng)用以后得到,請正確填寫這些字段的數(shù)據(jù),否則ShareSDK無法完成授權(quán),則后續(xù)的其它操作也將無法執(zhí)行。

  代碼配置注冊信息示例(演示初始化新浪微博配置信息) 因為各個分享平臺可以設(shè)置的配置信息不同,具體分享平臺需要設(shè)置哪些配置信息請參考sample里的ShareSDK.xml配置文件

ShareSDK.initSDK(Context,"你的應(yīng)用在Sharesdk注冊時返回的AppKey"); 
HashMap<String,Object> hashMap = new HashMap<String, Object>(); 
hashMap.put("Id","1"); 
hashMap.put("SortId","1"); 
hashMap.put("AppKey","568898243"); 
hashMap.put("AppSecret","38a4f8204cc784f81f9f0daaf31e02e3"); 
hashMap.put("RedirectUrl","http://www.sharesdk.cn"); 
hashMap.put("ShareByAppClient","true"); 
hashMap.put("Enable","true"); 
ShareSDK.setPlatformDevInfo(SinaWeibo.NAME,hashMap); 

  方法需要在Sharesdk.initSDK()方法后調(diào)用,如果調(diào)用了ShareSDK.stopSDK()需要在ShareSDK.initSDK后重新調(diào)用ShareSDK.setPlatformDevInfo()方法。 關(guān)于應(yīng)用信息不同字段的更詳細解釋,可以參考ShareSDK.xml文件頭部的說明。

第四步:配置AndroidManifest.xml

  不同的集成度需要在AndroidManifest.xml中添加的內(nèi)容不一樣。但是首先您需要添加下面的權(quán)限列表:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="android.permission.INTERNET"/> 

  這些權(quán)限將允許您的項目和ShareSDK判斷當前應(yīng)用是否“前置”、獲取連接網(wǎng)絡(luò)的權(quán)限、獲取您的設(shè)備網(wǎng)絡(luò)狀態(tài)的權(quán)限、實現(xiàn)https安全連接的權(quán)限、讀取手機設(shè)備狀態(tài)的權(quán)限和保存必要配置的權(quán)限。一般來說,即便不集成ShareSDK,大部分的項目也都會注冊申請這些權(quán)限。

  其次,為了授權(quán)操作可以順利完成,需要在application下注冊下面的Activity:

<activity
android:name="com.mob.tools.MobUIShell"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" /> 

  如果您的項目集微信或者微信朋友圈,請查看AndroidManifest.xml配置文件里的package路徑,需要在package目錄下創(chuàng)建wxapi目錄再放置WXEntryActivity。 沒有此activity在微信分享后回調(diào)會檢查是否有此activity,沒有將會報錯。

<activity 
android:name=".wxapi.WXEntryActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar" 
android:configChanges="keyboardHidden|orientation|screenSize" 
android:exported="true" 
android:screenOrientation="portrait" /> 

  而如果您的項目集易信的兩個平臺,請查看AndroidManifest.xml配置文件里的package路徑需要在package目錄下創(chuàng)建yxapi目錄在放置回調(diào)Activity:

<activity 
android:name=".yxapi.YXEntryActivity" 
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize" 
android:exported="true" 
android:screenOrientation="portrait" /> 

  客戶端的操作回調(diào),因此ShareSDK也無法給予您操作回調(diào)。為了避免出錯,請使用相對路徑的方式,直接復(fù)制上面的代碼到您的AndroidManifest.xml中即可。

第五步:添加代碼

  打開您項目的入口Activity,在其onCreate中插入下面的代碼: 如果使用ShareSDK.xml方式配置調(diào)用

ShareSDK.initSDK(this);

  如果使用代碼配置應(yīng)用注冊信息或者應(yīng)用后臺配置應(yīng)用注冊信息,調(diào)用

ShareSDK.initSDK(this,”androidv1101″);

  androidv1101:是你的應(yīng)用在ShareSDK注冊應(yīng)用信息時返回的AppKey。 代碼會初始化ShareSDK,此后對ShareSDK的操作都以此為基礎(chǔ)。如果不在所有ShareSDK的操作之前調(diào)用這行代碼,會拋出空指針異常。

  效果圖:

相關(guān)文章

最新評論