Android新浪微博分享
在Android开发过程中,很多时候,我们都需要为我们的软件添加一个微博分享的功能。
今天,我们就尝试为我们的软件添加一个微博分享的功能。
第一步:去新浪微博官方申请AppKey,此部分不是今天的内容,请自行百度或Google。
第二步:下载新浪提供的jar包。我们下载回来的SDK目录是这样的
我们需要的是weibo.sdk.android.sso目录下的weibo.sdk.android.sso.jar
第三步:开始我们的开发路程。
1) 新建一个Android项目
2) 将weibo.sdk.android.sso.jar拷贝到libs目录里,Eclipse会自动添加到Build Path路径里,不需要我们再手动添加
3) 接下来,编写代码
MainActivity.java关键代码
Weibo mWeibo = Weibo.getInstance(CONSUMER_KEY, REDIRECT_URL);
//请替换为自己的AppKey和Redirect_url
mWeibo.authorize(MainActivity.this, new AuthDialogListener());
class AuthDialogListener implements WeiboAuthListener {
@Override
public void onComplete(Bundle values) {
String token = values.getString("access_token");
String expires_in = values.getString("expires_in");
editor = pre.edit();
editor.putString("token", token);
editor.putString("expires_in", expires_in);
editor.commit();
}
@Override
public void onWeiboException(WeiboException e) {
Toast.makeText(getApplicationContext(),
"Auth exception : " + e.getMessage(), Toast.LENGTH_LONG)
.show();
}
@Override
public void onError(WeiboDialogError e) {
Toast.makeText(getApplicationContext(),
"Auth error : " + e.getMessage(), Toast.LENGTH_LONG).show();
}
@Override
public void onCancel() {
Toast.makeText(getApplicationContext(), "Auth cancel : ",
Toast.LENGTH_LONG).show();
}
}
ShareAct.java关键代码
access_token = new Oauth2AccessToken(pre.getString("token", ""),
pre.getString("expires_in", "0"));
StatusesAPI api = new StatusesAPI(access_token);
/**
* upload(String content, String file, String lat, String lon, RequestListener listener)
* content为要分享的内容
* file为要分享图片路径
* lat和lng为经纬度,可根据自己的需要设置
* listener为监听器,用于监听发布结果
*/
api.upload(et1.getText().toString(), "mnt/sdcard/pic1.jpg","o", "o", this);
4) 最后,请不要忘记添加权限。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
5) 运行,大功告成。