QQ登入(5)获取空间相册,新建相册,上传图片到空间相册
获取相册列表:必须先授权登入
1.1. String mAppid2="222222";
private void login() {
Tencent mTencent = Tencent.createInstance(mAppid2, QzonePicturesActivity.this);
IUiListener listener = new IUiListener() {
@Override
public void onCancel() {
// TODO Auto-generated method stub
}
@Override
public void onComplete(Object arg0) {
// TODO Auto-generated method stub
}
@Override
public void onError(UiError arg0) {
}
};
mTencent.login(this, "all", listener);//登入
mQQAuth = QQAuth.createInstance(mAppid2, this);//获取授权
}
授权登入
1.2. // 获取相册信息
Albums mAlbums = new Albums(QzonePicturesActivity.this, mQQAuth.getQQToken());
mAlbums.listAlbum(new AlbumListListener());
1.3.监听获取信息
private class AlbumListListener implements IUiListener {
public void onComplete(final Object response) {
JSONObject json = (JSONObject)response;
mPicsJson = json;
// 初始化UI
Log.i("mylog", "相册信息:"+mPicsJson.toString());
mAdapter = new PicGridAdapter(QzonePicturesActivity.this,mPicsJson);
mGridView.setAdapter(mAdapter);
}
@Override
public void onCancel() {
}
@Override
public void onError(UiError arg0) {
}
}
监听结果
//////////////////////////////////////////////////////////////////
新建相册:必须先授权登入
2.1(同上1.1)
2.2 添加相册信息
String albumname ="QQ登陆SDK:Add_Album测试" + System.currentTimeMillis();// 必须。相册名,不能超过30个字符。
String albumdesc = "QQ登陆SDK:Add_Album测试" + new Date();// 相册描述,不能超过200个字符。
String question = "question";// 如果priv取值为5,即相册是问答加密的,则必须包含问题和答案两个参数:
String answer = "answer";// 如果priv取值为5,即相册是问答加密的,则必须包含问题和答案两个参数:
mAlbums = new Albums(QzonePicturesActivity.this, mQQAuth.getQQToken());
mAlbums.addAlbum(albumname, albumdesc, AlbumSecurity.publicToAll, question, answer, new AddAlbumListListener());
2.3 监听结果
private class AddAlbumListListener implements IUiListener {
public void onComplete(final Object response) {
Toast.makeText(getApplicationContext(), response.toString(), 0).show();
}
@Override
public void onCancel() {
}
@Override
public void onError(UiError arg0) {
}
}
//////////////////////////////////////////////////////////////////
上传照片:必须先授权登入
3.1(同上1.1)
3.2 打开本地相册 选取要上传的图片
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/*");
startActivityForResult(intent, REQUEST_UPLOAD_PIC);
3.3 获取选取的图片路径,并转为绝对路径
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == REQUEST_UPLOAD_PIC && resultCode == Activity.RESULT_OK){
ContentResolver cr = this.getContentResolver();
Cursor cursor = cr.query(data.getData(), null, null, null, null);
cursor.moveToFirst();
doUploadPic(cursor.getString(1));
}
}
3.4 上传图片
String photodesc = "照片描述" + new Date();// 照片描述,注意照片描述不能超过200个字符。
String x = "0-360";// 照片拍摄时的地理位置的经度。请使用原始数据(纯经纬度,0-360)。
String y = "0-360";// 照片拍摄时的地理位置的纬度。请使用原始数据(纯经纬度,0-360)。
mAlbums = new Albums(QzonePicturesActivity.this, mQQAuth.getQQToken());
mAlbums.uploadPicture(uri, photodesc, null, x, y,new UpAlbumListListener());// 相册id,不填则传到默认相册
源码:链接: http://pan.baidu.com/s/1qWwJQ24
QQ登入(5)获取空间相册,新建相册,上传图片到空间相册的更多相关文章
- QQ登入(6)腾讯微博-获取微博用户信息,发送微博
1.1获取weibo用户信息 //先登入授权,可以参考QQ登入(1) Weibo mWeibo = new Weibo(this, mQQAuth.getQQToken()); mWeibo.getW ...
- iOS开发——实用篇Swift篇&QQ登入界面实现
QQ登入界面实现 我们知道在App Store中几乎所有软件都设计到账户的登入,而我们最常见的就是QQ,微信,在没有踏入程序员这条不归路之前,看到一个个的界面都感觉好高大上的样子. 在学习的过程中,自 ...
- QQ登入(1)-有客户端直接授权,没客户端web授权
准备jar文件3个: android-support-v4.jar 下载地址:http://pan.baidu.com/s/1eQmoTm6 mta-sdk-1.6.2.jar 下载地址:http:/ ...
- QQ登入(2)获取用户信息
private void initView() { mUserInfo = (TextView) findViewById(R.id.user_info); mUserLogo = (ImageVie ...
- QQ登入(3)QQ空间分享-无需登入
public void myclick2(View v){ //QZone分享, SHARE_TO_QQ_TYPE_DEFAULT 图文,SHARE_TO_QQ_TYPE_IMAGE 纯图 ,SHAR ...
- QQ登入(4)QQ分享-内容转载
///////////////////QQ分享///////////// public void myclick3(View v){ //shareType : SHARE_TO_QQ_TYPE_IM ...
- c#实现microsoft账号登入授权(OAuth 2.0)并获取个人信息
本博主要介绍microsoft 账号授权(OAuth 2.0)登入并获取用户信息的过程,因为写过google账号授权登入的过程,所以这里就简单介绍一下,google授权登入参考地址:http://ww ...
- 微信小程序登入流程
微信小程序登入流程 一.首先前端先传code去后端 wx.login({ success(res) { if (res.code) { //发起网络请求 wx.request({ url: app.g ...
- 8-python模拟登入(无验证码)
方式: 1.手动登入,获取cookie 2.使用cookielib库 和 HTTPCookieProcessor处理器 #_*_ coding: utf-8 _*_ ''' Created on 20 ...
随机推荐
- poj1080 dp
//Accepted 200 KB 0 ms //dp //dp[i][j]表示s1用前i个,s2用前j个字符能得到的最大分数 //dp[i][j]=max(dp[i-1][j]+score[s1[i ...
- 2016年3月AV评测
- Oracle之ROW_NUMBER() OVER函数
语法:ROW_NUMBER() OVER(ORDER BY COLUMN) 简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的select ACD_ID,ROW_NUMBE ...
- 详解定位—>"position"
position是css中一个重要的属性,他规定元素的定位类型,默认值为static,他的值有5种,absolute,fixed,relative,static,inherit.接下来将详细具体对每一 ...
- 【LeetCode OJ】Reverse Words in a String
Problem link: http://oj.leetcode.com/problems/reverse-words-in-a-string/ Given an input string, reve ...
- 一个Android Socket的例子
1.开篇简介 Socket本质上就是Java封装了传输层上的TCP协议(注:UDP用的是DatagramSocket类).要实现Socket的传输,需要构建客户端和服务器端.另外,传输的数据可以是字符 ...
- iptables配置服务器端口转发
环境: CentOS6.5,192.168.1.10,外网双向通信,绑定域名zlzkj.org: WinServer2008,192.168.1.11,外网不能直接访问到该机器,但ftp.远程桌面.M ...
- linux邮件服务器postfix配置实例
linux邮件服务器postfix配置实例(超级详细!!!) 2013-03-13 13:30:21 标签:邮件服务器 linux 1. 系统安装:1)centos4.3 选上MAIL组件里的全部.2 ...
- MINIX3 导读分析
一个操作系统的分析是属于一个非常庞大的工程,操作系统就像是一个人造的 人,每一个模块想完全发挥功效,很有可能需要很多模块的支持才能够实现.所 以在分析 MINIX3 时,我认为同时看多个模块对于理解 ...
- Warning: Data truncated for column 'AirPress' at row 1
/************************************************************************ * Warning: Data truncated ...