新浪微博开发二------------------------登陆篇

来源:互联网 发布:sass for mac 安装 编辑:程序博客网 时间:2024/05/17 20:43

登陆主要用到了OAuth2.0协议,不懂了可以看下百度百科

package test.sinalogin;import java.io.IOException;import java.text.SimpleDateFormat;import com.weibo.sdk.android.Oauth2AccessToken;import com.weibo.sdk.android.Weibo;import com.weibo.sdk.android.WeiboAuthListener;import com.weibo.sdk.android.WeiboDialogError;import com.weibo.sdk.android.WeiboException;import com.weibo.sdk.android.net.RequestListener;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageButton;import android.widget.TextView;import android.widget.Toast;public class SinaLoginActivity extends Activity {    /** Called when the activity is first created. */private ImageButton button;private Weibo weibo; private static final String CONSUMER_KEY = "xxxxxxxxxxxxx";// 替换为开发者的appkey     private static final String REDIRECT_URL = "http://www.sina.com";//回调网址     public static Oauth2AccessToken accessToken;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        weibo=Weibo.getInstance(CONSUMER_KEY, REDIRECT_URL);        button=(ImageButton)findViewById(R.id.LoginButton);        button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubweibo.authorize(SinaLoginActivity.this, new AuthDialogListener());//调用认证功能的C//ontext实例}});    }        private class AuthDialogListener implements WeiboAuthListener    {@Overridepublic void onCancel() {// TODO Auto-generated method stub}@Overridepublic void onComplete(Bundle values) {// TODO Auto-generated method stub String token = values.getString("access_token");             String expires_in = values.getString("expires_in");             SinaLoginActivity.accessToken = new Oauth2AccessToken(token, expires_in);            if (SinaLoginActivity.accessToken.isSessionValid())             {                     AccessTokenKeeper.keepAccessToken(SinaLoginActivity.this,accessToken);//保存acce_token,                     Toast.makeText(SinaLoginActivity.this, "认证成功", Toast.LENGTH_SHORT).show();                     Intent intent=new Intent(SinaLoginActivity.this,HomeActivity1.class);       startActivity(intent);                                  }}@Overridepublic void onError(WeiboDialogError arg0) {// TODO Auto-generated method stub}@Overridepublic void onWeiboException(WeiboException arg0) {// TODO Auto-generated method stub}        }      }