Android知识点记录:七牛Android SDK调试整理
来源:互联网 发布:程序员求职app 编辑:程序博客网 时间:2024/05/16 05:01
七牛Android SDK调试整理
近期项目中用到了七牛的服务,作为图片存储。在此调试了一下七牛的Android SDK,遇到了一些问题,在此整理,希望大家可以少走弯路。
建立工程
官方安卓文档链接 http://developer.qiniu.com/docs/v6/sdk/android-sdk.html#upload
我们可以直接从git上下载library工程,也可以直接导入mave或者下载jar包。此处,我们导入jar包,同时下载了library的源码包,library包提供了单元测试工具,可以让我们对一些方法有个直观的认识。下图为测试工程目录,demo是我们的测试工程。
在导入工程时我们要注意,由于目前Android6.0已经不对httpClient支持,导致我们的工程可能会有找不到类的情况,我们可以下载httpclient-4.4.1.1.jar ,地址如下
http://mvnrepository.com/artifact/cz.msebera.android/httpclient/4.4.1.1
参考
http://segmentfault.com/q/1010000003852205
到此我们的工程就建立完毕了。
建立七牛相关
注册七牛账号,创建一个项目(也就是后面我们说的 BucketName)。
我们建立了vonchenchen-android-test的账号。之后可以尝试上传一张图片。此时我们已经有了域名,点击红圈中的项目,出现如下图
下面我们上传一张图片,点击 “内容管理”,上传,下图我们已经上传了两张,其中第一张是通过点击“上传”上传的。
现在我们使用 刚刚得到的域名+文件名已经可以访问我们的图片资源了。下面是我们的例子域名
http://7xp9ue.com1.z0.glb.clouddn.com/err_mdk.PNG
我们现在可以直接通过浏览器访问这个资源。
使用App上传图片
我们可以参考官网的API文档建立一个表单提交。代码如下
/** * 初始化上传参数 */ private void init(){ Recorder recorder = new Recorder(){ @Override public void set(String s, byte[] bytes) { } @Override public byte[] get(String s) { return new byte[0]; } @Override public void del(String s) { } }; //上传配置 Configuration config = new Configuration.Builder() .chunkSize(256 * 1024) //分片上传时,每片的大小。 默认 256K .putThreshhold(512 * 1024) // 启用分片上传阀值。默认 512K .connectTimeout(10) // 链接超时。默认 10秒 .responseTimeout(60) // 服务器响应超时。默认 60秒 .recorder(recorder) // recorder 分片上传时,已上传片记录器。默认 null .recorder(recorder, null) // keyGen 分片上传时,生成标识符,用于片记录器区分是那个文件的上传记录 .zone(Zone.zone0) // 设置区域,指定不同区域的上传域名、备用域名、备用IP。默认 Zone.zone0 .build(); // 重用 uploadManager。一般地,只需要创建一个 uploadManager 对象 mUploadManager = new UploadManager(config); } /*** * 表单上传 */ private void upload(){ // 重用 uploadManager。一般地,只需要创建一个 uploadManager 对象 UploadManager uploadManager = new UploadManager(); //data = <File对象、或 文件路径、或 字节数组> String data = FILE_SAVEPATH_UPLOAD + "upload.jpg"; //FILE_SAVEPATH_UPLOAD路径下的 upload.jpg String key = "my_upload.jpg"; //在七牛上显示的名字 String token = mToken; //上传token uploadManager.put(data, key, token, new UpCompletionHandler() { @Override public void complete(String key, ResponseInfo info, JSONObject res) { // res 包含hash、key等信息,具体字段取决于上传策略的设置。 Log.i("qiniu", key + ",\r\n " + info + ",\r\n " + res); Toast.makeText(MainActivity.this, "upload success !!!", Toast.LENGTH_SHORT).show(); } }, null); }
我们直接使用路径传送图片,通过key可以直接指定在七牛管理端的名字,并且我们访问也是用的这个名字。现在万事具备,最日狗的就是就是如何生成token了。在sdk中我们发现测试token可以通过一个在线生成工具生成。
链接如下:http://developer.qiniu.com/docs/v6/api/reference/security/upload-token.html
步骤如下
注意bucketName就是我们上文提到的,建立七牛工程的时候的名字。此处可以设置token有效期。accessKey与secretKey在下图中的地方取
最后,点击 生成token,这样就是token,其包含了我们要上传的地址和文件名等信息,所以,在实际应用上传中直接使用服务器提供的token即可,而不需要其他uri信息。
工程链接:http://download.csdn.net/detail/lidec/9365265
2 0
- Android知识点记录:七牛Android SDK调试整理
- 七牛Android SDK 上传功能整理
- 【Android】Facebook SDK使用调试过程记录
- 七牛 Android SDK地址
- unity接入android七鱼sdk记录一二
- 七牛---使用Eclipse/Myeclipse安装运⾏Android SDK以及常⻅错误整理
- Android 常用知识点整理
- Android知识点整理
- android知识点整理
- Android 基础知识点整理
- Android知识点整理
- Android小知识点整理
- Android 零碎知识点整理
- android知识点整理
- Android 进阶知识点整理
- Android动画知识点整理
- Android知识点复习整理
- Android知识点整理
- 自定义标签栏
- spark-1.2.0 集群环境搭建
- Android 类似未读短信,电话图标显示数字效果如何实现的
- highcharts做柱状图与曲线图
- nginx如何读取缓存文件
- Android知识点记录:七牛Android SDK调试整理
- js的console对象
- POJ 2492 A Bug's Life
- Iterator 与 Iterable 的区别
- 2015年Android开发新技术盘点
- dubbo Error creating bean with name 'XXXXX.XXXXX.XXXXXService'异常
- 从Apriori到MS-Apriori算法
- 机器学习常见算法分类
- CentorOS上升级g++