Android新浪微博-项目整理概括
发布时间:2021-11-24 18:10:02 所属栏目:教程 来源:互联网
导读:将weibo4android-1.2.1.zip解压,导入Eclipse,测试运行 |--修改Weibo.java public static String CONSUMER_KEY = 自己应用的CONSUMER_KEY; public static String CONSUMER_SECRET = 自己应用的CONSUMER_SECRET ; |-运行项目 |-打开Android系统自带的浏览器进
将weibo4android-1.2.1.zip解压,导入Eclipse,测试运行 |--修改Weibo.java public static String CONSUMER_KEY = "自己应用的CONSUMER_KEY"; public static String CONSUMER_SECRET = "自己应用的CONSUMER_SECRET "; |-运行项目 |-打开Android系统自带的浏览器进行Oauth认证 |-获取到AccessToken的key和secret 创建Android项目 |-复制weibo4android,weibo4android.http;weibo4android.org.json;weibo4android.util;下的类都复制到我们新建项目中 |-把commons-codec.jar,commons-httpclient-3.1.jar,commons-logging-1.1.jar这几个jar也Add To Path到新建项中 传统的使用Android系统浏览器进行Oauth认证-参照weibo4android.androidexamples |-在AndroidManifest.xml中配置授权回调的Activity,以及各种权限别忘了 <activity android:name=".OAuthActivity"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="Tree" android:host="Growing" /> </intent-filter> </activity> |-MainActivity package tree.love.weiboFinishing; import weibo4android.Weibo; import weibo4android.WeiboException; import weibo4android.http.RequestToken; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; public class MainActivity extends Activity implements OnClickListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); findViewById(R.id.buttonTraditionOAuth).setOnClickListener(this); System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY); System.setProperty("weibo4j.oauth.consumerSecret",Weibo.CONSUMER_SECRET); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.buttonTraditionOAuth: Weibo weibo = new Weibo(); RequestToken requestToken; try { requestToken = weibo.getOAuthRequestToken("tree://Growing"); OAuthConstant.getInstance().setRequestToken(requestToken); Uri uri = Uri.parse(requestToken.getAuthenticationURL()); startActivity(new Intent(Intent.ACTION_VIEW, uri)); } catch (WeiboException e) {e.printStackTrace();} break; default: break; } } } |-OAuthActivity package tree.love.weiboFinishing; import java.util.List; import weibo4android.Paging; import weibo4android.Status; import weibo4android.Weibo; import weibo4android.WeiboException; import weibo4android.http.AccessToken; import weibo4android.http.RequestToken; import android.app.Activity; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class OAuthActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.timeline); Uri uri = this.getIntent().getData(); try { RequestToken requestToken = OAuthConstant.getInstance().getRequestToken(); AccessToken accessToken = requestToken.getAccessToken(uri.getQueryParameter("oauth_verifier")); OAuthConstant.getInstance().setAccessToken(accessToken); TextView textView = (TextView) findViewById(R.id.TextView01); textView.setText("得到AccessToken的key和Secret,可以使用这两个参数进行授权登录了.n Access token:n" + accessToken.getToken() + "n Access token secret:n" + accessToken.getTokenSecret()); } catch (WeiboException e) { e.printStackTrace(); } Button button = (Button) findViewById(R.id.Button01); button.setText("某一话题下的微博"); button.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { Weibo weibo = OAuthConstant.getInstance().getWeibo(); weibo.setToken(OAuthConstant.getInstance().getToken(), OAuthConstant.getInstance().getTokenSecret()); List<Status> friendsTimeline; try { friendsTimeline = weibo.getTrendStatus("seaeast", new Paging(1, 20)); StringBuilder stringBuilder = new StringBuilder(""); for (Status status : friendsTimeline) { stringBuilder.append(status.getUser().getScreenName() + "说:n" + status.getText() + "n--------------------------------------------------n"); } TextView textView = (TextView) findViewById(R.id.TextView01); textView.setText(stringBuilder.toString()); } catch (WeiboException e) { e.printStackTrace(); } } }); } } |-OAuthConstant package tree.love.weiboFinishing; import weibo4android.Weibo; import weibo4android.http.AccessToken; import weibo4android.http.RequestToken; public class OAuthConstant { private static Weibo weibo = null; private static OAuthConstant instance = null; private RequestToken requestToken; private AccessToken accessToken; private String token; private String tokenSecret; private OAuthConstant() { }; public static synchronized OAuthConstant getInstance() { if (instance == null) instance = new OAuthConstant(); return instance; } public Weibo getWeibo() { if (weibo == null) weibo = new Weibo(); return weibo; } public AccessToken getAccessToken() { return accessToken; } public void setAccessToken(AccessToken accessToken) { this.accessToken = accessToken; this.token = accessToken.getToken(); this.tokenSecret = accessToken.getTokenSecret(); } public RequestToken getRequestToken() { return requestToken; } public void setRequestToken(RequestToken requestToken) { this.requestToken = requestToken; } public String getToken() { return token; } public void setToken(String token) { this.token = token; } public String getTokenSecret() { return tokenSecret; } public void setTokenSecret(String tokenSecret) { this.tokenSecret = tokenSecret; } } ![]() (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |