安卓一键分享的第三方集成

1.ShareSDK的介绍

  Sharesdk是第三方Mob移动服务平台提供的一个一键分享的SDK;有了ShareSDK,我们集成各个平台的分享功能的开发效率明显的提高了很多。接下来,就为大家讲解一下关于ShareSDK的技术重点,在经过一天半的探索,终于还是摸出了些许门道,在此分享给各位伙伴!

2.ShareSDK的使用

1.首先登陆Mob官网注册,官网地址:http://www.mob.com

2.进入个人后台页面,点击ShareSDK的项目。


3.选择你要勾选的分享平台,然后进行ShareSDK的下载

4.下载完之后,在解压文件夹里有一个快速集成工具QuickIntergrater.jar


5.在点击集成工具之前,必须保证自己的Java环境已经配置Ok了,然后双击,会出现如下界面:


6.在上步确定之后,会自动生成一个与 项目名相同的文件夹


7.打开文件夹,会有四个文件


8.把四个文件对应的复制到自己的工程中(在这里我强调一下,assets复制在main目录下,res覆盖工程res目录,libs覆盖libs目录,src覆盖src目录,很多资料直接粗略的说把这四个文件拷贝到工程,然而怎么个拷贝法并没有说清楚,当然拷贝方法不唯一,仅个人喜好)


9.配置清单文件manifest

权限配置:

[java]  view plain  copy
  1. "android.permission.GET_TASKS" />  
  2.    "android.permission.INTERNET" />  
  3.    "android.permission.ACCESS_WIFI_STATE" />  
  4.    "android.permission.ACCESS_NETWORK_STATE" />  
  5.    "android.permission.CHANGE_WIFI_STATE" />  
  6.    "android.permission.WRITE_EXTERNAL_STORAGE" />  
  7.    "android.permission.READ_PHONE_STATE" />  
  8.    "android.permission.MANAGE_ACCOUNTS"/>  
  9.    "android.permission.GET_ACCOUNTS"/>  
  10.      
  11.    "android.permission.BLUETOOTH" />  
  12.    "android.permission.BLUETOOTH_ADMIN" />  
各平台的回调activity注册:

[java]  view plain  copy
  1.            android:name="com.mob.tools.MobUIShell"  
  2.            android:theme="@android:style/Theme.Translucent.NoTitleBar"  
  3.            android:configChanges="keyboardHidden|orientation|screenSize"  
  4.            android:screenOrientation="portrait"  
  5.            android:windowSoftInputMode="stateHidden|adjustResize" >  
  6.   
  7.              
  8.                "tencent1105665723" />  
  9.                "android.intent.action.VIEW" />  
  10.                "android.intent.category.BROWSABLE" />  
  11.                "android.intent.category.DEFAULT" />  
  12.              
  13.   
  14.              
  15.              
  16.                "com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />  
  17.                "android.intent.category.DEFAULT" />  
  18.              
  19.          
  20.          
  21.        
  22.            android:name="cn.sharesdk.onekeyshare.wxapi.WXEntryActivity"  
  23.            android:theme="@android:style/Theme.Translucent.NoTitleBar"  
  24.            android:configChanges="keyboardHidden|orientation|screenSize"  
  25.            android:exported="true"  
  26.            android:screenOrientation="portrait" />  
这里注意一下,你在你自己的工程里用了什么平台,就要对其注册回调activity
10.打开ShareSDK.xml,对其中的app id 和app secret进行分平台配置

[java]  view plain  copy
  1.         AppKey = "17b711d0d5064"/>   
  2.       
  3.       
  4.     
  5.         Id="1"  
  6.         SortId="1"  
  7.         AppKey="2196164667"  
  8.         AppSecret="288681da98ec0fcc75eabf3eb2b34f43"  
  9.         RedirectUrl="http://www.baidu.com"  
  10.         ShareByAppClient="true"  
  11.         Enable="true" />  
  12.     
  13.         Id="2"  
  14.         SortId="2"  
  15.         AppId="1105665723"  
  16.         AppKey="YB7oxWLlbNCQKmSd"  
  17.         ShareByAppClient="true"  
  18.         Enable="true" />  
  19.       
  20.       
  21.     
  22.         Id="3"  
  23.         SortId="3"  
  24.         AppId="wxdb0f7a71c883b423"  
  25.         AppSecret="daecf556b42463ce11c2421f9570cac7"  
  26.         BypassApproval="true"  
  27.         Enable="true" />  
  28.     
  29.         Id="4"  
  30.         SortId="4"  
  31.         AppId="wxdb0f7a71c883b423"  
  32.         BypassApproval="true"  
  33.         Enable="true" />  
  34.     
  35.         Id="5"  
  36.         SortId="5"  
  37.         AppId="wxdb0f7a71c883b423"  
  38.         Enable="true" />  
  39.       

