这个是系统文件,不能随意动的,社交软件的分享组件。
小米手机文件管理便捷管理手机里的文件:
分类浏览:在“分类浏览”界面,可以一目了然地查看手机存储的使用情况,及不同分类文件的数量;
目录浏览:在“手机”选项卡中,通过文件夹结构来查看手机上的全部文件。使用“菜单键”呼出界面菜单,可以创建新的文件夹;
远程管理:这个功能可以让同一局域网中的设备通过FTP连接手机,管理数据;
*** 作文件:在文件列表中,长按激活编辑模式,使用底部的 *** 作项可以对文件执行复制、剪切、删除等 *** 作。
网络硬盘:快盘将网络硬盘功能融入在小米手机中,可以随时将文件放在这里以便在电脑、手机等不同设备之间查看和同步;
ShareSDK 集成指南1.在 ShareSDK的官方上下载 SDK 并导入工程 将 ShareSDK 文件夹到项目文件夹中夹并拖入项目中。
2. 添加依赖框架(Framework) 打开项目设置中的 Build Phases 页,在“Link Binary With Libraries”一栏中,点击左下角的“+” 号;在d出窗口里面分别以下库加入到项目中: SystemConfiguration.framework QuartzCore.framework MessageUI.framework libicucore.dylib
3.引入社区应用配置信息。 打开 main.m 文件加入
#import
(P.S. 此头文件必须在此文件下导入,否则会导致编译不通过) 4. 配置所有社交平台的 AppKey 打开 ShareSDKConfig.h 文件,根据需求设置各个平台的 App 相关信息(每个平台的 App 都需要到相 应平台上进行应用登记后来取的相关信息) 。
5.
配置 URL Scheme 打开*-Info.plist(*代表你的工程名字) 。在配置文件中新增一项 URL types (如果存在可以不创建) 展开 URL types – URL Schemes, URL Schemes 下新增一项用于新浪微博 , 在 授权的 Scheme(如果不添加则会导致新浪微博的 SSO 授权方式无法返回应用) 。其填写格式为: sinaweibosso.2279784657,其中后面的数字段为你在新浪微博申请的 AppKey。如下图所示:
另外,如果需要使用微信或者 QQ 平台接口也需要在此项下面添加相应的 Scheme。 6.嵌入代码
打开*AppDelegate.m(*代表你的工程名字) 在
-
(BOOL)application:(UIApplication
*)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法内添加如
下语句:
[ShareSDK registerApp:@"520520test"]然后,在处理请求 URL 的委托方法中加入 ShareSDK 的处理方法,如下: - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { return [ShareSDK handleOpenURL:url wxDelegate:self]} - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { return [ShareSDK handleOpenURL:url wxDelegate:self]} 此处理方法已包括微信和 QQ 的回复处理,如果使用 ShareSDK 内置提示功能可以不需要再实现消息的 微信和 QQ 的回复消息捕获。
Android 集成指南 1 获取ShareSDK 为了集成ShareSDK,您首先需要到ShareSDK 官方网站注册并且创建应用,获得 ShareSDK 的Appkey,然后到SDK 的下载页面下载SDK 的压缩包,解压以后可以得到 下图的四个目录: 其中的Libs 包含ShareSDK 的类库,Src 包含集成微信和新浪微博需要的回调,Res 是 开发者信息示例,而Sample 则包含一个完整的 *** 作演示。 Libs 里具体包括三个文件夹,分别是ShareSDK 的全局依赖库、ShareSDK 当前支持的 所有平台工具库和ShareSDK 可视化UI 的一些支持库。“全局依赖库”是集成ShareSDK 的基础,ShareSDK 的任何平台都依赖于这个库,而“ShareSDK-GUI”提供的是一个侧栏 控件和一个快捷分享工具,以方便开发者更快速地集成ShareSDK。 2 快速集成 2-1 导入Libs 1) 将“Libs\Global-Dependences”下的jar 包复制到您的libs 目录下。 2) 从“Libs\Platforms”中选择您感兴趣的平台,比方说“新浪微博”、“QQ 空间”、“腾讯 微博”等,复制相应的压缩包您项目的libs 目录下并解压,解压过程中如遇覆盖提示, 请同意覆盖。 3) 如果您决定使用ShareSDK 提供的快捷分享工具,请复制“Libs\ShareSDK-GUI”中复 制“cn.sharesdk.onekeyshare.jar”到您项目中。 4) 如果您的开发环境不能自动加载ShareSDK 的jar 包到您的项目中,请修改您项目 的构建路径,将上述jar 包添加到您的项目中。下图以Eclipse 为例,展示添加后的效果: 2-2 添加代码 1) 打开您项目的入口Activity,在其onCreate 中插入下面的代码: ? 1 AbstractWeibo.initSDK(this)这行代码用于初始化ShareSDK,必须在程序启动之时调用。 2)使用下面的代码,调用ShareSDK 快捷分享功能: 分享时Notification 的图标 ? 01 02 03 04 05 06 07 08 09 Intent i = new Intent(this, ShareAllGird.class)// 分享时Notification 的图标 i.putExtra("notif_icon", R.drawable.ic_launcher)// 分享时Notification 的标题 i.putExtra("notif_title", getString(R.string.app_name))// 分享内容的标题(仅部分平台需要此字段) i.putExtra("title", "ShareSDK Demo")// 分享内容的文本 i.putExtra("text", "share at: " + System.currentTimeMillis())10 11 12 13 14 15 // 分享内容的本地图片路径(为null 或文件不存在表示不分享图片) i.putExtra("image", Environment.getExternalStorageDirectory () + "/ssdk.png")// 分享内容的网络图片地址(仅部分平台需要此字段) i.putExtra("image_url", "http://sharesdk.cn/Public/Frontend/images/logo.png")// 设置是否跳转内容编辑页面,true 表示不跳转,不传递表示false(跳转) i.putExtra("silent", silent)startActivity(i)3) 如果您的项目中集成微信平台,请将“Sample/src/cn/sharesdk/demo”中的“wxapi” 目录复制到您的项目主包下。 4) 如果您的项目中集成微博平台,请将“Sample/src”中的“com”目录复制到您的项目 中。 2-3 添加开发者信息 ShareSDK 使用统一的格式管理您在不同平台上注册的开发者信息。这些信息都存放在 您项目的“assets/ShareSDKDevInfor.xml”中。请到“Res”中将ShareSDKDevInfor.xml 复 制到您项目的对应位置,打开文件,然后根据不同的平台的数据,如下面的例子所示, 替换您在这个平台上的开发者信息: ? 1 2 3 4 5 6 7 2-4 配置AndroidManifest.xml 1) 请在您项目的AndroidManifest.xml,添加了如下的所有权限: ? 1 2 3 4 5 6 7 8 这些权限将允许您的项目和ShareSDK 获取连接网络的权限、获取您的设备网络状态的 权限、实现https 安全连接的权限、读取手机设备状态的权限和保存必要配置的权限。 一般来说,即便不集成ShareSDK,大部分的项目也都会注册申请这些权限。 2)在application 下注册下面的Activity: ? 1 2 3 4 5 6 7 3)如果您的项目集成为微信和新浪微博,在application 下注册下面的Activity: ? 01 02 03 04 05 06 07 08 09 104)如果您的项目集微信,在application 下注册下面的Activity: ? 1 2 3 4 5 5)如果您使用ShareSDK 的快捷分享工具,在application 下注册下面的Activity: ? 01 02 03 04 05 06 07 08 09 2-5 签名 对于ShareSDK 的大部分平台,只要您将其jar 包和依赖集成到您的项目以 后就可以开始进行工作了。但是对于微信的两个平台却不行。因为微信开放平台要求 android 的第三方开发者需要提供自己项目的信息和签名指纹数据。为了演示分享功能 Sample 包中携带了一个"demokey.keystore"的keystore 文件,其密码是“123456”,如 果您在调试SSDKDemo 的时候集成了微信的平台,就需要使用这个keystore 对apk 进 行签名,之后才能尝试微信的分享。 3 主要功能解释 ShareSDK 使用同一的接口实现不同平台的同类 *** 作,如:授权、分享、关注等等。因 此开发者可以在不理会平台差异的情况下,简单使用一句代码完成不同平台的各种 *** 作。 3-1 获取已集成的平台列表 下面的代码演示获取已经集成到您项目中的ShareSDK 平台列表: ? 1 AbstractWeibo[] weiboList = AbstractWeibo.getWeiboList(context) 返回的列表中平台的排列顺序依照您在ShareSDKDevInfor.xml 中为其配置的SortId 来 定。 请注意,此方法在第一次调用的时候可能会比较耗时,因此不建议在主线程中调用。 3-2 通过名字获取指定平台实例 除了getWeiboList 的方法可以获取到平台实例以外,如果您想单独获取某一个平台的实 例,还可以利用下面的方法,若获取腾讯微博的实例: ? 1 AbstractWeibo weibo = AbstractWeibo.getWeibo(context, TencentWeibo.NAME)其中的,其中的TencentWeibo.NAME 是腾讯微博平台的静态字段,每一个平台都有一 个NAME 的字段,表示其名字。 3-3 设置 *** 作回调 不论利用ShareSDK 进行何种 *** 作,如果希望得到 *** 作的结果,都必须为执行 *** 作的平 台设置WeiboActionListener 的回调。下面的代码演示对腾讯微博绑定 WeiboActionListener 的方法: ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 AbstractWeibo weibo = AbstractWeibo.getWeibo(context, TencentWeibo.NAME)weibo.setWeiboActionListener( new WeiboActionListener() { public void onError(AbstractWeibo weibo, int action, Throwable t) { // *** 作失败的处理代码 } public void onComplete(AbstractWeibo weibo, int action, HashMap res) { // *** 作成功的处理代码 } public void onCancel(AbstractWeibo weibo, int action) { // *** 作取消的处理代码 } } )3-4 授权 手动授权并不是必要的 *** 作,但是ShareSDK 提供手动的授权 *** 作,如下面的代码演示 新浪微博的授权 *** 作: ? 1 2 3 AbstractWeibo weibo = AbstractWeibo.getWeibo(context, SinaWeibo.NAME)weibo.setWeiboActionListener(waListener)weibo.authorize()授权结果将通过WeiboActionListener 接口返回。 3-5 获取用户资料 下面的代码演示新浪微博获取资料的方法,其他的平台(微信除外)也支持类似的 *** 作: ? 1 2 3 String account = "3189087725"AbstractWeibo weibo = AbstractWeibo.getWeibo(context, SinaWeibo.NAME)weibo.setWeiboActionListener(waListener)weibo.showUser(account)其中account 是准备获取资料的帐号,如果account 为null,则表示获取授权账户自己 的资料。 获取资料前ShareSDK 会自行判断平台是否已经授权,若未授权,会自行执行授权 *** 作。 3-6 分享 下面的代码演示通用的分享 *** 作(QQ 空间、印象笔记请参考另外更合适其平台特性的 接口): ? 1 2 3 4 5 String text = “测试分享的文本”String image = “/mnt/sdcard/测试分享的图片.jpg” AbstractWeibo weibo = AbstractWeibo.getWeibo(context, SinaWeibo.NAME)weibo.setWeiboActionListener(waListener)weibo.share(text, image)其中的text 是分享的文本内容,image 是分享图片的本地路径。 微信好友和微信朋友圈的分享,应该使用新的分享接口,具体 *** 作可以参考Sample 中 的相关例子,下面的例子展示使用微信分享网页的方法: ? 1 2 3 4 5 6 7 8 AbstractWeibo weibo = AbstractWeibo.getWeibo(menu.getContext(), Wechat.NAME)weibo.setWeiboActionListener(this)String title = "这是标题"String text = "这是文本内容"String url = "http://sharesdk.cn"String thumbUrl = "/mnt/sdcard/网页缩略图.jpg"weibo.share(AbstractWeibo.SHARE_WEBPAGE, title, text, url, thumbUrl)其中的share(int, Object…)方法是新版本添加的分享接口,暂时支持微信两个平台的分 享,但后续版本的分享功能会往这个方法迁移。 QQ 空间调用下面的接口更适合其平台特性: ? 1 2 3 4 5 6 String title = “测试分享的标题” String text = “测试分享的文本”String imageUrl = “[url]http://www.someserver.com/[/url]测试分享的图片.jpg” AbstractWeibo weibo = AbstractWeibo.getWeibo(context, QZone.NAME)weibo.setWeiboActionListener(waListener)weibo.share(title, null, null, text, imageUrl, "ShareSDK", "http://www.sharesdk.cn")对于接口的详细解释,请参考QQ 登录平台的add_share 接口。 印象笔记的分享内容需要携带笔记标题,因此调用下面的接口更为合适: ? 1 2 3 4 5 6 String title = “测试分享的标题” String text = “测试分享的文本”String image = “/mnt/sdcard/测试分享的图片.jpg” AbstractWeibo weibo = AbstractWeibo.getWeibo(context, Evernote.NAME)weibo.setWeiboActionListener(waListener)weibo.save(title, text, image)对于印象笔记,分享的share 接口依然可用,但是更好的接口是save。 执行分享前ShareSDK 会自行判断平台是否已经授权,若未授权,会自行执行授权 *** 作。 信息和邮件分享功能使用send 接口,具体例子如下: ? 1 2 3 4 5 6 7 String address = ”10086”String title = “测试分享的标题” String text = “测试分享的文本”String image = “/mnt/sdcard/测试分享的图片.jpg” AbstractWeibo weibo = AbstractWeibo.getWeibo(context, ShortMessage.NAME)weibo.setWeiboActionListener(waListener)((ShortMessage) weibo).send(address, title, text)短信的分享只支持SMS 分享,如果直接分享MMS,则分享结果无法获取。至于邮件, 不管分享方式如何,都无法直接获取分享结果。 执行分享前ShareSDK 会自行判断平台是否已经授权,若未授权,会自行执行授权 *** 作。 3-7 关注指定用户 当前的ShareSDK 已经实现了新浪微博和腾讯微博的关注功能,下面的代码演示腾讯微 博的关注 *** 作: ? 1 2 3 4 String account = "shareSDK"AbstractWeibo weibo = AbstractWeibo.getWeibo( context,TencentWeibo.NAME)weibo.setWeiboActionListener(waListener)weibo.followFriend(account)执行关注前ShareSDK 会自行判断平台是否已经授权,若未授权,会自行执 行授权 *** 作。 3-8 获取平台数据库 ShareSDK 将每一个平台的授权数据都缓存在SharedPreferences 中,并且相互独立。 如果你希望获取任何一个平台的授权数据,可以像下面这样子做: ? 1 2 3 4 AbstractWeibo weibo = AbstractWeibo.getWeibo(this, TencentWeibo.NAME)String accessToken = weibo.getDb().getToken()String openId = weibo.getDb().get("openid")// 接下来执行你要的 *** 作 不同平台都会缓存access token 等信息,可以通过getToken()或者setToken()进行 *** 作。此外,开发者还可以通过直接get()某个字段的办法,获取其数据,如上面通过“openid” 字段获取到腾讯微博的openId。 3-8 取消授权 下面的代码演示新浪微博取消授权的 *** 作: ? 1 2 AbstractWeibo weibo = AbstractWeibo.getWeibo(context, SinaWeibo.NAME)weibo.removeAccount()此接口不需要WeiboActionListener,所以直接调用即可。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)