android - 如何使用 fabric 获取用户时间线?

标签 android twitter twitter-fabric

我正在尝试使用 Fabric 开发 Twitter 应用程序。我查看了 Fabric 文档(http://docs.fabric.io/android/twitter/show-timelines.html)并将代码集成到我的应用程序中。但我无法得到结果。在主要 Activity 中,我可以在我想将 Activity 重定向到时间线 Activity 后使用 Twitter 帐户登录。但是在重定向的其他 Activity 上似乎没有任何内容。我的错是什么?这是我的代码。 谢谢!

主 Activity .xml

<com.twitter.sdk.android.core.identity.TwitterLoginButton
    android:id="@+id/twitter_login_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"/>

主 Activity .java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
    Fabric.with(this, new Twitter(authConfig));
    setContentView(R.layout.activity_main);

    loginButton = (TwitterLoginButton) findViewById(R.id.twitter_login_button);
    loginButton.setCallback(new Callback<TwitterSession>() {
        @Override
        public void success(Result<TwitterSession> result) {
            // Do something with result, which provides a TwitterSession for making API calls
            Toast.makeText(getApplicationContext(), "Login Succeed", Toast.LENGTH_LONG).show();

             Intent timeLine = new Intent(MainActivity.this, Timeline.class); 
             startActivity(timeLine);

        }

时间轴.xml

<TextView android:id="@id/android:empty"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal|center_vertical"
    android:text="No Tweets"/>

<ListView android:id="@id/android:list"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:divider="#e1e8ed"
    android:dividerHeight="1dp"
    android:drawSelectorOnTop="false"/>

时间轴.java

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_timeline);

        final UserTimeline userTimeline = new UserTimeline.Builder()
                .screenName("fabric")
                .build();
        final TweetTimelineListAdapter adapter = new TweetTimelineListAdapter.Builder(this)
                .setTimeline(userTimeline)
                .build();
        setListAdapter(adapter);
    }

最佳答案

在您的Timeline.java 中,您可以搜索用户时间线:

private static final String SEARCH_QUERY = "almounir"; //the user name

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout. activity_timeline);

    ListView lv = (ListView) findViewById(R.id.list);
    //lv.setEmptyView(findViewById(R.id.loading)); d'ont forget to add loading pic 

    SearchTimeline searchTimeline = new SearchTimeline.Builder().query(SEARCH_QUERY).build();

    final TweetTimelineListAdapter timelineAdapter = new TweetTimelineListAdapter(this, searchTimeline);

    lv.setAdapter(timelineAdapter);
}

希望对你有帮助

关于android - 如何使用 fabric 获取用户时间线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32032237/

相关文章:

c# - Windows 应用程序的 Twitter OAuth Echo | PIN 码问题

javascript - 如何以 Angular 方式实现 Twitter 按钮

java - 将毫秒格式化为 hh :mm:ss format

android - 如何将 Firebase Auth token 传递给 webView 并在 Android 上注册通知

php - 如何使用 PHP 获取 JSON 对象中的第 n 项?

android - Crashlytics NDK 多 androidNdkOut 路径支持

ios - 如何在不安装客户端应用程序的情况下设置 Fabric/Crashlytics

android - 如何在 Android Studio 中添加 Eclipse Code Formatter 文件

android - 如何在 osx 中挂载 userdata.img 或 userdata-qemu.img