每一个平台都少不了的一步,真的的很希望国内有一家公司能像google一样,统治整个IT行业,这样就再也不用去不停的注册不停的申请帐号了,一个google邮箱就够了。
官网地址
相对而言需要填写的信息还是比较少的,甚至连身份证号都没有用到。
登录后,将鼠标移到右上角你的头像上,选择进入后台。shareSDK主要提供四大服务,第一,社会化分享,集成了qq,微信,微博,支付宝,Facebook、Twitte,等多家主流社交平台,第二,短信验证。第三,手机屏幕录制。第四,数据API。
选择一你需要使用的服务创建一个应用。这里我们选择的是第一个,共享服务。
输入应用的名字,选择应用的平台。
创建结束后再次点击第一个ShareSDK,进入应用详情页面。
这里面有很多你创建的这个应用使用当前功能(即分享功能)的情况,包括调用次数,调用时间等。
重要的是app key字段
选择上图中的Download SDK,选择Share SDK。
下载你需要的平台的SDK。这里选择的是android平台
选择你需要集成哪些平台的分享功能。
这里说明一下,shareSDk仅仅是一个框架,而不是完整的产品,所以,每当你集成一个平台的分享功能,你就必须要去该平台注册成为开发者,并创建一个应用,得到一个类似于appid的东西你才能够使用。这里为了简单起见仅集成了QQ分享功能
点击下载,你也可以下载官方的DEMO看看。
下载解压后如下图,由于版本不同或许有所差异。
运行ShareSDK for Android文件夹下的QuickIntegrater.jar文件,需要jdk环境。如果双击无法运行,可以在命令行下进入ShareSDK for Android文件夹,运行下面的命令
java -jar QuickIntegrater.jar
会出现下面的界面,选择你要集成的分享平台
项目名称和包名尽量填你自己的项目名称和包名。然后会在当前目录下生成一个文件夹。
目录结果如下
1. 将shareSDKdemo文件夹下的所有文件复制到项目的src目录下,注意是src文件夹下的所有文件,而不要将src文件夹复制到项目。
2. 将libs下的所有文件复制到项目的libs文件夹下,记得右击然后选择Add as Library。
3. 将res文件夹下的所有文件复制到项目的res文件夹下,注意不要复制整个文件夹
4. 在main文件夹下创建assets文件夹,然后将assets文件夹下的内容复制到项目的assets文件夹下。
最后的结果如下图
添加权限
<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.MANAGE_ACCOUNTS"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
添加集成平台的activity。这里只需要添加一个qq平台。
<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" >
<intent-filter>
<data android:scheme="tencent1105578953" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
intent-filter>
activity>
data android:scheme=”tencent1105578953”其中的值要换成你自己的appid的值
如何获取qq平台的appid
如果你还集成了其他平台的分享功能要添加对应的activity。
在assets文件夹的ShareSDK.xml文件夹内,做如下修改
<ShareSDK AppKey = "16a5ca3b82915"/>
<QZone
Id="3"
SortId="1"
AppId="1105578953"
AppKey="aed9b0303e3ed1e27bae87c33761161d"
Enable="true" />
<QQ
Id="7"
SortId="5"
AppId="1105578953"
AppKey="aed9b0303e3ed1e27bae87c33761161d"
ShareByAppClient="true"
Enable="true" />
如何获取qq平台的appid
直接上代码。一个activity,布局里就一个Button,button的监听方法是shareSDK(View view)。分享功能在shareToQQByShareSDK()方法中实现。
public class MainActivity extends AppCompatActivity {
//shareSDK网站给出的appkey
private static String APP_KEY = "16a5ca3b82915";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ShareSDK.initSDK(this, APP_KEY);
}
public void shareSDK(View view) {
shareToQQByShareSDK();
}
private void shareToQQByShareSDK() {
ShareSDK.initSDK(this);
OnekeyShare oks = new OnekeyShare();
//关闭sso授权
oks.disableSSOWhenAuthorize();
// title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间等使用
oks.setTitle("标题");
// titleUrl是标题的网络链接,QQ和QQ空间等使用
oks.setTitleUrl("http://blog.csdn.net/u013451048");
// text是分享文本,所有平台都需要这个字段
oks.setText("功能测试,请自动忽略");
// imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
//oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片
oks.setImageUrl("http://avatar.csdn.net/C/3/D/1_u013451048.jpg");
// url仅在微信(包括好友和朋友圈)中使用
//oks.setUrl("http://sharesdk.cn");
// comment是我对这条分享的评论,仅在人人网和QQ空间使用
oks.setComment("功能测试:qq空间评论");
// site是分享此内容的网站名称,仅在QQ空间使用
oks.setSite("功能测试:app name");
// siteUrl是分享此内容的网站地址,仅在QQ空间使用
// 启动分享GUI
oks.show(this);
}
}
在配置清单文件中有些activity会报红,提示找不到这个类,还记得在生成jar包时填的一个项目包名么,在你的项目里找找那个包,看看有没有你报红的那个类,然后在清单文件里重新配置一下,把包名写上就好。