QQ登入(5)獲取空間相冊,新建相冊,上傳圖片到空間相冊

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

獲取相冊列表:必須先受權登入json

1.1.  String mAppid2="222222";ide

    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.監聽獲取信息this

    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) {        
        }
    }
監聽結果

//////////////////////////////////////////////////////////////////加密

新建相冊:必須先受權登入spa

2.1(同上1.1)3d

2.2 添加相冊信息code

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 監聽結果blog

    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 

相關文章
相關標籤/搜索