Android 显示Twitter用户';时间轴

Android 显示Twitter用户';时间轴,android,twitter,Android,Twitter,我已经成功地完成了这个:教程,并让我的应用程序根据搜索条件显示推文 我希望我的应用程序能够显示特定用户的时间线 从该教程中,我将get行替换为: HttpGet("http://api.twitter.com/1/statuses/user_timeline.json?screen_name=android"); 我在我的listview中没有得到任何结果。。我不需要验证用户名和密码,因为我只想显示时间线,而不是操纵它。如果您使用的是Twitter4j,这非常简单: public final

我已经成功地完成了这个:教程,并让我的应用程序根据搜索条件显示推文

我希望我的应用程序能够显示特定用户的时间线

从该教程中,我将get行替换为:

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

我在我的listview中没有得到任何结果。。我不需要验证用户名和密码,因为我只想显示时间线,而不是操纵它。

如果您使用的是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);
            }
        }
    }
公共最终类GetTimelines{
/**
*用法:java twitter4j.examples.GetTimelines ID密码
*@param args字符串[]
*/
公共静态void main(字符串[]args){
TwitterUnauthenticatedTwitter=新建TwitterFactory()
.getInstance();
System.out.println(“显示公共时间线”);
试一试{
列表状态=未经验证的Twitter
.getPublicTimeline();
用于(状态:状态){
System.out.println(status.getUser().getName()+“:”
+status.getText());
}
如果(参数长度<2){
系统输出
.println(“您需要指定TwitterID/密码组合以显示用户时间线”);
系统输出
.println(“用法:java twitter4j.examples.GetTimelines ID密码”);
系统出口(0);
}
//其他方法需要身份验证
Twitter=new TwitterFactory().getInstance(args[0],
args[1]);
status=twitter.getFriendsTimeline();
System.out.println(“-----------------------------------”);
System.out.println(“显示”+args[0]
+“《老友记》时间表。”);
用于(状态:状态){
System.out.println(status.getUser().getName()+“:”
+status.getText());
}
status=twitter.getUserTimeline();
System.out.println(“-----------------------------------”);
System.out.println(“显示“+args[0]+”的时间线”);
用于(状态:状态){
System.out.println(status.getUser().getName()+“:”
+status.getText());
}
Status Status=twitter.showStatus(81642112l);
System.out.println(“-----------------------------------”);
System.out.println(“显示”+status.getUser().getName())
+“”的状态更新为“+status.getCreatedAt());
System.out.println(status.getText());
系统出口(0);
}捕获(twitter异常){
System.out.println(“未能获取时间线:”
+te.getMessage());
系统退出(-1);
}
}
}

样本取自

你可以在

使用twitter4j jar进行同样的测试


如果您只想获取用户时间线,希望可以帮助您…

最好的方法是-

twitter4j jar文件-

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

我们可以通过使用TwitterOAuth获取使用时间线,对于这个过程,我们不需要提供任何用户凭据

    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());
    }
ConfigurationBuilder=新的ConfigurationBuilder();
setOAuthConsumerKey(TWITTER用户密钥);
setOAuthConsumerCret(TWITTER\u CONSUMER\u SECRET);
setOAuthAccessToken(TWITTER\u访问密钥);
setOAuthAccessTokenSecret(TWITTER\u ACCESS\u SECRET);
配置=builder.build();
TwitterFactory=新TwitterFactory(配置);
Twitter=factory.getInstance();
分页页=新分页();
第页设置计数(100);
列表状态=新建ArrayList();
statuses=twitter.getUserTimeline(“在此处写入用户名”,第页);
用于(状态:状态){
System.out.println(“标题是:“+status.getText());
}

Twitter推出了Fabric SDK,以满足您这样的需求。这里有一个网站:。当您安装SDK时,您将在Android studio中为Fabric SDK添加新图标。你必须安装Twitter工具包并使用嵌入tweets。对于用户时间线,您必须使用UserTimeline。此外,您在github中有一些项目可以帮助您了解Twitter工具包的工作原理:

不,我不是,我不需要使用搜索方法,那么如何在我的ListView中获得它呢?它返回一个列表,使用ListAdapter将ListView的内容同步到此返回的列表。