显示Twitter用户时间线

3
我已经成功完成了这个教程:http://www.sitepoint.com/loading-twitter-data-into-android-with-lists/,并让我的应用程序根据搜索条件显示推文。
我希望我的应用程序能够显示特定用户的时间轴。
从那个教程中,我用以下代码替换了我的get行:
HttpGet("http://api.twitter.com/1/statuses/user_timeline.json?screen_name=android");

我的列表视图没有显示任何结果。我不应该需要验证用户名和密码,因为我只是想显示时间轴,而不是操作它。


不,我不是,使用搜索方法时我不需要这样做。 - Nick Nelson
4个回答

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);
            }
        }
    }

Sample taken from here


那么我该如何将它显示在我的ListView中呢? - Nick Nelson
它返回一个List<Status>,使用ListAdapter将ListView的内容与返回的List同步。 - Reno

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());
    }

0
Twitter 推出了适用于您需求的 Fabric SDK。这是一个网站: Twitter Fabric。当您安装 SDK 后,在 Android Studio 中会出现 Fabric SDK 的新图标。你需要安装 Twitter kit 并嵌入推文。对于用户时间线,您需要使用 UserTimeline。此外,您可以在 GitHub 上找到一些项目,可以帮助您了解 Twitter kit 的工作方式: Github repo

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接