网站分享比较简单的一句js就可以了,但是手机就没有这么简单了,要有点小复杂,刚学Android两个月了,也再用第三方的Android开发组件,现在介绍给大家sharesdk。直接上代码!!

第一步:下载ShareSDK

官网http://share.sharesdk.cn/Download

第二步:集成ShareSDK

进入ShareSDK解压目录,打开“Share SDK for Android”目录,可以找到“QuickIntegrater.jar”,这个就是快速集成ShareSDK的工具

Windows下

首先确定已经安装了JDK,并且正确配置了JAVA_HOME和PATH系统变量,此时可以双击QuickIntegrater启动程序

Linux/Mac OS下

同样需要先确保已经正确配置了JDK,之后启动终端,cd进入“Share SDK for Android”目录,输入:java -jar QuickIntegrater.jar可启动QuickIntegrater

正确输入项目的名称和包名,勾选需要的集成的平台,然后点击“确定”。QuickIntegrater会自行产生一个目录,复制此目录中的文件到您的项目中覆盖即可。

第三步:配置AndroidManifest.xml

1、添加权限

<uses-permissionandroid:name="android.permission.GET_TASKS"/><uses-permissionandroid:name="android.permission.INTERNET"/><uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/><uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE"/><uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/><uses-permissionandroid:name="android.permission.MANAGE_ACCOUNTS"/><uses-permissionandroid:name="android.permission.GET_ACCOUNTS"/>2、添加activity信息<activityandroid: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><dataandroid:scheme="tencent100371282"/><actionandroid:name="android.intent.action.VIEW"/><categoryandroid:name="android.intent.category.BROWSABLE"/><categoryandroid:name="android.intent.category.DEFAULT"/></intent-filter></activity>3、如果您集成了微信或者易信,还需要添加下面两个Activity<!--微信分享回调--><activityandroid:name=".wxapi.WXEntryActivity"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:configChanges="keyboardHidden|orientation|screenSize"android:exported="true"android:screenOrientation="portrait"/><!--易信分享回调--><activityandroid:name=".yxapi.YXEntryActivity"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:configChanges="keyboardHidden|orientation|screenSize"android:exported="true"android:screenOrientation="portrait"/>

第四步:添加分享代码

在您的代码中调用此方法,即可打开一键分享功能进行分享

