android中ShareSDK使用步驟

第一步 :獲取ShareSDK

爲了集成ShareSDK,您首先需要到ShareSDK官方網站註冊並且創建應用,獲得ShareSDK的Appkey,然後到SDK的下載頁面下載SDK的壓縮包,解壓以後可以得到如下圖的目錄結構:

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

第二步:導入ShareSDK

ShareSDK有三種集成方式:

1、直接複製jar包到目標項目libs目錄 直接複製jar和資源的方式,可以參考ShareSDK的Sample項目。 使用複製jar的方法,需要除了複製MainLibs/libs中的jar外,還需要複製MainLibs/res中圖片和strings,否則會出現授權時找不到資源的問題。 而且如果您的項目也集成了快捷分享,還需要複製OneKeyShare/src中的源碼、OneKeyShare/res中的資源,如果你的項目裏沒有android-support-v4的jar需要把OneKeyShare/libs下的android-support-v4的jar到您的項目中。

2、快速生成項目

詳細文檔2

由於直接複製jar包和資源的集成方式比較麻煩,ShareSDK提供了快速集成的程序,在Windows下可以直接雙擊執行,或Linux/Mac OS下通過終端啓動執行 這個程序會自動蒐集集成SDK所需要的jar和資源,完成以後可以通過複製目標目錄中的文件到您項目中覆蓋就行了。 極大簡化了“直接複製jar和資源”這種集成方式的操作步驟。 對於你的項目是剛開發或者想寫一個Demo測試ShareSDK功能,可以使用這種方法快速集成

3、項目引用 下面演示如何通過項目引用的方式集成ShareSDK: 1)將ShareSDK下的Libs目錄解壓,然後在Eclipse中,選擇“File”->“Import”,並選擇“Existing Projects into Workspace”:

詳細文檔3

並在“下一步”的頁面中,選擇上文的解壓目錄:

詳細文檔4點擊“確定”,Eclipse會自動找到“OnekeyShare”、“Sample”、“ShareSDK(即MainLibs)”、“Socialization(即評論與讚的依賴項目)”和“SocializationSample”目錄下的兩個項目。

如果您不需要快捷分享功能,可以取消OneKeyShare項目的勾選,如果您不需要集成評論與贊服務,可以取消Socializaion項目的勾選。否則請按“確定”,導入項目。 下面簡單說明MainLibs和OnekeyShare的集成,Socializaion的集成類似於OnekeyShare,將在後文詳細說明。 2)被導入的三個項目默認是“Is Labrary”的,而且OneKeyhare也默認引用了ShareSDK(即MainLibs),所以您並不需要爲這兩個項目做更多的設置。但是如果您修改了它們的相對路徑,使之不在同一目錄下,則需要手動修改其引用方式。具體操作和下面步驟類似。 3)右鍵您的項目,選擇“properties”。在彈出的窗口左側選擇“Android”,然後轉至右下側的“Library”中點擊“Add”,分別選擇“MainLibs”和“OneKeyhare”,然後保存設置,退出屬性窗口。

詳細文檔5

完成上述步驟,“刷新”並“清理”一下您的項目 若提示錯誤 解決辦法:Onekeyshare和Sharesdk在項目的根目錄裏的project.properties配置文件裏設置了target=android-8,如果沒有此版本的Adnroid SDK請修改你有的Android SDK版本後保存。項目的編碼格式爲UTF-8。

