转自:http://my.oschina.net/u/1024921/blog/170588
之前用过这个几次了,而每次都没有记录一下具体的步骤,这次就写一下吧
1、去ShareSDK下载官方的SDK
2、现在他们的服务特别人性化,解压SDK之后会发现有一个"双击此批处理文件可以生成一个快速集成ShareSDK的目录.bat"这样一个文件,打开之后按照提示输入你的应用包名,他就会给你生成一个目录,你直接拷贝到你的项目中就OK了,拷贝进来之后会报错,其实就是R文件报错,在导入R文件包名的时候选择你自己的包名,然后就完事了,clean一下你的工程。
3、在assets目录下有一个ShareSDK.conf的文件,打开,找到你要集成的平台名字,然后APPKEY就不用说了,这里说一下 AppSecret 这个是新浪特有的
SortId="1" 这个是集成的平台的独有ID,int类型的,数字越小越靠前
ShortLinkConversationEnable用来设置此平台是否开启转短链的功能,布尔值,不设置则默认为
true,此字段影响到回流统计,建议保留默认配置
下面是在代码中进行集成
1.首先在你的项目入口的activity的oncreat()方法中,加上ShareSDK.initSDK(this);这句代码是初始化ShareSDK的
2、如果需要统计应用被打开次数,可以在出口activity中的onDestroy()方法的第一行中加入ShareSDK.stopSDK(this);
这行代码会结束Share SDK的统计功能并释放资源。
InitSDK是可以重复调用的,其实Share SDK建议在您不确定的时候调用这个方法,来保证Share SDK被正确初始化。而stopSDK一旦调用了,就必须重新调用InitSDK才能使用Share SDK的功能,否则会出现空指针异常。
1、首先,说一下微信,腾讯的东西真TM不爽,微信这个玩意,非要搞什么签名和包名捆绑,一系列麻烦的东西,下面说一下
1)进入微信开放平台添加Android平台的信息。这些信息包括:下载地址、应用签名和包名。
上图中的下载地址不可以是应用apk文件的直接地址,而报名则是您应用的包名。至于应用签名,事实上您应用签名文件(keystore文件)的MD5值。有多种计算方式:
(1)使用微信提供的签名计算工具,来签名: 如果您希望通过这个方法来计算签名,则需要下载微信的签名计算工具。此处需要注意的是下载回来的文件一定是“apk”的,如果您下载回来的文件是zip或者后缀名,请修改其后缀名为“apk”,并复制到您的手机上安装。 然后为您的应用导出一个签过名的apk。请注意,这个签名应该是您将来发布应用时的签名,也就是所谓的“正式包签名”。这里需要解释一下,微信并不要求具体使用的签名文件的性质,但是修改签名经常会导致问题,所以为了避免不必要的麻烦,Share SDK强烈建议您使用正式包的签名。 安装导出的apk文件,然后运行微信的签名计算工具。并在其中输入您应用的包名,微信会自动计算您应用所签keystore的MD5:转至微信开放平台,将计算好的结果填写到其中并保存。
个人比较推荐这个方法,用eclipse的那种方法会因为eclipse的bug报错
修改授权页标题栏:
在清单文件中修改一下之前插入的授权页activity
主要是修改下面的meta-data
1 |
< activity |
2 |
android:name = "cn.sharesdk.framework.ShareSDKUIShell" |
3 |
android:configChanges = "keyboardHidden|orientation" |
4 |
android:screenOrientation = "portrait" |
5 |
android:theme = "@android:style/Theme.Translucent.NoTitleBar" |
6 |
android:windowSoftInputMode = "stateHidden|adjustResize" > |
7 |
|
8 |
< meta-data android:name = "Adapter" android:value = "com.example.share.MyAdapter" /> |
9 |
</ activity > |
然后重写onCreat方法等。重新定义界面
这里有几个方法会用到:
还有getPlatformName()-获取是哪个平台的授权页,getWebBody(),分享的内容