导读:2.2调用示例,这里以发送文字微博接口的调用为例例,来说明通过requestAsync调用兼容接口的方法:,在上面的调用中,调用获取用户信息接口的示例代码如下:,调用发送带图微博接口的,http://wiki.connect.qq.com/add_pic_tbund,3.WPA接口,对于WPA用户,无需加其为好友就能和其进行会话,这里我们提供2个接口,一个是获取,4.微云API接口调用说明,调
2.2 调用示例
这里以发送文字微博接口的调用为例例,来说明通过requestAsync调用兼容接口的方法:
在上面的调用中,TQQApiListener继承自BaseApiListener,关于BaseApiListener请参考《Android开发指南-创建实例并实现回调》。
2.3 获取用户信息
调用获取用户信息接口的示例代码如下:
2.4 发布带图微博
用于发送一个带有图片的微博。
示例代码如下: /**
* 发送带图微博
*/
private void onClickUserInfo() {
Bundle bundle = new Bundle(); bundle.putString("format", "json");
bundle.putString("content", "test add pic with url");
// 把 bitmap 转换为 byteArray , 用于发送请求
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 40, baos);
byte[] buff = baos.toByteArray();
bundle.putByteArray("pic", buff);
mTencent.requestAsync(Constants.GRAPH_ADD_PIC_T, bundle,
Constants.HTTP_POST, new BaseApiListener("add_pic_t", false), null);
bitmap.recycle();
mProgressDialog.show();
}
调用发送带图微博接口的
http://wiki.connect.qq.com/add_pic_t bundle参数说明请参阅
3. WPA接口
对于WPA用户, 无需加其为好友就能和其进行会话, 这里我们提供2个接口,一个是获取WPA用户的在线状态, 一个是发起会话.
3.1 查询WPA用户在线状态
参数uin是对方的QQ号码。
在onComplete里返回的response是个String, 如果在线是{"online":1}, 如果不在线是{"online":0}
3.2 发起WPA会话
发起会话:
参数uin是对方的QQ号码。
ret为0表示打开了手Q的会话窗口. 其他则为错误.
4. 微云API接口调用说明
4.1 上传文件到微云
上传文件到微云,支持图片、音乐、视频等。通过实例化UploadFileToWeiyun类来进行操作,调用start方法上传,支持监听上传进度。
Log.i("weiyun_test", "upload success"); if (OperationSelectActivity.this.isFinishing()) { return; } mProgress.dismiss(); Toast.makeText(OperationSelectActivity.this, "文件成功上传,打开微云客户端即可查看", Toast.LENGTH_SHORT).show();
} @Override public void onUploadStart() { Log.i("weiyun_test", "upload start"); if (OperationSelectActivity.this.isFinishing()) { return; } mProgress.setMessage("上传文件文件中,请稍候..."); } @Override public void onUploadProgress(int progress) { Log.i("weiyun_test", "upload progress" + progress + "%"); if (OperationSelectActivity.this.isFinishing()) { return; } mProgress.setMessage("上传文件文件中 " + progress + "% 请稍候..."); } @Override public void onPrepareStart() { Log.i("weiyun_test", "prepare start"); if (OperationSelectActivity.this.isFinishing()) { return; } mProgress.setMessage("准备上传文件,请稍候..."); mProgress.show(); } @Override
4.2 从微云下载文件
从微云下载文件,支持图片、音乐、视频等。通过实例化DownloadFileFromWeiyun类进行操作,调用start开始下载,支持监听下载进度。 /**
* 从微云下载文件
* @param tencent
* @param file_id 文件id
* @param actiontype 下载类型
* @param filesize 文件大小
* @param path 保存文件路径
* @param filename 保存文件名
* @param listener 下载进度监听
*/
downloadFileFromWeiyun down = new DownloadFileFromWeiyun(
mTencent,
file_info_list.get(position).mFile_id, actiontype,
file_info_list.get(position).mSize, "weiyun_test", file_info_list.get(position).mName, new IDownloadFileFromWeiyunStatus() {
@Override
public void onPrepareStart() {
if (isFinishing()) {
return;
}
mProgress.setMessage("文件下载准备中,请稍等....."); mProgress.show();
@Override public void onError(String info) { if (isFinishing()) { return; } mProgress.dismiss(); Toast.makeText(FileListActivity.this, "文件下载失败", Toast.LENGTH_SHORT).show();
}
@Override
public void onDownloadSuccess(String filepath) {
if (isFinishing()) {
return;
}
mProgress.dismiss();
Toast.makeText(FileListActivity.this, "文件下载成功,路径是:" + filepath + "", Toast.LENGTH_SHORT).show();
if (actiontype == weiyunConstants.ACTION_PICTURE) {
ImageViewDialog dlg = new ImageViewDialog(FileListActivity.this, filepath); dlg.show();
}
}
@Override
public void onDownloadStart() {
} @Override public void onDownloadProgress(int progress) { mProgress.setMessage("文件正在下载: "+progress+"% "+"请稍等....."); mProgress.setMessage("文件正在下载,请稍等....."); }
});
down.start();
本文共4页1234