如何将sharesdk如何解压组件化

吴雨声 的BLOG
用户名:吴雨声
文章数:131
评论数:178
访问量:74062
注册日期:
阅读量:3219
阅读量:15077
51CTO推荐博文
& & 网站分享比较简单的一句js就可以了,但是手机就没有这么简单了,要有点小复杂,刚学Android两个月了,也再用第三方的Android开发组件,现在介绍给大家sharesdk。直接上代码!!& &&&/Download进入ShareSDK解压目录,打开“Share SDK for Android”目录,可以找到“QuickIntegrater.jar”,这个就是快速集成ShareSDK的工具首先确定已经安装了JDK,并且正确配置了JAVA_HOME和PATH系统变量,此时可以双击QuickIntegrater启动程序同样需要先确保已经正确配置了JDK,之后启动终端,cd进入“Share SDK for Android”目录,输入:&java -jar QuickIntegrater.jar&可启动QuickIntegrater正确输入项目的名称和包名,勾选需要的集成的平台,然后点击“确定”。QuickIntegrater会自行产生一个目录,复制此目录中的文件到您的项目中覆盖即可。1、添加权限&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"/&
2、添加activity信息
&&android:name="cn.sharesdk.framework.ShareSDKUIShell"
&&android:theme="@android:style/Theme.Translucent.NoTitleBar"
&&android:configChanges="keyboardHidden|orientation|screenSize"
&&android:screenOrientation="portrait"
&&android:windowSoftInputMode="stateHidden|adjustResize"&&
&&&&intent-filter&
&&&&&&&&&data&android:scheme="tencent"&/&
&&&&&&&&&action&android:name="android.intent.action.VIEW"&/&
&&&&&&&&&category&android:name="android.intent.category.BROWSABLE"&/&
&&&&&&&&&category&android:name="android.intent.category.DEFAULT"&/&
&&&&&/intent-filter&
&/activity&
3、如果您集成了微信或者易信,还需要添加下面两个Activity
&!--微信分享回调&--&
&&android:name=".wxapi.WXEntryActivity"
&&android:theme="@android:style/Theme.Translucent.NoTitleBar"
&&android:configChanges="keyboardHidden|orientation|screenSize"
&&android:exported="true"
&&android:screenOrientation="portrait"&/&
&!--易信分享回调&--&
&&android:name=".yxapi.YXEntryActivity"
&&android:theme="@android:style/Theme.Translucent.NoTitleBar"
&&android:configChanges="keyboardHidden|orientation|screenSize"
&&android:exported="true"
&&android:screenOrientation="portrait"&/&在您的代码中调用此方法,即可打开一键分享功能进行分享&&&Private&void&showShare()&{
&&&&&&&&ShareSDK.initSDK(this);
&&&&&&&&OnekeyShare&oks&=&new&OnekeyShare();
&&&&&&&&//关闭sso授权
&&&&&&&&oks.disableSSOWhenAuthorize();
&&&&&&&&//&分享时Notification的图标和文字
&&&&&&&&oks.setNotification(R.drawable.ic_launcher,&getString(R.string.app_name));
&&&&&&&&//&title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用
&&&&&&&&oks.setTitle(getString(R.string.share));
&&&&&&&&//&titleUrl是标题的网络链接,仅在人人网和QQ空间使用
&&&&&&&&oks.setTitleUrl("");
&&&&&&&&//&text是分享文本,所有平台都需要这个字段
&&&&&&&&oks.setText("我是分享文本");
&&&&&&&&//&imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
&&&&&&&&oks.setImagePath("/sdcard/test.jpg");
&&&&&&&&//&url仅在微信(包括好友和朋友圈)中使用
&&&&&&&&oks.setUrl("");
&&&&&&&&//&comment是我对这条分享的评论,仅在人人网和QQ空间使用
&&&&&&&&oks.setComment("我是测试评论文本");
&&&&&&&&//&site是分享此内容的网站名称,仅在QQ空间使用
&&&&&&&&oks.setSite(getString(R.string.app_name));
&&&&&&&&//&siteUrl是分享此内容的网站地址,仅在QQ空间使用
&&&&&&&&oks.setSiteUrl("");
&&&&&&&&//&启动分享GUI
&&&&&&&&oks.show(this);
&&&}&&&&我给大家写了一个demo,官网的demo功能太多了,像我一样的初学估计看起来会有点吃力,我把里面简单的拆分开来,这样大家会有一个清晰的思路。&&&&将定制的导入自己的项目后,然后写MainActivity部分:package&com.
import&cn.sharesdk.framework.ShareSDK;
import&cn.sharesdk.onekeyshare.OnekeyS
import&android.os.B
import&android.app.A
import&android.view.M
import&android.view.V
import&android.widget.B
import&android.widget.TextV
public&class&MainActivity&extends&Activity&{
private&TextView&
protected&void&onCreate(Bundle&savedInstanceState)&{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//&showShare();
shareall&=&(TextView)&findViewById(R.id.shareall);
shareall.setOnClickListener(new&View.OnClickListener()&{
public&void&onClick(View&arg0)&{
//&TODO&Auto-generated&method&stub
showShare();
private&void&showShare()&{
ShareSDK.initSDK(this);
OnekeyShare&oks&=&new&OnekeyShare();
//&关闭sso授权
oks.disableSSOWhenAuthorize();
//&分享时Notification的图标和文字
oks.setNotification(R.drawable.ic_launcher,&getString(R.string.ctone));
//&title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用
oks.setTitle(getString(R.string.share));
//&titleUrl是标题的网络链接,仅在人人网和QQ空间使用
oks.setTitleUrl("http://www.ctone.net/");
//&text是分享文本,所有平台都需要这个字段
oks.setText("精彩无限,融通未来。&----郑州ctone科技,官网http://www.ctone.net/");
//&imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
//oks.setImagePath("/img/image/shouye/muzrxc1.jpg");
//&url仅在微信(包括好友和朋友圈)中使用
oks.setUrl("http://www.ctone.net/");
//&comment是我对这条分享的评论,仅在人人网和QQ空间使用
oks.setComment("亲,留个言吧!");
//&site是分享此内容的网站名称,仅在QQ空间使用
oks.setSite(getString(R.string.ctone));
//&siteUrl是分享此内容的网站地址,仅在QQ空间使用
oks.setSiteUrl("http://www.ctone.net/");
//&启动分享GUI
oks.show(this);
}& & &activitymain.xml部分:&RelativeLayout&xmlns:android="/apk/res/android"
&&&&xmlns:tools="/tools"
&&&&android:layout_width="fill_parent"
&&&&android:layout_height="fill_parent"
&&&&android:paddingBottom="@dimen/activity_vertical_margin"
&&&&android:paddingLeft="@dimen/activity_horizontal_margin"
&&&&android:paddingRight="@dimen/activity_horizontal_margin"
&&&&android:paddingTop="@dimen/activity_vertical_margin"
&&&&tools:context=".MainActivity"&
&&&&android:background="@color/white"&
&&&&&TextView
&&&&&&&&android:id="@+id/shareall"
&&&&&&&&android:layout_width="fill_parent"
&&&&&&&&android:layout_height="fill_parent"
&&&&&&&&android:gravity="center"
&&&&&&&&android:text="@string/hello_world"&/&
&/RelativeLayout&& & assets部分:share.xml&?xml&version="1.0"&encoding="utf-8"?&
&DevInfor&
&&&& 说明:
&&&& 1、表格中的第一项
&ShareSDK&
AppKey="api20"&/&
&&&& 是必须的,其中的AppKey是您在ShareSDK上注册的开发者帐号的AppKey
&&&& 2、所有集成到您项目的平台都应该为其在表格中填写相对应的开发者信息,以新浪微博为例:
&&&& &&&&&SinaWeibo
&&&&&&&&&&&&&&&&Id="1"
&&&&&&&&&&&&&&&&SortId="1"
&&&&&&&&&&&&&&&&AppKey=""
&&&&&&&&&&&&&&&&AppSecret="38a4ff9f0daaf31e02e3"
&&&&&&&&&&&&&&&&RedirectUrl=""
&&&&&&&&&&&&&&&&Enable="true"&/&
&&&& 其中的SortId是此平台在分享列表中的位置,由开发者自行定义,可以是任何整型数字,数值越大
&&&& 越靠后AppKey、AppSecret和RedirectUrl是您在新浪微博上注册开发者信息和应用后得到的信息
&&&& Id是一个保留的识别符,整型,ShareSDK不使用此字段,供您在自己的项目中当作平台的识别符。
&&&& Enable字段表示此平台是否有效,布尔值,默认为true,如果Enable为false,即便平台的jar包
&&&& 已经添加到应用中,平台实例依然不可获取。
&&&& 各个平台注册应用信息的地址如下:
新浪微博&&&&&&&&&&&&&&&&&
腾讯微博&&&&&&&&&&&&&&&&&http://dev.
QQ空间&&&&&&&&&&&&&&&&&&&&&&/intro/login/
微信好友&&&&&&&&&&&&&&&&&http://open.
Facebook&&&&&&
Twitter&&&&&&&
人人网&&&&&&&&&&&&&&&&&&&&&&
开心网&&&&&&&&&&&&&&&&&&&&&&
搜狐微博&&&&&&&&&&&&&&&&&http://open.
网易微博&&&&&&&&&&&&&&&&&http://open.
豆瓣&&&&&&&&&&&&&&&&&&&&&&&&&&&
有道云笔记&&&&&&&&&&&&/open/developguide.html#app
印象笔记&&&&&&&&&&&&&&&&&/
Linkedin&&&&&&/secure/developer?newapp=
FourSquare&&&&/
搜狐随身看&&&&&&&&&&&&/
Flickr&&&&&&&&/services/
Pinterest&&&&&/
Tumblr&&&&&&&&/developers
Dropbox&&&&&&&/developers
Instagram&&&&&/developer#
VKontakte&&&&&http://vk.com/dev
&&&&&ShareSDK&
&&&&&&&&AppKey&=&"androidv1101"/&&&!--&修改成你在sharesdk后台注册的应用的appkey"--&
&&&&&!--&ShareByAppClient标识是否使用微博客户端分享,默认是false&--&
&&&&&SinaWeibo
&&&&&&&&Id="1"
&&&&&&&&SortId="1"
&&&&&&&&AppKey=""
&&&&&&&&AppSecret="38a4ff9f0daaf31e02e3"
&&&&&&&&RedirectUrl=""
&&&&&&&&ShareByAppClient="true"
&&&&&&&&Enable="true"&/&
&&&&&TencentWeibo
&&&&&&&&Id="2"&
&&&&&&&&SortId="2"
&&&&&&&&AppKey=""
&&&&&&&&AppSecret="ae36f4ee3946e1cbb98dff5c"
&&&&&&&&RedirectUri=""
&&&&&&&&Enable="true"&/&
&&&&&!--&ShareByAppClient标识是否使用微博客户端分享,默认是false&--&
&&&&&QZone
&&&&&&&&Id="3"
&&&&&&&&SortId="3"
&&&&&&&&AppId=""
&&&&&&&&AppKey="aed9be27bae87cd"
&&&&&&&&ShareByAppClient="true"
&&&&&&&&Enable="true"&/&
&&&& Wechat微信和WechatMoments微信朋友圈的appid是一样的;
&&&&&&&&&&&&&&&&&&&&&&&注意:开发者不能用我们这两个平台的appid,否则分享不了
&&&&&&& &&微信测试的时候,微信测试需要先签名打包出apk,
sample测试微信,要先签名打包,keystore在sample项目中,密码123456
BypassApproval是绕过审核的标记,设置为true后AppId将被忽略,故不经过
审核的应用也可以执行分享,但是仅限于分享文字和图片,不能分享其他类型,
默认值为false。此外,微信收藏不支持此字段。
&&&&&Wechat
&&&&&&&&Id="4"
&&&&&&&&SortId="4"
&&&&&&&&AppId="wxf87885"
&&&&&&&&BypassApproval="true"
&&&&&&&&Enable="true"&/&
&&&&&WechatMoments
&&&&&&&&Id="5"
&&&&&&&&SortId="5"
&&&&&&&&AppId="wxf87885"
&&&&&&&&BypassApproval="true"
&&&&&&&&Enable="true"&/&
&WechatFavorite
&&&&&&&&Id="6"
&&&&&&&&SortId="6"
&&&&&&&&AppId="wxf87885"
&&&&&&&&Enable="true"&/&
&&&&&&&&Id="7"
&&&&&&&&SortId="7"
&&&&&&&&AppId=""
&&&&&&&&AppKey="aed9be27bae87cd"
&&&&&&&&Enable="true"&/&
&&&&&Facebook
&&&&&&&&Id="8"
&&&&&&&&SortId="8"
&&&&&&&&ConsumerKey="179"
&&&&&&&&ConsumerSecret="a5fe26c80cb573"
&&&&&&&&Enable="true"&/&
&&&&&Twitter
&&&&&&&&Id="9"
&&&&&&&&SortId="9"
&&&&&&&&ConsumerKey="mnTGqtXk0TYMXYTN7qUxg"
&&&&&&&&ConsumerSecret="ROkFqr8c3m1HXqS3rm3TJ0WkAJuwBOSaWhPbZ9Ojuc"
&&&&&&&&CallbackUrl=""
&&&&&&&&Enable="true"&/&
&&&&&Renren
&&&&&&&&Id="10"
&&&&&&&&SortId="10"
&&&&&&&&AppId="226427"
&&&&&&&&ApiKey="fc5b8aed373c4c27a05b712acba0f8c3"
&&&&&&&&SecretKey="f29df781abdd4f49beca5a"
&&&&&&&&Enable="true"&/&
&&&&&KaiXin
&&&&&&&&Id="11"
&&&&&&&&SortId="11"
&&&&&&&&AppKey="887cee81ffc"
&&&&&&&&AppSecret="dab6db2a23"
&&&&&&&&RedirectUri=""
&&&&&&&&Enable="true"&/&
&&&&&Email
&&&&&&&&Id="12"&
&&&&&&&&SortId="12"
&&&&&&&&Enable="true"&/&
&&&&&ShortMessage
&&&&&&&&Id="13"&
&&&&&&&&SortId="13"
&&&&&&&&Enable="true"&/&
&&&&&SohuMicroBlog
&&&&&&&&Id="14"
&&&&&&&&SortId="14"
&&&&&&&&ApiKey="q70QBQM9T0COxzYpGLj9"
&&&&&&&&ConsumerKey="q70QBQM9T0COxzYpGLj9"
&&&&&&&&ConsumerSecret="XXYrx%QXbS!uA^m2$8TaD4T1HQoRPUH0gaG2BgBd"
&&&&&&&&CallbackUrl=""
&&&&&&&&Enable="true"&/&
&&&&&NetEaseMicroBlog
&&&&&&&&Id="15"
&&&&&&&&SortId="15"
&&&&&&&&ConsumerKey="T5EI7BXe13vfyDuy"
&&&&&&&&ConsumerSecret="gZxwyNOvjFYpxwwlnuizHRRtBRZ2lV1j"
&&&&&&&&RedirectUri=""
&&&&&&&&Enable="true"&/&
&&&&&Douban
&&&&&&&&Id="16"
&&&&&&&&SortId="16"
&&&&&&&&ApiKey="02e2cbe5ca06dee149b0b"
&&&&&&&&Secret="9f1e7b4f71304f2f"
&&&&&&&&RedirectUri=""
&&&&&&&&Enable="true"&/&
&&&&&YouDao
&&&&&&&&Id="17"
&&&&&&&&SortId="17"
&&&&&&&&HostType="product"
&&&&&&&&ConsumerKey="dcde25dca105bcc3dab940"
&&&&&&&&ConsumerSecret="de7ff44838fe"
&&&&&&&&RedirectUri=""
&&&&&&&&Enable="true"&/&
&SohuSuishenkan
&&&&&&&&Id="18"
&&&&&&&&SortId="18"
&&&&&&&&AppKey="e504b746c86e08a19db0"
&&&&&&&&AppSecret="b8eecefc9c"
&&&&&&&&RedirectUri=""
&&&&&&&&Enable="true"&/&
&&&& 在中国大陆,印象笔记有两个服务器,一个是沙箱(sandbox),一个是生产服务器(china)。
&&&& 一般你注册应用,它会先让你使用sandbox,当你完成测试以后,可以到
&&&& /support/上激活你的ConsumerKey,激活成功后,修改HostType
&&&& 为china就好了。至于如果您申请的是国际版的印象笔记(Evernote),则其生产服务器类型为
&&&& “product”。
&&&& 如果目标设备上已经安装了印象笔记客户端,ShareSDK允许应用调用本地API来完成分享,但
&&&& 是需要将应用信息中的“ShareByAppClient”设置为true,此字段默认值为false。
&&&&&Evernote
&&&&&&&&Id="19"
&&&&&&&&SortId="19"
&&&&&&&&HostType="sandbox"
&&&& ConsumerKey="sharesdk-7807"
ConsumerSecret="d05bf"
ShareByAppClient="false"
Enable="true"&/&
&&&&&LinkedIn
&&&& Id="20"
&&&&&&&&SortId="20"
&&&&&&&&ApiKey="ejo5ibkye3vo"
&&&&&&&&SecretKey="cC7B2jpxITqPLZ5M"&
&&&&&&&&RedirectUrl=""
&&&&&&&&Enable="true"&/&
&&&&&&GooglePlus
&&&& Id="21"
&&&&&&&&SortId="21"
&&&&&&&&Enable="true"&/&
&&&&&&FourSquare
&&&& Id="22"
&&&&&&&&SortId="22"
&&&&&&&&ClientID="G0ZI20FM30SJAJTX2RIBGD05QV1NE2KVIM2SPXML2XUJNXEU"
&&&&&&&&ClientSecret="3XHQNSMMHIFBYOLWEPONNV4DOTCDBQH0AEMVGCBG0MZ32XNU"
&&&&&&&&RedirectUrl=""
&&&&&&&&Enable="true"&/&
&Pinterest
&&&& Id="23"
&&&&&&&&SortId="23"
&&&&&&&&ClientId="1432928"
&&&&&&&&Enable="true"&/&
&&&&&&Flickr
&&&&& Id="24"
&&&&&&&&SortId="24"
&&&&&&&&ApiKey="33d833ee6b6fcadd313dd"
&&&&&&&&ApiSecret="3a2c5b42a8fbb8bb"
&&&&&&&&RedirectUri=""
&&&&&&&&Enable="true"&/&
&&&&&Tumblr
&&&&&&&&Id="25"
&&&&&&&&SortId="25"
&&&&&&&&OAuthConsumerKey="2QUXqO9fcgGdtGG1FcvML6ZunIQzAEL8xY6hIaxdJnDti2DYwM"
SecretKey="3Rt0sPFj7u2g39mEVB3IBpOzKnM3JnTtxX2bao2JKk4VV1gtNo"
CallbackUrl=""
&&&&&&&&Enable="true"&/&
&&&&&&&&Id="26"
&&&&&&&&SortId="26"
&&&&&&&&AppKey="7janx53ilz11gbs"
AppSecret="c1hpx5fz6tzkm32"
&&&&&&&&Enable="true"&/&
&&&&&VKontakte&
&&&& Id="27"
&&&&&&&&SortId="27"
&&&&&&&&ApplicationId="3921561"
&&&&&&&&Enable="true"&/&
&&&&&Instagram&
&&&& Id="28"
&&&&&&&&SortId="28"
&&&&&&&&ClientId="ff68efc"
ClientSecret="1b2e82f05c3fe34e31a1"
RedirectUri=""
&&&&&&&&Enable="true"&/&
&&&& Yixin易信和YixinMoments易信朋友圈的appid是一样的;
&&&&&&&&&&&&&&&&&&&&&&&注意:开发者不能用我们这两个平台的appid,否则分享不了
&&&&&&& &易信测试的时候需要先签名打包出apk,
sample测试易信,要先签名打包,keystore在sample项目中,密码123456
BypassApproval是绕过审核的标记,设置为true后AppId将被忽略,故不经过
审核的应用也可以执行分享,但是仅限于分享文字或图片,不能分享其他类型,
默认值为false。
&&&& Id="29"
&&&&&&&&SortId="29"
&&&&&&&&AppId="yx0d9a9f80ff"
&&&&&&&&BypassApproval="true"
&&&&&&&&Enable="true"&/&
&YixinMoments
&&&& Id="30"
&&&&&&&&SortId="30"
&&&&&&&&AppId="yx0d9a9f80ff"
&&&&&&&&BypassApproval="true"
&&&&&&&&Enable="true"&/&
&&&& Id="31"
&&&&&&&&SortId="31"
&&&&&&&&AppKey="EEEEDBF5357E3"
&&&&&&&&AppSecret="5EDE59F37B3EFA8F65EEFB"
&&&&&&&&RedirectUri=""
&&&&&&&&Enable="true"&/&
&/DevInfor&&&&&&附效果图:&&&&&&&&祝大家好好工作,好好活着。本文出自 “” 博客,请务必保留此出处
了这篇文章
附件下载:    
类别:┆阅读(0)┆评论(0)
请输入验证码:shareSDK组件进行android第三方qq、微信的登陆 - 下载频道
- CSDN.NET
&&&&shareSDK组件进行android第三方qq、微信的登陆
shareSDK组件进行android第三方qq、微信的登陆
利用shareSDK进行第三方登陆,自己运行程序的话要使用里面的证书,否则微信不能用
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
移动开发下载排行}

我要回帖

更多关于 sharesdk 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信