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
posted on 2014-04-20 02:45 clarenceV1 阅读(665) 评论(0) 编辑 收藏 举报