将 Twitter API 与 Fabric 一起使用
Posted
技术标签:
【中文标题】将 Twitter API 与 Fabric 一起使用【英文标题】:Using Twitter API with Fabric 【发布时间】:2015-03-13 18:27:16 【问题描述】:当调试程序时得到推文,但当我只运行时说“不幸的是,APP 已停止。”
private void CargarTweets()
setProgressBarIndeterminateVisibility(true);
myLayout.removeAllViews();
StatusesService statusesService = Twitter.getApiClient().getStatusesService();
statusesService.userTimeline(null,"wgcv",10,null,null,null,null,null,null, new Callback<List<Tweet>>()
@Override
public void success(Result<List<Tweet>> listResult)
setProgressBarIndeterminateVisibility(false);
for (Tweet tweet : listResult.data)
myLayout.addView(
new CompactTweetView(Principal.this, tweet));
@Override
public void failure(TwitterException e)
);
Logcat:
03-13 13:49:09.937 3093-3093/me.wgcv.emergenciasgye E/androidRuntime﹕ FATAL EXCEPTION: main
Process: me.wgcv.emergenciasgye, PID: 3093
java.lang.IllegalArgumentException: MetricsManager may not be null
at com.twitter.sdk.android.tweetui.internal.TweetViewMetric.<init>(TweetViewMetric.java:30)
at com.twitter.sdk.android.tweetui.BaseTweetView.getTweetViewMetric(BaseTweetView.java:355)
at com.twitter.sdk.android.tweetui.BaseTweetView.initComponents(BaseTweetView.java:347)
at com.twitter.sdk.android.tweetui.BaseTweetView.<init>(BaseTweetView.java:135)
at com.twitter.sdk.android.tweetui.BaseTweetView.<init>(BaseTweetView.java:115)
at com.twitter.sdk.android.tweetui.BaseTweetView.<init>(BaseTweetView.java:105)
at com.twitter.sdk.android.tweetui.CompactTweetView.<init>(CompactTweetView.java:19)
at me.wgcv.emergenciasgye.Principal$1.success(Principal.java:66)
at com.twitter.sdk.android.core.Callback.success(Callback.java:23)
at retrofit.CallbackRunnable$1.run(CallbackRunnable.java:45)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
【问题讨论】:
???请提供更多信息... 当我调试程序运行正常,但是当我运行程序崩溃。我认为是请愿书的响应时间 03-13 13:45:08.377 3013-3013/me.wgcv.emergenciasgye E/AndroidRuntime:致命异常:主进程:me.wgcv.emergenciasgye,PID:3013 java.lang.IllegalArgumentException: MetricsManager 在 com.twitter.sdk.android.tweetui.internal.TweetViewMetric.添加应用
TwitterCore.getInstance().logInGuest(new Callback()
@Override
public void success(Result result)
AppSession guestAppSession = (AppSession) result.data;
TwitterApiClient twitterApiClient = TwitterCore.getInstance().getApiClient(guestAppSession);
StatusesService statusesService = Twitter.getApiClient().getStatusesService();
statusesService.userTimeline(382469423L,null,10,null,null,null,null,null,null, new Callback<List<Tweet>>()
@Override
public void success(Result<List<Tweet>> listResult)
setProgressBarIndeterminateVisibility(false);
for (Tweet tweet : listResult.data)
myLayout.addView(
new CompactTweetView(Principal.this, tweet));
@Override
public void failure(TwitterException e)
Log.e("Error","Error");
);
@Override
public void failure(TwitterException exception)
// unable to get an AppSession with guest auth
);
【讨论】:
以上是关于将 Twitter API 与 Fabric 一起使用的主要内容,如果未能解决你的问题,请参考以下文章
Twitter REST API 与 Twitter Fabric - Twitter 核心
如何通过 twitter 的 Fabric API (Android) 获取用户数据
使用fabric api在twitter上搜索用户名、hashtag