PrivatevoidshowShare(){ShareSDK.initSDK(this);OnekeyShareoks=newOnekeyShare();//关闭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("http://sharesdk.cn");//text是分享文本,所有平台都需要这个字段oks.setText("我是分享文本");//imagePath是图片的本地路径,Linked-In以外的平台都支持此参数oks.setImagePath("/sdcard/test.jpg");//url仅在微信(包括好友和朋友圈)中使用oks.setUrl("http://sharesdk.cn");//comment是我对这条分享的评论,仅在人人网和QQ空间使用oks.setComment("我是测试评论文本");//site是分享此内容的网站名称,仅在QQ空间使用oks.setSite(getString(R.string.app_name));//siteUrl是分享此内容的网站地址,仅在QQ空间使用oks.setSiteUrl("http://sharesdk.cn");//启动分享GUIoks.show(this);}


我给大家写了一个demo,官网的demo功能太多了,像我一样的初学估计看起来会有点吃力,我把里面简单的拆分开来,这样大家会有一个清晰的思路。

将定制的导入自己的项目后,然后写MainActivity部分:

packagecom.share;importcn.sharesdk.framework.ShareSDK;importcn.sharesdk.onekeyshare.OnekeyShare;importandroid.os.Bundle;importandroid.app.Activity;importandroid.view.Menu;importandroid.view.View;importandroid.widget.Button;importandroid.widget.TextView;publicclassMainActivityextendsActivity{privateTextViewshareall;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//showShare();shareall=(TextView)findViewById(R.id.shareall);shareall.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewarg0){//TODOAuto-generatedmethodstubshowShare();}});}privatevoidshowShare(){ShareSDK.initSDK(this);OnekeyShareoks=newOnekeyShare();//关闭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("http://img0.bdstatic.com/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/");//启动分享GUIoks.show(this);}}

activitymain.xml部分:

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/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"><TextViewandroid: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

<?xmlversion="1.0"encoding="utf-8"?><DevInfor><!--说明:1、表格中的第一项<ShareSDKAppKey="api20"/>是必须的,其中的AppKey是您在ShareSDK上注册的开发者帐号的AppKey2、所有集成到您项目的平台都应该为其在表格中填写相对应的开发者信息,以新浪微博为例:<SinaWeiboId="1"SortId="1"AppKey="568898243"AppSecret="38a4f8204cc784f81f9f0daaf31e02e3"RedirectUrl="http://www.sharesdk.cn"Enable="true"/>其中的SortId是此平台在分享列表中的位置,由开发者自行定义,可以是任何整型数字,数值越大越靠后AppKey、AppSecret和RedirectUrl是您在新浪微博上注册开发者信息和应用后得到的信息Id是一个保留的识别符,整型,ShareSDK不使用此字段,供您在自己的项目中当作平台的识别符。Enable字段表示此平台是否有效,布尔值,默认为true,如果Enable为false,即便平台的jar包已经添加到应用中,平台实例依然不可获取。各个平台注册应用信息的地址如下:新浪微博http://open.weibo.com腾讯微博http://dev.t.qq.comQQ空间http://connect.qq.com/intro/login/微信好友http://open.weixin.qq.comFacebookhttps://developers.facebook.comTwitterhttps://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有道云笔记http://note.youdao.com/open/developguide.html#app印象笔记https://dev.evernote.com/Linkedinhttps://www.linkedin.com/secure/developer?newapp=FourSquarehttps://developer.foursquare.com/搜狐随身看https://open.sohu.com/Flickrhttp://www.flickr.com/services/Pinteresthttp://developers.pinterest.com/Tumblrhttp://www.tumblr.com/developersDropboxhttps://www.dropbox.com/developersInstagramhttp://instagram.com/developer#VKontaktehttp://vk.com/dev--><ShareSDKAppKey="androidv1101"/><!--修改成你在sharesdk后台注册的应用的appkey"--><!--ShareByAppClient标识是否使用微博客户端分享,默认是false--><SinaWeiboId="1"SortId="1"AppKey="568898243"AppSecret="38a4f8204cc784f81f9f0daaf31e02e3"RedirectUrl="http://www.sharesdk.cn"ShareByAppClient="true"Enable="true"/><TencentWeiboId="2"SortId="2"AppKey="801307650"AppSecret="ae36f4ee3946e1cbb98d6965b0b2ff5c"RedirectUri="http://sharesdk.cn"Enable="true"/><!--ShareByAppClient标识是否使用微博客户端分享,默认是false--><QZoneId="3"SortId="3"AppId="100371282"AppKey="aed9b0303e3ed1e27bae87c33761161d"ShareByAppClient="true"Enable="true"/><!--Wechat微信和WechatMoments微信朋友圈的appid是一样的;注意:开发者不能用我们这两个平台的appid,否则分享不了微信测试的时候,微信测试需要先签名打包出apk,sample测试微信,要先签名打包,keystore在sample项目中,密码123456BypassApproval是绕过审核的标记,设置为true后AppId将被忽略,故不经过审核的应用也可以执行分享,但是仅限于分享文字和图片,不能分享其他类型,默认值为false。此外,微信收藏不支持此字段。--><WechatId="4"SortId="4"AppId="wx4868b35061f87885"BypassApproval="true"Enable="true"/><WechatMomentsId="5"SortId="5"AppId="wx4868b35061f87885"BypassApproval="true"Enable="true"/><WechatFavoriteId="6"SortId="6"AppId="wx4868b35061f87885"Enable="true"/><QQId="7"SortId="7"AppId="100371282"AppKey="aed9b0303e3ed1e27bae87c33761161d"Enable="true"/><FacebookId="8"SortId="8"ConsumerKey="107704292745179"ConsumerSecret="38053202e1a5fe26c80c753071f0b573"Enable="true"/><TwitterId="9"SortId="9"ConsumerKey="mnTGqtXk0TYMXYTN7qUxg"ConsumerSecret="ROkFqr8c3m1HXqS3rm3TJ0WkAJuwBOSaWhPbZ9Ojuc"CallbackUrl="http://www.sharesdk.cn"Enable="true"/><RenrenId="10"SortId="10"AppId="226427"ApiKey="fc5b8aed373c4c27a05b712acba0f8c3"SecretKey="f29df781abdd4f49beca5a2194676ca4"Enable="true"/><KaiXinId="11"SortId="11"AppKey="358443394194887cee81ff5890870c7c"AppSecret="da32179d859c016169f66d90b6db2a23"RedirectUri="http://www.sharesdk.cn"Enable="true"/><EmailId="12"SortId="12"Enable="true"/><ShortMessageId="13"SortId="13"Enable="true"/><SohuMicroBlogId="14"SortId="14"ApiKey="q70QBQM9T0COxzYpGLj9"ConsumerKey="q70QBQM9T0COxzYpGLj9"ConsumerSecret="XXYrx%QXbS!uA^m2$8TaD4T1HQoRPUH0gaG2BgBd"CallbackUrl="http://www.sharesdk.cn"Enable="true"/><NetEaseMicroBlogId="15"SortId="15"ConsumerKey="T5EI7BXe13vfyDuy"ConsumerSecret="gZxwyNOvjFYpxwwlnuizHRRtBRZ2lV1j"RedirectUri="http://www.shareSDK.cn"Enable="true"/><DoubanId="16"SortId="16"ApiKey="02e2cbe5ca06de5908a863b15e149b0b"Secret="9f1e7b4f71304f2f"RedirectUri="http://www.sharesdk.cn"Enable="true"/><YouDaoId="17"SortId="17"HostType="product"ConsumerKey="dcde25dca105bcc36884ed4534dab940"ConsumerSecret="d98217b4020e7f1874263795f44838fe"RedirectUri="http://www.sharesdk.cn"Enable="true"/><SohuSuishenkanId="18"SortId="18"AppKey="e16680a815134504b746c86e08a19db0"AppSecret="b8eec53707c3976efc91614dd16ef81c"RedirectUri="http://sharesdk.cn"Enable="true"/><!--在中国大陆,印象笔记有两个服务器,一个是沙箱(sandbox),一个是生产服务器(china)。一般你注册应用,它会先让你使用sandbox,当你完成测试以后,可以到http://dev.yinxiang.com/support/上激活你的ConsumerKey,激活成功后,修改HostType为china就好了。至于如果您申请的是国际版的印象笔记(Evernote),则其生产服务器类型为“product”。如果目标设备上已经安装了印象笔记客户端,ShareSDK允许应用调用本地API来完成分享,但是需要将应用信息中的“ShareByAppClient”设置为true,此字段默认值为false。--><EvernoteId="19"SortId="19"HostType="sandbox"ConsumerKey="sharesdk-7807"ConsumerSecret="d05bf86993836004"ShareByAppClient="false"Enable="true"/><LinkedInId="20"SortId="20"ApiKey="ejo5ibkye3vo"SecretKey="cC7B2jpxITqPLZ5M"RedirectUrl="http://sharesdk.cn"Enable="true"/><GooglePlusId="21"SortId="21"Enable="true"/><FourSquareId="22"SortId="22"ClientID="G0ZI20FM30SJAJTX2RIBGD05QV1NE2KVIM2SPXML2XUJNXEU"ClientSecret="3XHQNSMMHIFBYOLWEPONNV4DOTCDBQH0AEMVGCBG0MZ32XNU"RedirectUrl="http://www.sharesdk.cn"Enable="true"/><PinterestId="23"SortId="23"ClientId="1432928"Enable="true"/><FlickrId="24"SortId="24"ApiKey="33d833ee6b6fca49943363282dd313dd"ApiSecret="3a2c5b42a8fbb8bb"RedirectUri="http://www.sharesdk.cn"Enable="true"/><TumblrId="25"SortId="25"OAuthConsumerKey="2QUXqO9fcgGdtGG1FcvML6ZunIQzAEL8xY6hIaxdJnDti2DYwM"SecretKey="3Rt0sPFj7u2g39mEVB3IBpOzKnM3JnTtxX2bao2JKk4VV1gtNo"CallbackUrl="http://sharesdk.cn"Enable="true"/><DropboxId="26"SortId="26"AppKey="7janx53ilz11gbs"AppSecret="c1hpx5fz6tzkm32"Enable="true"/><VKontakteId="27"SortId="27"ApplicationId="3921561"Enable="true"/><InstagramId="28"SortId="28"ClientId="ff68e3216b4f4f989121aa1c2962d058"ClientSecret="1b2e82f110264869b3505c3fe34e31a1"RedirectUri="http://sharesdk.cn"Enable="true"/><!--Yixin易信和YixinMoments易信朋友圈的appid是一样的;注意:开发者不能用我们这两个平台的appid,否则分享不了易信测试的时候需要先签名打包出apk,sample测试易信,要先签名打包,keystore在sample项目中,密码123456BypassApproval是绕过审核的标记,设置为true后AppId将被忽略,故不经过审核的应用也可以执行分享,但是仅限于分享文字或图片,不能分享其他类型,默认值为false。--><YixinId="29"SortId="29"AppId="yx0d9a9f9088ea44d78680f3274da1765f"BypassApproval="true"Enable="true"/><YixinMomentsId="30"SortId="30"AppId="yx0d9a9f9088ea44d78680f3274da1765f"BypassApproval="true"Enable="true"/><MingdaoId="31"SortId="31"AppKey="EEEE9578D1D431D3215D8C21BF5357E3"AppSecret="5EDE59F37B3EFA8F65EEFB9976A4E933"RedirectUri="http://sharesdk.cn"Enable="true"/></DevInfor>

附效果图:

祝大家好好工作,好好活着。

更多相关文章

  1. API级别官方全解
  2. 面试多家大厂被拒后,危险拿到网易offer,分享经历的这些Android面试
  3. 如何在Android上快速集成微信和QQ的分享(Share)能力?
  4. 海豚浏览器推出Android(安卓)7.0版,支持跨平台同步书签、设置等
  5. android遥控器新增自定义的键值+用遥控器按键实现软键盘字符键的
  6. ZEGO教程:如何快速搭建一个完整的Android直播平台
  7. 【幻灯片分享】如何创建更加灵活的App | 大众点评 屠毅敏 | Andr
  8. Android经典项目开发之天气APP实例分享
  9. 海外优秀资讯抢先看11:Android的Inbox如何做到70%代码能跨Androi

随机推荐

  1. 利用android中的View来画线
  2. Android软件安全开发实践
  3. Android应用程序apk内xml文件编码解析
  4. Android(安卓)SD卡简单的文件读写操作
  5. 零打碎敲学Android(二)—做个拼图游戏吧
  6. Android日志系统Logcat源代码简要分析
  7. android 触摸事件、点击事件的区别
  8. 谈谈Android的一些UI设计
  9. Android切近实战(一)
  10. Android特色开发之传感器和语音识别