接下來就是配置不同平臺的應用信息和註冊授權以及快捷分享的Activity了。 對於1.2.0以前已經集成ShareSDK,現在要升級的開發者,可以參考“複製jar和資源文件”的方式來升級SDK,也可以將您libs中對ShareSDK所引用的jar刪除,然後依照上述的步驟重新引用。由於ShareSDK 2.x並不兼容1.x的版本,因此會有一些代碼需要改動。主要的修改原則是將所有包含“Weibo”名稱的字段和方法,以“Platform”來替換;AbstractWeibo被拆分爲兩個,對於ShareSDK而言的靜態方法被分配到類ShareSDK中,其他的和具體平臺操作有關的成員,被分配到類Platform中。更多的詳細內容,可以參考我們Wiki上的升級指南。 ShareSDK的快捷分享只提供源碼,並沒有編譯好的jar。MainLibs的libs目錄中包含的是ShareSDK的核心類庫,不同的jar對應不同的平臺,其對應關係可以參考後文的平臺對應列表。對於大部分的開發者,這些平臺並不都是需要的,這時候可以直接刪除此目錄下不需要平臺的jar包即可,直到後續需求變更,需要添加新的平臺,再複製新平臺的jar到此目錄下就行了。

第三步:添加應用信息

有三種方式 第一種:在ShareSDK的應用管理後臺中配置,使用此方法需要調用ShareSDK.initSDK(context,你的應用在sharesdk註冊時返回的AppKey)方法進行初始化,如果以後更改了註冊信息可以直接從網上更改,而不用重新發布新版本進行更新。(優先級最高)。 第二種:通過代碼配置“setPlatformDevInfo(String, HashMap<String, Object>)”方法,使用此方法需要調用ShareSDK.init(context,你的應用在sharesdk註冊時返回的AppKey)方法進行初始化。(優先級中)。 第三種:通過“assets/ShareSDK.xml”文件來配置,次方式會以明文存在,但這種方式最爲簡單。(優先級最低)

這三種方式開發者可以自行選擇,不過這三種設置方式各有區別:第一種方式可以實現“動態配置應用信息”的功能,但是一旦脫離網絡,ShareSDK可能無法運作;第三種方式是優先級最低的方式,但是它最爲方便、集中;最後使用代碼設置的方式是最靈活的方式,第二種方式開發者可以在代碼裏面寫死應用信息,也可以通過私有協議,從自己的服務器上動態獲取應用註冊信息,其優先級居第一種和第二種之間。 使用ShareSDK.xml配置註冊信息示例

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

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

方法需要在Sharesdk.initSDK()方法後調用,如果調用了ShareSDK.stopSDK()需要在ShareSDK.initSDK後重新調用ShareSDK.setPlatformDevInfo()方法。 關於應用信息不同字段的更詳細解釋,可以參考ShareSDK.xml文件頭部的說明。

第四步:配置AndroidManifest.xml

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

這些權限將允許您的項目和ShareSDK判斷當前應用是否“前置”、獲取連接網絡的權限、獲取您的設備網絡狀態的權限、實現https安全連接的權限、讀取手機設備狀態的權限和保存必要配置的權限。一般來說,即便不集成ShareSDK,大部分的項目也都會註冊申請這些權限。

其次,爲了授權操作可以順利完成,需要在application下注冊下面的Activity: ShareSDKUIShell的路徑是固定的,一定要在“cn.sharesdk.framework”下,因爲它在Share-Core中。

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

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

這兩個類的路徑是需要根據您項目的包名來確定,如果路徑錯誤,您將收不到微信和易信客戶端的操作回調,因此ShareSDK也無法給予您操作回調。爲了避免出錯,請使用相對路徑的方式,直接複製上面的代碼到您的AndroidManifest.xml中即可

第五步:添加代碼

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

ShareSDK.initSDK(this);

如果使用代碼配置應用註冊信息或者應用後臺配置應用註冊信息,調用

ShareSDK.initSDK(this,”androidv1101″);

androidv1101:是你的應用在ShareSDK註冊應用信息時返回的AppKey。 代碼會初始化ShareSDK,此後對ShareSDK的操作都以此爲基礎。如果不在所有ShareSDK的操作之前調用這行代碼,會拋出空指針異常

完成SDK初始化以後,就可以調用授權、獲取資料、分享等操作了,詳細的使用方法,請參考:

1、授權與取消授權

2、獲取授權用戶資料

3、第三方登陸

4、任意api調用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章