Android 对接 dropbox Chooser
Android 对接 dropbox Chooser
- Chooser 选择器方式接入
- 使用选取器
- 设置
- 创建新模块
- 添加依赖项
- 创建新项目
- 引用项目
- 示例应用
- 触发选取器
- 处理响应
- 链接类型
- 安卓 API 支持
- Saver (待研究)
- Embedder(待研究)
dropbox 文档地址 点击直接传送
Chooser 选择器方式接入
文档传送门
备注:dropbox 仅支持 android studio 如果您的项目还再用 Eclipse 请升级一下
一下是官方Api
使用选取器
选择器是将文件从 Dropbox 导入 Android 应用的最快方式。它是一个小型库,可让您的应用从 Dropbox 访问文件,而不必担心实施文件浏览器、OAuth 或管理上传和存储的复杂性。查看"选择器"在 Android 应用中的外观截图
。
本教程将指导你完成将选取器添加到应用并自定义它以适合你的用例所需的一切。
设置
Android Chooser SDK zip 包含一个DropboxChooserSDK Android 库项目。
如果您尚未创建新应用,则还需要在此处创建新应用,因为您需要下面的 App 键。
将选取器添加到 Android Studio 项目
您需要将DropboxChooserSDK添加到 Android Studio,然后将其作为依赖项添加到项目中。
创建新模块
- 打开 Android Studio,转到文件→新建模块→导入现有项目(Eclipse ADT 或 Gradle 项目)→,然后按下一步
2.按"源目录"字段旁边的"…“按钮,然后选择刚刚解压缩的DropboxChooserSDK文件夹。按下一步。
3.完成模块创建流程的其余部分。再次单击"下一步”,然后单击"完成"。
4.现在,您的项目中应该有一个DropboxChooserSDK模块。
添加依赖项
1.在Android Studio中,切换到项目视图。
2.右键单击应用程序模块,然后单击打开模块设置。
3.选择"依赖关系"选项卡。
4.在左下角,点击"+"(添加)按钮,选择模块依赖关系,然后选择dropboxChooserSDK模块。
5.单击"确定",然后再次单击"确定"。您可能需要等待 Gradle 同步。
将选取器添加到 Eclipse 项目
您需要将DropboxChooserSDK添加到 Eclipse,然后在项目中引用它。
创建新项目
打开 Eclipse,从现有代码转到"文件→新建→其他→ Android → Android 项目",然后按"下一步"
按根目录字段旁边的浏览,然后选择您刚刚解压缩的DropboxChooserSDK文件夹。按完成。
您现在应该有一个DropboxChooserSDK项目。
引用项目
在 Eclipse 中,右键单击现有项目,然后单击"属性"。
在左侧菜单中,选择安卓。
在下部的"资源库"部分中,单击"添加",然后选择DropboxChooserSDK项目。
示例应用
Android Chooser SDK zip 还包含一个ChooserExample Android 应用项目,该项目实现了以下代码的扩展版本。打开它,然后按照本指南的其余部分进行操作。
触发选取器
您的应用应为用户提供一个按钮或操作,要求他们从 Dropbox 中选择文件。此示例在onCreate()中为名为chooser_button的按钮设置一个单击处理程序,该按钮将触发选择器。您还需要向布局中添加具有相同名称的按钮。
在此示例中,我们将使用DbxChooser.ResultType.PREVIEW_LINK请求预览链接类型(请阅读以下内容,详细了解链接类型)。此示例还使用活动,但它与片段一样有效。
请务必将APP_KEY替换为应用的实际值。
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import com.dropbox.chooser.android.DbxChooser;static final int DBX_CHOOSER_REQUEST = 0; // You can change this if neededprivate Button mChooserButton;
private DbxChooser mChooser;@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mChooser = new DbxChooser(APP_KEY);mChooserButton = (Button) findViewById(R.id.chooser_button);mChooserButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {mChooser.forResultType(DbxChooser.ResultType.PREVIEW_LINK).launch(MainActivity.this, DBX_CHOOSER_REQUEST);}});
}
选择器与 Dropbox 应用协调,允许用户选择文件,而不必担心通常的授权流程。为了在用户返回到你的应用时处理响应,你需要向onActivityResult()添加一个挂钩:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {if (requestCode == DBX_CHOOSER_REQUEST) {if (resultCode == Activity.RESULT_OK) {DbxChooser.Result result = new DbxChooser.Result(data);Log.d("main", "Link to selected file: " + result.getLink());// Handle the result} else {// Failed or was cancelled by the user.}} else {super.onActivityResult(requestCode, resultCode, data);}
}
如果用户取消,结果代码将Activity.RESULT_CANCELED。一个成功的选择将是Activity.RESULT_OK。如果选择成功,则可以创建新的DbxChooser.Result来处理响应。
处理响应
在onActivityResult()回调中创建的DbxChooser.Result将包含有关所选文件的信息。
public static class Result {// URI to access the file, which varies depending on the link type specified when// the Chooser was triggeredpublic Uri getLink() { ... }// Name of the filepublic String getName() { ... }// URI to a 64px x 64px icon for the file based on the file's extensionpublic Uri getIcon() { ... }// Size of the file in bytespublic long getSize() { ... }// Set of thumbnail URIs generated when the user selects images and videos. It// returns three sizes with the keys: 64x64px, 200x200px, and 640x480px.// If the user didn't select an image or video, no thumbnails will be included.public Map<String, Uri> getThumbnails() { ... }}
链接类型
可以将选择器配置为返回三种链接类型之一。
ResultType.PREVIEW_LINK链接是选取器返回的默认链接类型。预览链接指向文件的人性化预览页面,非常适合共享。您可以在我们的帮助中心阅读有关 Dropbox 文件链接的更多信息。请注意,如果用户愿意,他们可以在以后禁用此链接。
ResultType.DIRECT_LINK链接直接指向文件的内容,对于下载文件本身很有用。但是,与预览链接不同,它们将在四小时后过期,因此请确保在选择文件后立即下载文件的内容。这些 URL 不应用于直接在浏览器中显示内容。
ResultType.FILE_CONTENT链接(仅限 Android)指向本地设备上的实际文件,并让您的应用利用 Dropbox 应用缓存的文件。但是,这些文件是临时的,操作系统可以随时清理,因此,如果需要保留文件的内容,则应在应用程序中复制和管理它。
安卓 API 支持
Android Chooser SDK 包括Android Support Library,旨在支持Android API 版本 8及更高版本。要支持 Android API 版本 8、9 和 10,您的应用必须扩展Activity或android.support.v4.app.FragmentActivity而不是Fragment。如果没有,您将在这些旧版本上使用 Android 选择器时在 LogCat 中看到以下错误:
The Chooser requires Fragments. If below API level 11, pass in a FragmentActivity from the support library.
此外,如果项目具有不同的版本,则与选择器捆绑在一起的 Android 支持库可能会与项目中的支持库发生冲突。如果您看到"Jar 不匹配!修复控制台中的依赖项"错误,删除DropboxChooserSDK 的 libs目录中的android-support-v4.jar,然后将项目中的android-support-v4.jar版本复制到该文件夹中。
Saver (待研究)
Embedder(待研究)
Android 对接 dropbox Chooser相关推荐
- android /data/system/dropbox,Android导出dropbox日志
文章内容已重新排版:Android导出dropbox日志,请到该链接浏览,谢谢支持. 大项目中出现anr几乎是必然事件,这里我就不再去赘述怎么分析anr日志了.但是作为分析anr重要依据的必然离不开d ...
- dropbox for android,将Dropbox for Android中的文件直接导出到SD卡 | MOS86
在许多情况下,适用于Android的Dropbox都是一个有用的应用程序,但是将文件从其中保存到手机中以备后用可能会严重损害设备的内存. 现在不再可用,因为您现在可以直接从Dropbox应用直接将文件 ...
- Android对接实现内网无纸化会议|智慧教室|实时同屏功能
背景 本文主要讲的是基于Android平台实现RTMP的技术方案设计,基础架构图如下: 组网注意事项 1. 组网:无线组网,需要好的AP模块才能撑得住大的并发流量,推送端到AP,最好是有线网链接: 2 ...
- Android对接第三方登陆+支付(google+facebook)
由于近期项目,要用到google+登陆和google play商店应用内商品支付,以及facebook登陆 所以经过查看官网介绍和示例应用来实现下其中的功能, 下面是使用中遇到的问题,希望对你有用! ...
- Android对接科大讯飞AIUI语音转文字装置(魔飞)串口开发
#对接科大讯飞的魔飞装置有一段时间了,现在来总结一下遇到的一些问题以及踩过的一些坑: 1.参考科大讯飞给的串口开发文档 https://doc.iflyos.cn/aiui/sdk/smart_doc ...
- Android 对接快递鸟接口
公司开发了一个订单小程序.需要对接物流.查询发货的快递单号.得到物流信息.展示给各地的项目经理.奈何刚接触微信小程序有很多东西都不会.就先用andorid把快递鸟的接口对了一下.非常的容易.首先登录快 ...
- 穿山甲android对接错误码40029,空Android项目集成Cocos、穿山甲。Lua调用网络接口。...
1. 搭建安卓空项目.集成cocos.穿山甲广告新建安卓项目start new android projectEmpty Activity包名这里要和穿山甲上面已创建的应用的包... 1. 搭建安卓空 ...
- Android 对接硬件串口篇
简介:硬件设备有IC卡片,指压测试仪(测试脉搏信号.心率.血压),经过串口获取硬件设备发送的数据. 正文:第一步:获得硬件设备,应用市场下载串口调适软件,测试一下在Android环境下数据是否能正常获 ...
- 融云Android对接视频,Android studio接入融云IM
说明: 官方网址:http://www.rongcloud.cn/ 1.融云SDK 将各部分功能以插件化的形式独立提供,开发者可以根据自己的需要,自由组合下载. 2.IM 界面组件 - IMKit , ...
最新文章
- 2019年北航OO第四单元(UML任务)及学期总结
- Apollo基础设置
- javascript实现图片轮播_第2章 第9节 JavaScript(四)
- 前端学习笔记之 JavaScript WebAPIs(整理)
- Python将函数作为闭包
- citrix+netscaler配置第一次培训
- java 怎么接收xml_Java如何提取完整的XML块
- vue打包后图片未显示问题
- python中match用法_python re.match()用法相关示例
- 编译OpenJDK8 arm32的源码库
- 转:有效沟通的四种工具
- 破解并配置WebStorm
- Facebook内部高效工作指南
- php7关闭缓存、禁用缓存
- 备考电商双十一智齿客服主动营销功能大升级
- 【团队博客】软件项目:上海海洋大学图书馆座位查找系统
- 平衡二叉树、B树、B+树,B*树的区别与联系
- win10自带的框选截图快捷键
- Python第三方库turtle的应用
- 给予Java初学者的学习路线建议