【问题标题】:Must start TweetUi Kit in Fabric.with() exception in Android code?必须在 Android 代码中的 Fabric.with() 异常中启动 TweetUi Kit?
【发布时间】:2016-05-31 09:59:45
【问题描述】:

嘿,所以我正在构建一个应用程序并尝试将 twitter 提要合并到应用程序中,我正在使用 Fabric 来做这件事。我已正确安装并且一切正常,但是当我尝试运行以下内容时,来自https://docs.fabric.io/android/twitter/show-timelines.html 的示例

我得到以下异常:

java.lang.IllegalStateException: Must start TweetUi Kit in Fabric.with().

有什么想法吗??

package com.android.twitterApp;

import io.fabric.sdk.android.Fabric;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;

import com.android.twitterApp.R;
import com.digits.sdk.android.Digits;
import com.twitter.sdk.android.core.TwitterAuthConfig;
import com.twitter.sdk.android.core.TwitterCore;
import com.twitter.sdk.android.tweetui.TweetTimelineListAdapter;
import com.twitter.sdk.android.tweetui.UserTimeline;



public class TwitterAPIActivity extends ListActivity {

// Note: Your consumer key and secret should be obfuscated in your source code before shipping.

private static final String TWITTER_KEY = "**********";
private static final String TWITTER_SECRET = "*********";

private Intent intent;

@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
    Fabric.with(this, new TwitterCore(authConfig), new Digits());

    setContentView(R.layout.timeline);

    final UserTimeline userTimeline = new UserTimeline.Builder()
        .screenName("fabric")
        .build();

    final TweetTimelineListAdapter adapter = new TweetTimelineListAdapter.Builder(this)
        .setTimeline(userTimeline)
        .build();

    setListAdapter(adapter);
}

}

【问题讨论】:

    标签: java android twitter twitter-fabric


    【解决方案1】:

    Fabric SDK 将功能分离到称为 Kits 的模块中。您必须通过 Fabric.with() 指明您希望使用的套件。这通常通过扩展 Android 的 Application 类来完成。

    public class MyApplication extends Application {
        @Override
        public void onCreate() {
            super.onCreate();
    
            TwitterAuthConfig authConfig = 
                       new TwitterAuthConfig("consumerKey",
                                             "consumerSecret");
    
            Fabric.with(this, new Twitter(authConfig));
    
            // Example: multiple kits
            // Fabric.with(this, new Twitter(authConfig),
            //                  new Crashlytics());
        }
    }
    

    更多信息:https://dev.twitter.com/twitter-kit/android/integrate

    请参阅规范示例应用程序:https://github.com/twitterdev/cannonball-android

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-17
      • 2015-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多