【发布时间】:2017-09-08 22:30:25
【问题描述】:
编辑
omg 我显然应该休息一下... logcat 给出了这些错误,并且作为 似乎catch-block也被执行了,但消息是 正如我通过访问页面验证的那样实际发送: http://yamba.marakana.com/
实际上,我花了 2 个小时才意识到这一点.. 有人可以吗 请告诉我为什么该应用还想连接到 twitter?
我正在关注 MarakanaTechTV 的这个教程:https://www.youtube.com/watch?v=-P1eiRy-klk&feature=relmfu
这是关于构建一个类似 twitter 的客户端,但为简单起见(避免 OAuth),它使用位于此处的自己的服务:http://yamba.marakana.com/ 用户名是学生,密码是密码。
这是我的代码:
public void onClick(View v) {
final String statusText = editStatus.getText().toString();
//zeitkritische Aufgaben wie z.b. networking oder DB Zugriff dürfen nicht im main-thread laufen
//App crashed sonst
new Thread() {
public void run() {
try {
Twitter twitter = new Twitter("student", "password");
twitter.setAPIRootUrl("http://yamba.marakana.com/api");
twitter.setStatus(statusText);
} catch (Exception e) {
Log.e("error", "DIED", e);
//e.printStackTrace(e);
}
}
}.start();
Log.d("StatusActivity", "onClicked! with text: " + statusText);
}
}
这是 logcat 给我的:
04-08 20:48:14.329:D/gralloc_goldfish(1935):没有检测到 GPU 仿真的仿真器。 04-08 20:48:17.019: D/StatusActivity(1935): onClicked!带文字:ggfdg 04-08 20:48:23.308: D/StatusActivity(1935): onClicked!带文字:ggfdg 04-08 20:48:24.438:E/错误(1935):死亡 04-08 20:48:24.438: E/error(1935): winterwell.jtwitter.TwitterException$E401: 未经授权http://twitter.com/account/rate_limit_status.json(学生) 04-08 20:48:24.438: E/error(1935): at winterwell.jtwitter.URLConnectionHttpClient.processError(URLConnectionHttpClient.java:125) 04-08 20:48:24.438: E/error(1935): at winterwell.jtwitter.URLConnectionHttpClient.getPage(URLConnectionHttpClient.java:91) 04-08 20:48:24.438: E/error(1935): at winterwell.jtwitter.URLConnectionHttpClient.processError(URLConnectionHttpClient.java:143) 04-08 20:48:24.438: E/error(1935): at winterwell.jtwitter.URLConnectionHttpClient.post(URLConnectionHttpClient.java:219) 04-08 20:48:24.438: E/error(1935): at winterwell.jtwitter.Twitter.post(Twitter.java:1944) 04-08 20:48:24.438: E/error(1935): at winterwell.jtwitter.Twitter.updateStatus(Twitter.java:2555) 04-08 20:48:24.438: E/error(1935): at winterwell.jtwitter.Twitter.updateStatus(Twitter.java:2502) 04-08 20:48:24.438: E/error(1935): at winterwell.jtwitter.Twitter.setStatus(Twitter.java:2274) 04-08 20:48:24.438: E/error(1935): at com.example.yamba.StatusActivity$1.run(StatusActivity.java:34)
似乎应用程序试图连接到 twitter,尽管它应该连接到 marakana 服务,因为这条线:
twitter.setAPIRootUrl("http://yamba.marakana.com/api");
【问题讨论】:
标签: android multithreading twitter