这里就必须到各个平台的开发者平台注册,并创建自己项目应用,并复制到ShareSDK.xml中,这里我列举几个常用的而开发者平台网址:

新浪微博        http://open.weibo.com
腾讯微博        http://dev.t.qq.com
QQ空间          http://connect.qq.com/intro/login/
微信好友        http://open.weixin.qq.com
Facebook       https://developers.facebook.com
Twitter        https://dev.twitter.com
人人网          http://dev.renren.com
开心网          http://open.kaixin001.com
搜狐微博        http://open.t.sohu.com
网易微博        http://open.t.163.com
豆瓣           http://developers.douban.com
11.最后就是撸我们的分享代码了

[java]  view plain  copy
  1. public class MainActivity extends AppCompatActivity {  
  2.     Button shareBtn;  
  3.     @Override  
  4.     protected void onCreate(Bundle savedInstanceState) {  
  5.         super.onCreate(savedInstanceState);  
  6.         ShareSDK.initSDK(this);  
  7.         setContentView(R.layout.activity_main);  
  8.         shareBtn = (Button) findViewById(R.id.shareBtn);  
  9.         shareBtn.setOnClickListener(new View.OnClickListener() {  
  10.             @Override  
  11.             public void onClick(View view) {  
  12.                 OnekeyShare oks = new OnekeyShare();  
  13.                 oks.setTitle("趣分享");  
  14.                 oks.setText("我为技术带盐,我骄傲,我自豪");  
  15.                 oks.setImageUrl("http://7sby7r.com1.z0.glb.clouddn.com/CYSJ_02.jpg");  
  16.                 oks.setTitleUrl("http://wwww.baidu.com");  
  17.                 oks.show(MainActivity.this);  
  18.             }  
  19.         });  
  20.     }  
  21.   
  22.     @Override  
  23.     protected void onDestroy() {  
  24.         super.onDestroy();  
  25.         ShareSDK.stopSDK(this);  
  26.     }  
  27. }  
在这里,我们的的一键分享功能就大功告成了,第三方万岁!!!

3.ShareSDK使用重点

虽说第三方方便,快捷,强大的帮助了开发者,但是其中也有很多坑的!卧槽,坑死爹了,官方文档写的什么玩意儿呀,这里我将把我自己遇到的坑提出来,方便以后大家不填坑。

1.集成新浪微博分享时,创建的应用必须要与自己的工程名一致。

2.在清单文件中的qq配置要加上自己的腾讯应用id

[java]  view plain  copy
  1.   
  2.     "tencent1105665723" />  
  3.     "android.intent.action.VIEW" />  
  4.     "android.intent.category.BROWSABLE" />  
  5.     "android.intent.category.DEFAULT" />  
  6.   
3.在MaiinActivity中,记住最后要结束ShareSDK,不关闭会蹦出不知名的错误,加上为好。

[java]  view plain  copy
  1. @Override  
  2. protected void onDestroy() {  
  3.     super.onDestroy();  
  4.     ShareSDK.stopSDK(this);  
  5. }  
4.对OneKeyShare类的了解


5.对于微信分享集成又稍微繁琐点,它创建应用时要进行应用签名,官方提供了微信签名工具,这里在签名生成应用签名之前,必须提前把工程运行一次,这样工具才能检测到你自己的应用包名。如果是第一次创建微信应用的话,审核比较坑,说让你等七天,我也是醉了。所以,微信这块的app id 和app secret,我无法得到,只能做一些绕过审核的简单分享,仅支持图片和文字。

你可能感兴趣的:(学习笔记)