加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 教程 > 正文

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编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读