您的位置:首页 > 移动开发 > Android开发

新浪微博Android客户端开发

2014-03-20 18:56 323 查看
新浪微博SDK包: weibo-android-sdk.zip   

下载地址:http://download.csdn.net/detail/xyls126/7072951

 

将下载的包导入工程:WeiboSDK 作为WeiboSDKDemo的Library  

导入得时候可能会报错,先将gen 删掉,然后右键工程项目:properties-->Java Build Path 选中所有的包 remove掉,在把libs里的包加入再clean一下工程,就ok了

 

运行 WeiboSDKDemo



 

新建一个工程,参照上面的例子在权限文件里加入权限,写个Activity 里面有一个Btutton 再设置一下监听事件,如:

SsoHandler ssoHandler;

public class MainActivity extends Activity implements OnClickListener{

protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  this.requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_main);

 

Button btn = (Button) findViewById(R.id.btn);

btn.setOnClickListener(this);

}

 

public void onClick(View v){

int id = v.getId();    //  小提示:  在最新的Android API里  已经不推荐使用switch(v.getId){} 方式了,使用if()else方式,将swtich(){}方式快捷的替换成if()else方式

                              // 是 选中swtich  然后ctrl+1 ,会弹出一个代码提示框一样的,在提示框里点一下 convert 'swtich' to 'if-else' 就可以了,系统自动替换

    if(id==R.id.btnLogin){

         WeiboAuth mWeibo = new WeiboAuth(context, Constant.API_KEY, REDIRECT_URL, Constant.SCOPE);

         ssoHandler=new SsoHandler(MainActivity.this, mWeibo);

         ssoHandler.authorize(new AuthDialogListener());

    }

}

 

 

Handler mHandler = new Handler(){

  @Override

  public void handleMessage(Message msg) {

   // TODO Auto-generated method stub

   super.handleMessage(msg);

   if(msg.what == 0){

    Toast.makeText(MainActivity.this, “连接失败”, Toast.LENGTH_SHORT).show();

    setResult(RESULT_CANCELED);

    finish();

   }

  }  

 };

 

class AuthDialogListener implements WeiboAuthListener{

   // Oauth2.0 认证过程中,如果认证窗口被关闭或认证取消时调用。

   public void onCancel() {

    mHandler.sendEmptyMessage(0);

   }

   

 // 授权认证结束后将调用此方法。

   public void onComplete(Bundle arg0) {

            String token = arg0.getString("access_token");

            String expires_in = arg0.getString("expires_in");

            String xl_uid = arg0.getString("uid");

            Oauth2AccessToken accessToken = new Oauth2AccessToken(token, expires_in);

            //... 发送消息给微博

   }

   /**

    *  当认证过程中捕获到 
WeiboException
 时调用。
如:

    *   Web 授权时,加载 URL 异常,此时抛出 
WeiboDialogException


    *    Web 授权时,服务器返回的数据不正确,此时抛出 
WeiboAuthException


    *    参数 e - WeiboException 微博认证错误异常

    */

   @Override

   public void onWeiboException(WeiboException arg0) {

    System.out.println("weiboException:"+arg0);

    mHandler.sendEmptyMessage(0);

   }

   

  }

 

protected void onActivityResult(int requestCode, int resultCode,

    Intent data) {

   // TODO Auto-generated method stub

   super.onActivityResult(requestCode, resultCode, data);

   if(ssoHandler != null){

    ssoHandler.authorizeCallBack(requestCode, resultCode, data);

   }

  }

 

}

 





 

 

我是新手,  有时候能登陆,有时候说无法连接到服务器。。。还没搞通。。。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: