歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android新浪微博-項目整理總結

Android新浪微博-項目整理總結

日期:2017/3/1 10:45:36   编辑:Linux編程

是一些很簡單的東西,以前遇到問題也都搜索求助別人搞定了,現在來做一下整理

下載SDK

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /pub/2011/12/24/Android新浪微博-項目整理總結/weibo4android/

測試

將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,以及各種權限別忘了

  1. <activity android:name=".OAuthActivity">
  2. <intent-filter>
  3. <action android:name="android.intent.action.VIEW" />
  4. <category android:name="android.intent.category.DEFAULT" />
  5. <category android:name="android.intent.category.BROWSABLE" />
  6. <data android:scheme="Tree" android:host="Growing" />
  7. </intent-filter>
  8. </activity>
|-MainActivity
  1. package tree.love.weiboFinishing;
  2. import weibo4android.Weibo;
  3. import weibo4android.WeiboException;
  4. import weibo4android.http.RequestToken;
  5. import android.app.Activity;
  6. import android.content.Intent;
  7. import android.net.Uri;
  8. import android.os.Bundle;
  9. import android.view.View;
  10. import android.view.View.OnClickListener;
  11. public class MainActivity extends Activity implements OnClickListener
  12. {
  13. @Override
  14. public void onCreate(Bundle savedInstanceState)
  15. {
  16. super.onCreate(savedInstanceState);
  17. setContentView(R.layout.main);
  18. findViewById(R.id.buttonTraditionOAuth).setOnClickListener(this);
  19. System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);
  20. System.setProperty("weibo4j.oauth.consumerSecret",Weibo.CONSUMER_SECRET);
  21. }
  22. @Override
  23. public void onClick(View v)
  24. {
  25. switch (v.getId())
  26. {
  27. case R.id.buttonTraditionOAuth:
  28. Weibo weibo = new Weibo();
  29. RequestToken requestToken;
  30. try
  31. {
  32. requestToken = weibo.getOAuthRequestToken("tree://Growing");
  33. OAuthConstant.getInstance().setRequestToken(requestToken);
  34. Uri uri = Uri.parse(requestToken.getAuthenticationURL());
  35. startActivity(new Intent(Intent.ACTION_VIEW, uri));
  36. }
  37. catch (WeiboException e)
  38. {e.printStackTrace();}
  39. break;
  40. default:
  41. break;
  42. }
  43. }
  44. }

|-OAuthActivity

  1. package tree.love.weiboFinishing;
  2. import java.util.List;
  3. import weibo4android.Paging;
  4. import weibo4android.Status;
  5. import weibo4android.Weibo;
  6. import weibo4android.WeiboException;
  7. import weibo4android.http.AccessToken;
  8. import weibo4android.http.RequestToken;
  9. import android.app.Activity;
  10. import android.net.Uri;
  11. import android.os.Bundle;
  12. import android.view.View;
  13. import android.widget.Button;
  14. import android.widget.TextView;
  15. public class OAuthActivity extends Activity
  16. {
  17. public void onCreate(Bundle savedInstanceState)
  18. {
  19. super.onCreate(savedInstanceState);
  20. setContentView(R.layout.timeline);
  21. Uri uri = this.getIntent().getData();
  22. try
  23. {
  24. RequestToken requestToken = OAuthConstant.getInstance().getRequestToken();
  25. AccessToken accessToken = requestToken.getAccessToken(uri.getQueryParameter("oauth_verifier"));
  26. OAuthConstant.getInstance().setAccessToken(accessToken);
  27. TextView textView = (TextView) findViewById(R.id.TextView01);
  28. textView.setText("得到AccessToken的key和Secret,可以使用這兩個參數進行授權登錄了.\n Access token:\n"
  29. + accessToken.getToken()
  30. + "\n Access token secret:\n"
  31. + accessToken.getTokenSecret());
  32. }
  33. catch (WeiboException e)
  34. {
  35. e.printStackTrace();
  36. }
  37. Button button = (Button) findViewById(R.id.Button01);
  38. button.setText("某一話題下的微博");
  39. button.setOnClickListener(new Button.OnClickListener() {
  40. public void onClick(View v)
  41. {
  42. Weibo weibo = OAuthConstant.getInstance().getWeibo();
  43. weibo.setToken(OAuthConstant.getInstance().getToken(),
  44. OAuthConstant.getInstance().getTokenSecret());
  45. List<Status> friendsTimeline;
  46. try
  47. {
  48. friendsTimeline = weibo.getTrendStatus("seaeast",
  49. new Paging(1, 20));
  50. StringBuilder stringBuilder = new StringBuilder("");
  51. for (Status status : friendsTimeline)
  52. {
  53. stringBuilder.append(status.getUser().getScreenName()
  54. + "說:\n"
  55. + status.getText()
  56. + "\n--------------------------------------------------\n");
  57. }
  58. TextView textView = (TextView) findViewById(R.id.TextView01);
  59. textView.setText(stringBuilder.toString());
  60. }
  61. catch (WeiboException e)
  62. {
  63. e.printStackTrace();
  64. }
  65. }
  66. });
  67. }
  68. }

|-OAuthConstant

  1. package tree.love.weiboFinishing;
  2. import weibo4android.Weibo;
  3. import weibo4android.http.AccessToken;
  4. import weibo4android.http.RequestToken;
  5. public class OAuthConstant
  6. {
  7. private static Weibo weibo = null;
  8. private static OAuthConstant instance = null;
  9. private RequestToken requestToken;
  10. private AccessToken accessToken;
  11. private String token;
  12. private String tokenSecret;
  13. private OAuthConstant()
  14. {
  15. };
  16. public static synchronized OAuthConstant getInstance()
  17. {
  18. if (instance == null)
  19. instance = new OAuthConstant();
  20. return instance;
  21. }
  22. public Weibo getWeibo()
  23. {
  24. if (weibo == null)
  25. weibo = new Weibo();
  26. return weibo;
  27. }
  28. public AccessToken getAccessToken()
  29. {
  30. return accessToken;
  31. }
  32. public void setAccessToken(AccessToken accessToken)
  33. {
  34. this.accessToken = accessToken;
  35. this.token = accessToken.getToken();
  36. this.tokenSecret = accessToken.getTokenSecret();
  37. }
  38. public RequestToken getRequestToken()
  39. {
  40. return requestToken;
  41. }
  42. public void setRequestToken(RequestToken requestToken)
  43. {
  44. this.requestToken = requestToken;
  45. }
  46. public String getToken()
  47. {
  48. return token;
  49. }
  50. public void setToken(String token)
  51. {
  52. this.token = token;
  53. }
  54. public String getTokenSecret()
  55. {
  56. return tokenSecret;
  57. }
  58. public void setTokenSecret(String tokenSecret)
  59. {
  60. this.tokenSecret = tokenSecret;
  61. }
  62. }
Copyright © Linux教程網 All Rights Reserved