仿京東商城系列13------商品分享(shareSDK)

本項(xiàng)目來自菜鳥窩真友,有興趣者點(diǎn)擊http://www.cniao5.com/course/

項(xiàng)目已經(jīng)做完黄痪,
https://github.com/15829238397/CN5E-shop


仿京東商城系列0------項(xiàng)目簡介
仿京東商城系列1------fragmentTabHost實(shí)現(xiàn)底部導(dǎo)航欄
仿京東商城系列2------自定義toolbar
仿京東商城系列3------封裝Okhttp
仿京東商城系列4------輪播廣告條
仿京東商城系列5------商品推薦欄
仿京東商城系列6------下拉刷新上拉加載的商品列表
仿京東商城系列7------商品分類頁面
仿京東商城系列8------自定義的數(shù)量控制器
仿京東商城系列9------購物車數(shù)據(jù)存儲器實(shí)現(xiàn)
仿京東商城系列10------添加購物車,管理購物車功能實(shí)現(xiàn)
仿京東商城系列11------商品排序功能以及布局切換實(shí)現(xiàn)(Tablayout)
仿京東商城系列12------商品詳細(xì)信息展示(nativie與html交互)
仿京東商城系列13------商品分享(shareSDK)
仿京東商城系列14------用戶登錄以及app登錄攔截
仿京東長城系列15------用戶注冊盔然,SMSSDK集成
仿京東商城系列16------支付SDK集成
仿京東商城系列17------支付功能實(shí)現(xiàn)
仿京東商城系列18------xml文件讀任Υ颉(地址選擇器)
仿京東商城系列19------九宮格訂單展示
仿京東商城系列20------終章


前言

本次將為大家介紹如何向我們的商品詳情頁面添加分享商品功能是嗜。先上效果圖:

商品分享.gif

sharesdk介紹

  • 產(chǎn)品概述

ShareSDK是一種社會化分享組件,為iOS挺尾、Android鹅搪、WP8 的APP提供社會化功能,集成了一些常用的類庫和接口遭铺,縮短開發(fā)者的開發(fā)時(shí)間丽柿,還有社會化統(tǒng)計(jì)分析管理后臺。

  • 主要功能
image.png

ShareSDK在“ShareSDK for Android”目錄下,此目錄中的“Libs”包含“MainLibs”和“OnekeyShare” 分別是ShareSDK的核心庫和“快捷分享”的源碼庫芹扭,說明文檔也在“ShareSDK for Android”目錄下麻顶,供開發(fā)者開發(fā)時(shí)查閱。 “ShareSDK for Android ApiDoc”包含集成API舱卡。
二辅肾、導(dǎo)入ShareSDK
執(zhí)行“ShareSDK for Android”目錄中的“QuickIntegrater.jar”。如下圖輸入輸入項(xiàng)目名稱轮锥、包名矫钓,并勾選所要集成的社交平臺:


詳細(xì)文檔2

點(diǎn)擊“確定”,程序會自動(dòng)搜集集成SDK所需要的jar和資源舍杜。完成以后可以通過復(fù)制目標(biāo)目錄中的文件到您項(xiàng)目中覆蓋
三新娜、配置Android Manifest.xml
不同的集成度需要在AndroidManifest.xml中添加的內(nèi)容不一樣。但是首先您需要添加下面的權(quán)限列表:

<!-- 添加必要的權(quán)限 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.INTERNET" />
<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.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

<!-- 以MobApplication作為項(xiàng)目Application -->
<application
       android:name="com.mob.MobApplication">

       <!-- 其它的activity -->

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

     <intent-filter>
         <data android:scheme="tencent100371282" />
         <action android:name="android.intent.action.VIEW" />
         <category android:name="android.intent.category.BROWSABLE" />
         <category android:name="android.intent.category.DEFAULT" />
     </intent-filter>

    <!-- 調(diào)用新浪原生SDK既绩,需要注冊的回調(diào)activity -->
    <intent-filter>
        <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

    <!--集成line客戶端登錄授權(quán)概龄,需要添如下格式的過濾器-->
    <intent-filter> 
    <data android:scheme="line.1477692153" />
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.BROWSABLE" />
    <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

 </activity>
<!-- 填寫您從Mob開發(fā)者后臺中得到的Appkey和AppSecret -->
<meta-data android:name="Mob-AppKey" android:value="您的AppKey"/>
<meta-data android:name="Mob-AppSecret" android:value="您的AppSecret"/>
</application>

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

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

而如果您的項(xiàng)目集易信的兩個(gè)平臺,請查看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" />

而如果您的項(xiàng)目集支付寶的兩個(gè)平臺救欧,請查看AndroidManifest.xml配置文件里的package路徑需要在package目錄下創(chuàng)建apshare目錄在放置回調(diào)Activity:

<!-- 支付寶分享回調(diào) -->
<activity
    android:name=".apshare.ShareEntryActivity"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:exported="true"/>

而如果您的項(xiàng)目集釘釘?shù)钠脚_衰粹,請查看AndroidManifest.xml配置文件里的package路徑需要在package目錄下創(chuàng)建ddshare目錄在放置回調(diào)Activity:

