/////////////////////////////////////////////////////////////////////

获取相册列表:必须先授权登入

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)获取空间相册,新建相册,上传图片到空间相册的更多相关文章

  1. QQ登入(6)腾讯微博-获取微博用户信息,发送微博

    1.1获取weibo用户信息 //先登入授权,可以参考QQ登入(1) Weibo mWeibo = new Weibo(this, mQQAuth.getQQToken()); mWeibo.getW ...

  2. iOS开发——实用篇Swift篇&QQ登入界面实现

    QQ登入界面实现 我们知道在App Store中几乎所有软件都设计到账户的登入,而我们最常见的就是QQ,微信,在没有踏入程序员这条不归路之前,看到一个个的界面都感觉好高大上的样子. 在学习的过程中,自 ...

  3. QQ登入(1)-有客户端直接授权,没客户端web授权

    准备jar文件3个: android-support-v4.jar 下载地址:http://pan.baidu.com/s/1eQmoTm6 mta-sdk-1.6.2.jar 下载地址:http:/ ...

  4. QQ登入(2)获取用户信息

    private void initView() { mUserInfo = (TextView) findViewById(R.id.user_info); mUserLogo = (ImageVie ...

  5. QQ登入(3)QQ空间分享-无需登入

    public void myclick2(View v){ //QZone分享, SHARE_TO_QQ_TYPE_DEFAULT 图文,SHARE_TO_QQ_TYPE_IMAGE 纯图 ,SHAR ...

  6. QQ登入(4)QQ分享-内容转载

    ///////////////////QQ分享///////////// public void myclick3(View v){ //shareType : SHARE_TO_QQ_TYPE_IM ...

  7. c#实现microsoft账号登入授权(OAuth 2.0)并获取个人信息

    本博主要介绍microsoft 账号授权(OAuth 2.0)登入并获取用户信息的过程,因为写过google账号授权登入的过程,所以这里就简单介绍一下,google授权登入参考地址:http://ww ...

  8. 微信小程序登入流程

    微信小程序登入流程 一.首先前端先传code去后端 wx.login({ success(res) { if (res.code) { //发起网络请求 wx.request({ url: app.g ...

  9. 8-python模拟登入(无验证码)

    方式: 1.手动登入,获取cookie 2.使用cookielib库 和 HTTPCookieProcessor处理器 #_*_ coding: utf-8 _*_ ''' Created on 20 ...

随机推荐

  1. 禁用gridview默认点击效果

    cf_gridview.setSelector(new ColorDrawable(Color.TRANSPARENT)); 然后自己给做一个按下的效果xml文件

  2. form表单select联动

    下拉列表:二级联动菜单 Select对象的常用属性 options[]:返回所有option组成的一个数组: name:名称 value:option的value的值 length:设置或读取opti ...

  3. jQuery 中 children() 与 find() 用法的区别

    1.children() 与 find() 用法的区别 通过children获取的是该元素的下级元素,而通过find获取的是该元素的下级所有元素.

  4. 算法(第4版)-1.1.1 Java程序的基本结构

    开始之前,引用书中的一段话: "学习算法的主要原因是它们能节约非常多的资源,甚至能够让我们完成一些本不可能完成的任务.在某些需要处理上百万个对象的应用程序,设计优良的算法甚至可以将程序运行的 ...

  5. HDU 1693 Eat the Trees

    第一道(可能也是最后一道)插头dp.... 总算是领略了它的魅力... #include<iostream> #include<cstdio> #include<cstr ...

  6. VBS_DO...Loop

    循环用于重复执行一组语句.循环可分为三类:一类在条件变为 False 之前重复执行语句,一类在条件变为 True 之前重复执行语句,另一类按照指定的次数重复执行语句. 在 VBScript 中可使用下 ...

  7. Include and Require

    The include or require statement takes all the text/codde/markup that exists in the specified file a ...

  8. Linux VPS下SSH常用命令

    目录操作:rm -rf mydir /*删除mydir目录,不需要确认,直接删除*/mkdir dirname /*创建名为dirname的目录*/cd mydir /*进入mydir目录*/cd - ...

  9. 【题解】【区间】【二分查找】【Leetcode】Insert Interval & Merge Intervals

    Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessa ...

  10. 【题解】【BST】【Leetcode】Validate Binary Search Tree

    Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as ...