如何从Android中的特定用户的Twitter获取推文?(想在我的列表视图中显示推文(由登录用户完成))

时间:2013-08-13 11:38:07

标签: android twitter4j

我正在将Twitter与我的Android应用程序集成,因为我正在使用 Twitter4j 3.0.3 。到目前为止一切都很好我已经完成了新的推文,上传图片,更改个人资料图片。现在我想显示推文(由Signin用户组成)

为此,我使用了以下教程和链接

link 1

link 2

link 3

但我对这些并不完全满意,我也尝试了一个演示,但是我收到错误

    Invalid cookie
    header: “set-cookie: guest_id=v1%3A136932583219426033;
    Domain=.twitter.com; Path=/; Expires=Sat, 23-May-2015 16:17:12 UTC”.
    Unable to parse expires attribute: Sat, 23-May-2015 16:17:12 UTC

我试图找出解决方案,但我找到了相同的解决方案,如

Cookie Header

same issue like mine

他们已经展示了解决方案,但我无法弄清楚我的代码应该在哪里更改?

所以我在列表视图中需要一个很好的示例显示推文(由用户完成)我已经尝试过如上所示的大多数示例,但是我收到错误无效的Cookie 标题:所以请详细解释我我该如何解决这些错误?

1 个答案:

答案 0 :(得分:1)

我得到了我的问题的答案:)

这是...... :)

btn_getTweets.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                tweets_list.clear();
                TwitterLogin.mTwitter.getUserTweets();
                if(tweets_list.size()==0)
                {
                    Toast.makeText(getApplicationContext(),"You haven't tweeted yet.", Toast.LENGTH_SHORT).show();
                }
                else
                {
                    tweetsAdapter=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1,tweets_list);
                    listView.setAdapter(tweetsAdapter);
                }

            }
        });

其中TwitterLogin.mTwitter类已存储我的凭证。 和TwitterLogin.mTwitter.getUserTweets()方法是在其他类Like

public void getUserTweets(){
        System.out.println("Showing public timeline.");
        try {
            List<Status> statuses = mTwitter.getUserTimeline();
            for (Status status : statuses) {
                System.out.println(status.getUser().getName() + ":"
                        + status.getText());
             ComposeTwit.tweets_list.add(""+ status.getText());
            }
            Log.d("tweets_list Size", ""+ComposeTwit.tweets_list.size());
        } catch (TwitterException te) {
            System.out.println("Failed to get timeline: "
                    + te.getMessage());
            System.exit(-1);
        }

    }