<!-釘釘分享回調(diào)-->
<activity
   android:name=".ddshare.DDShareActivity"
    android:launchMode="singleInstance"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.VIEW"></action>
        <category android:name="android.intent.category.DEFAULT"></category>
    </intent-filter>
</activity>

這四個(gè)類的路徑是需要根據(jù)您項(xiàng)目的包名來確定,如果路徑錯(cuò)誤笆怠,您將收不到操作回調(diào)铝耻,因此ShareSDK也無法給予您操作回調(diào)。為了避免出錯(cuò)蹬刷,請使用相對路徑的方式田篇,直接復(fù)制上面的代碼到您的AndroidManifest.xml中即可替废。
四、添加代碼
添加配置以后泊柬,就可以調(diào)用授權(quán)椎镣、獲取資料、分享等操作了:

private void showShare() {
     OnekeyShare oks = new OnekeyShare();
     //關(guān)閉sso授權(quán)
     oks.disableSSOWhenAuthorize(); 

    // 分享時(shí)Notification的圖標(biāo)和文字  2.5.9以后的版本不     調(diào)用此方法
     //oks.setNotification(R.drawable.ic_launcher, getString(R.string.app_name));
     // title標(biāo)題兽赁,印象筆記状答、郵箱、信息刀崖、微信惊科、人人網(wǎng)和QQ空間使用
     oks.setTitle(getString(R.string.share));
     // titleUrl是標(biāo)題的網(wǎng)絡(luò)鏈接,僅在人人網(wǎng)和QQ空間使用
     oks.setTitleUrl("http://sharesdk.cn");
     // text是分享文本亮钦,所有平臺都需要這個(gè)字段
     oks.setText("我是分享文本");
     // imagePath是圖片的本地路徑馆截,Linked-In以外的平臺都支持此參數(shù)
     oks.setImagePath("/sdcard/test.jpg");//確保SDcard下面存在此張圖片
     // url僅在微信(包括好友和朋友圈)中使用
     oks.setUrl("http://sharesdk.cn");
     // comment是我對這條分享的評論唁奢,僅在人人網(wǎng)和QQ空間使用
     oks.setComment("我是測試評論文本");
     // site是分享此內(nèi)容的網(wǎng)站名稱框产,僅在QQ空間使用
     oks.setSite(getString(R.string.app_name));
     // siteUrl是分享此內(nèi)容的網(wǎng)站地址,僅在QQ空間使用
     oks.setSiteUrl("http://sharesdk.cn");

    // 啟動(dòng)分享GUI
    oks.show(this);
}

五题翰、混淆設(shè)置
只需要配置如下混淆處理映穗,其他的jar包及onekeyshare代碼不需要特殊處理窖张;

-keep class cn.sharesdk.**{*;}
-keep class com.sina.**{*;}
-keep class **.R$* {*;}
-keep class **.R{*;}
-keep class com.mob.**{*;}
-dontwarn com.mob.**
-dontwarn cn.sharesdk.**
-dontwarn **.R$*

歡迎大家查看官方文檔哪里有詳細(xì)的地址

  • 我的集成
    1.新建一個(gè)library名為ShareSDK。
    2.將下載成功的文件按結(jié)構(gòu)對應(yīng)復(fù)制到新建的ShareSDK中蚁滋。(可以將manifest中的聲明寫入app的manifest中)
    3.給app添加依賴ShareSDK 宿接。

繼承完畢即可使用ShareSDK。詳細(xì)代碼請點(diǎn)擊github地址進(jìn)行查看辕录。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末睦霎,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子走诞,更是在濱河造成了極大的恐慌碎赢,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件速梗,死亡現(xiàn)場離奇詭異,居然都是意外死亡襟齿,警方通過查閱死者的電腦和手機(jī)姻锁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來猜欺,“玉大人位隶,你說我怎么就攤上這事】螅” “怎么了涧黄?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵篮昧,是天一觀的道長。 經(jīng)常有香客問我笋妥,道長懊昨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任春宣,我火速辦了婚禮酵颁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘月帝。我一直安慰自己躏惋,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布嚷辅。 她就那樣靜靜地躺著簿姨,像睡著了一般。 火紅的嫁衣襯著肌膚如雪簸搞。 梳的紋絲不亂的頭發(fā)上扁位,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天,我揣著相機(jī)與錄音攘乒,去河邊找鬼贤牛。 笑死,一個(gè)胖子當(dāng)著我的面吹牛则酝,可吹牛的內(nèi)容都是我干的殉簸。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼沽讹,長吁一口氣:“原來是場噩夢啊……” “哼般卑!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起爽雄,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤蝠检,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后挚瘟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體叹谁,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年乘盖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了焰檩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,696評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡订框,死狀恐怖析苫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤衩侥,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布国旷,位于F島的核電站,受9級特大地震影響茫死,放射性物質(zhì)發(fā)生泄漏跪但。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一璧榄、第九天 我趴在偏房一處隱蔽的房頂上張望特漩。 院中可真熱鬧,春花似錦骨杂、人聲如沸涂身。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛤售。三九已至,卻和暖如春妒潭,著一層夾襖步出監(jiān)牢的瞬間悴能,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工雳灾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留漠酿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓谎亩,卻偏偏與公主長得像炒嘲,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子匈庭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容