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 ...
随机推荐
- ZOJ 3329 - One Person Game
题意:每次筛三个骰子面分别为k1,k2,k3,如果三个骰子的值分别为a,b,c则得分置0,否则得到分数加上三个骰子的值的和,如果得分大于等于n则结束游戏. 设E[i]表示当前得到i分时结束游戏的期望. ...
- jvm之xms、xmx等参数分析
注:本文摘自http://www.cnblogs.com/mingforyou/archive/2012/03/03/2378143.html ,感谢原作者 1.参数的含义-vmargs -Xms12 ...
- Ubuntu 环境变量及 ADB 配置
Ubuntu Linux 环境变量 同Windows一样,Ubuntu Linux系统包含两类环境变量:系统环境变量和用户环境变量.系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效. ...
- 【Leetcode】 LRU Cache实现
Design and implement a data structure for Least Recently Used (LRU) cache. It should support the fol ...
- IOS 用正则表达式解析HTML等文件,得到所有文本
获得网页内容 NSURL *url=[NSURL URLWithString:@"http://121.199.34.52/wordpress/?json=core.get_post_con ...
- HDU5534--Partial Tree (完全背包)
点击打开链接 思路:总度数为2n-2,由于每个节点都至少要有1个度,所以可以看做把剩余n-2个点放入n个节点的背包问题.dp[i]表示放入i个度后的最大值 #include<cstdio> ...
- ZOJ2006 (后缀自动机)
求一个字符串的最小表示法. 将字符串S倍长,从根走length(s)步所走路径即为最小表示法. 记所到达位置为x,则这个最小表示法的起点为a[x]-len(s)+1 ; var T:longint; ...
- LCA(倍增)
type arr=record v,nt:longint; end; ; lx=; ..maxn] of longint; eg:..maxn*] of arr; d:..maxn] of longi ...
- [SYSU]每周一赛
2014年每周一赛第一场 A.Cutting Sausages B.Rectangular Fields //待做 ...
- 【转】Fast Entity Component System
http://entity-systems.wikidot.com/fast-entity-component-system Summary Create a generic System class ...