显示Twitter用户的时间线

时间:2011-10-20 04:47:06

标签: android twitter

我已经成功完成了这个:http://www.sitepoint.com/loading-twitter-data-into-android-with-lists/教程并让我的应用根据搜索条件显示推文。

我希望我的应用做的是显示特定用户的时间轴。

从那个教程我已经用这个取代了我的获取线:

HttpGet("http://api.twitter.com/1/statuses/user_timeline.json?screen_name=android");

我的listview没有结果..我不需要验证用户名和密码,因为我想要做的就是显示时间轴,而不是操纵它。

4 个答案:

答案 0 :(得分:2)

如果您使用Twitter4j,这很简单:

 public final class GetTimelines {
        /**
         * Usage: java twitter4j.examples.GetTimelines ID Password
         * @param args String[]
         */
        public static void main(String[] args) {

            Twitter unauthenticatedTwitter = new TwitterFactory()
                    .getInstance();
            System.out.println("Showing public timeline.");
            try {
                List<Status> statuses = unauthenticatedTwitter
                        .getPublicTimeline();
                for (Status status : statuses) {
                    System.out.println(status.getUser().getName() + ":"
                            + status.getText());
                }
                if (args.length < 2) {
                    System.out
                            .println("You need to specify TwitterID/Password combination to show UserTimelines.");
                    System.out
                            .println("Usage: java twitter4j.examples.GetTimelines ID Password");
                    System.exit(0);
                }

                // Other methods require authentication
                Twitter twitter = new TwitterFactory().getInstance(args[0],
                        args[1]);
                statuses = twitter.getFriendsTimeline();
                System.out.println("------------------------------");
                System.out.println("Showing " + args[0]
                        + "'s friends timeline.");
                for (Status status : statuses) {
                    System.out.println(status.getUser().getName() + ":"
                            + status.getText());
                }
                statuses = twitter.getUserTimeline();
                System.out.println("------------------------------");
                System.out.println("Showing " + args[0] + "'s timeline.");
                for (Status status : statuses) {
                    System.out.println(status.getUser().getName() + ":"
                            + status.getText());
                }
                Status status = twitter.showStatus(81642112l);
                System.out.println("------------------------------");
                System.out.println("Showing " + status.getUser().getName()
                        + "'s status updated at " + status.getCreatedAt());
                System.out.println(status.getText());
                System.exit(0);
            } catch (TwitterException te) {
                System.out.println("Failed to get timeline: "
                        + te.getMessage());
                System.exit(-1);
            }
        }
    }

取自here

的样本

答案 1 :(得分:0)

您可以在https://github.com/robhinds/AndroidTwitterDemo

获得问题的答案

http://automateddeveloper.blogspot.com/2011/06/android-twitter-oauth-authentication.html

使用twitter4j jar进行相同的

希望能帮到你...

答案 2 :(得分:0)

如果您只想获取用户时间线而不是最佳方式 -

twitter4j jar文件 - http://twitter4j.org/archive/twitter4j-3.0.3.zip

要注册您的应用,请访问dev.twitter.com

我们可以使用twitter oauth获取使用时间表,对于此过程,我们不需要提供任何用户凭据

    ConfigurationBuilder builder = new ConfigurationBuilder();
    builder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY);
    builder.setOAuthConsumerSecret(TWITTER_CONSUMER_SECRET);
    builder.setOAuthAccessToken(TWITTER_ACCESS_KEY);
    builder.setOAuthAccessTokenSecret(TWITTER_ACCESS_SECRET);
    Configuration configuration = builder.build();
    TwitterFactory factory = new TwitterFactory(configuration);
    Twitter twitter = factory.getInstance();
    Paging page = new Paging();
    page.setCount(100);
    List<Status> statuses = new ArrayList<Status>();
    statuses = twitter.getUserTimeline("write username here", page);
    for (Status status : statuses) {
        System.out.println("title is : " + status.getText());
    }

答案 3 :(得分:0)

Twitter已经为您的需求推出了Fabric SDK。这是一个网站:Twitter Fabric。安装SDK时,您的Android工作室将为Fabric Sdk添加新图标。您必须安装Twitter工具包并使用嵌入推文。对于用户时间线,您必须使用UserTimeline。此外,您在github中有一些项目可以帮助您了解Twitter工具包的工作原理: Github repo