新浪微博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
![](https://img-blog.csdn.net/20140320180311578?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWlzc3RoaW5raW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
新建一个工程,参照上面的例子在权限文件里加入权限,写个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);
//... 发送消息给微博
}
/**
* 当认证过程中捕获到
如:
* Web 授权时,加载 URL 异常,此时抛出
* Web 授权时,服务器返回的数据不正确,此时抛出
* 参数 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);
}
}
}
![](https://img-blog.csdn.net/20140320184538625?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWlzc3RoaW5raW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20140320185326265?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWlzc3RoaW5raW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
我是新手, 有时候能登陆,有时候说无法连接到服务器。。。还没搞通。。。
下载地址: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);
}
}
}
我是新手, 有时候能登陆,有时候说无法连接到服务器。。。还没搞通。。。
相关文章推荐
- 《新浪微博Android客户端开发完整视频 Touch Android版》
- 开发新浪微博android客户端
- android开发我的新浪微博客户端-载入页面sqlite篇(1.2)
- [转]android开发新浪微博客户端 完整攻略 [新手必读]
- android开发我的新浪微博客户端-阅读微博功能篇(6.2)
- android开发我的新浪微博客户端-用户授权页面功能篇(3.2)
- android开发我的新浪微博客户端-OAuth篇
- android开发我的新浪微博客户端-OAuth认证过程中用WebView代替原来的系统自带浏览器
- android开发我的新浪微博客户端-登录页面功能篇
- android开发我的新浪微博客户端-OAuth认证过程中用WebView代替原来的系统自带浏览器
- android开发我的新浪微博客户端-载入页面sqlite篇(1.2)
- android开发我的新浪微博客户端-大图浏览以及保存篇(7)
- android开发我的新浪微博客户端-阅读微博功能篇(6.2)
- android开发我的新浪微博客户端-用户授权页面UI篇(3.1)
- android开发新浪微博客户端 完整攻略 [新手必读]
- (Touch Android) 新浪微博Android客户端开发第一篇:Logo 页面的实现
- android开发我的新浪微博客户端-OAuth篇
- android开发我的新浪微博客户端-载入页面sqlite篇(1.2)
- (Touch Android) 新浪微博Android客户端开发第二篇:OAuth页面的实现
- android开发我的新浪微博客户端-登录页面功能篇(4.2)