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)  运行,大功告成。

 

posted @ 2013-03-01 15:06  Androidworker  阅读(552)  评论(0编辑  收藏  举报