- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 this IBM example 中使用的 XmlPullParser 制作漫画 Rss 阅读器应用程序.我获取了 IBM 源代码,仅将 feedURL 更改为“http://fandom.com/rss/new/manga”,并将所有文件中的 PUB_DATE 字符串更改为 PUBDATE。我仍然无法让应用程序正常运行。
作为引用,我已将源代码重命名为 Otaku,因为我计划将其用作新应用程序的基础。它应该将此 Rss 提要显示为 ListView,但我不明白问题出在哪里。我碰巧是 logcat 文盲:(。我的日志猫状态:
07-29 13:24:17.963: E/Trace(670): error opening trace file: No such file or directory(2)
07-29 13:24:18.113: W/ActivityThread(670): Application com.mypacks.activities.otaku is waiting for the debugger on port 8100...
07-29 13:24:18.133: I/System.out(670): Sending WAIT chunk
07-29 13:24:18.133: I/dalvikvm(670): Debugger is active
07-29 13:24:18.333: I/System.out(670): Debugger has connected
07-29 13:24:18.333: I/System.out(670): waiting for debugger to settle...
07-29 13:24:18.533: I/System.out(670): waiting for debugger to settle...
07-29 13:24:18.733: I/System.out(670): waiting for debugger to settle...
07-29 13:24:18.943: I/System.out(670): waiting for debugger to settle...
07-29 13:24:19.171: I/System.out(670): waiting for debugger to settle...
07-29 13:24:19.386: I/System.out(670): waiting for debugger to settle...
07-29 13:24:19.646: I/System.out(670): waiting for debugger to settle...
07-29 13:24:19.857: I/System.out(670): waiting for debugger to settle...
07-29 13:24:20.089: I/System.out(670): debugger has settled (1518)
07-29 13:24:20.753: I/AndroidNews(670): ParserType=XML_PULL
07-29 13:24:20.903: E/AndroidNews(670): android.os.NetworkOnMainThreadException
07-29 13:24:20.903: E/AndroidNews(670): java.lang.RuntimeException: android.os.NetworkOnMainThreadException
07-29 13:24:20.903: E/AndroidNews(670): at com.mypacks.internals.otaku.XmlPullFeedParser.parse(XmlPullFeedParser.java:57)
07-29 13:24:20.903: E/AndroidNews(670): at com.mypacks.internals.otaku.MessageList.loadFeed(MessageList.java:77)
07-29 13:24:20.903: E/AndroidNews(670): at com.mypacks.internals.otaku.MessageList.onCreate(MessageList.java:33)
07-29 13:24:20.903: E/AndroidNews(670): at android.app.Activity.performCreate(Activity.java:5008)
07-29 13:24:20.903: E/AndroidNews(670): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
07-29 13:24:20.903: E/AndroidNews(670): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
07-29 13:24:20.903: E/AndroidNews(670): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
07-29 13:24:20.903: E/AndroidNews(670): at android.app.ActivityThread.access$600(ActivityThread.java:130)
07-29 13:24:20.903: E/AndroidNews(670): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
07-29 13:24:20.903: E/AndroidNews(670): at android.os.Handler.dispatchMessage(Handler.java:99)
07-29 13:24:20.903: E/AndroidNews(670): at android.os.Looper.loop(Looper.java:137)
07-29 13:24:20.903: E/AndroidNews(670): at android.app.ActivityThread.main(ActivityThread.java:4745)
07-29 13:24:20.903: E/AndroidNews(670): at java.lang.reflect.Method.invokeNative(Native Method)
07-29 13:24:20.903: E/AndroidNews(670): at java.lang.reflect.Method.invoke(Method.java:511)
07-29 13:24:20.903: E/AndroidNews(670): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
07-29 13:24:20.903: E/AndroidNews(670): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
07-29 13:24:20.903: E/AndroidNews(670): at dalvik.system.NativeStart.main(Native Method)
07-29 13:24:20.903: E/AndroidNews(670): Caused by: android.os.NetworkOnMainThreadException
07-29 13:24:20.903: E/AndroidNews(670): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)
07-29 13:24:20.903: E/AndroidNews(670): at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
07-29 13:24:20.903: E/AndroidNews(670): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
07-29 13:24:20.903: E/AndroidNews(670): at java.net.InetAddress.getAllByName(InetAddress.java:214)
07-29 13:24:20.903: E/AndroidNews(670): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
07-29 13:24:20.903: E/AndroidNews(670): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
07-29 13:24:20.903: E/AndroidNews(670): at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:341)
07-29 13:24:20.903: E/AndroidNews(670): at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
07-29 13:24:20.903: E/AndroidNews(670): at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
07-29 13:24:20.903: E/AndroidNews(670): at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:315)
07-29 13:24:20.903: E/AndroidNews(670): at libcore.net.http.HttpEngine.connect(HttpEngine.java:310)
07-29 13:24:20.903: E/AndroidNews(670): at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:289)
07-29 13:24:20.903: E/AndroidNews(670): at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:239)
07-29 13:24:20.903: E/AndroidNews(670): at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:273)
07-29 13:24:20.903: E/AndroidNews(670): at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:168)
07-29 13:24:20.903: E/AndroidNews(670): at com.mypacks.internals.otaku.BaseFeedParser.getInputStream(BaseFeedParser.java:36)
07-29 13:24:20.903: E/AndroidNews(670): at com.mypacks.internals.otaku.XmlPullFeedParser.parse(XmlPullFeedParser.java:19)
07-29 13:24:20.903: E/AndroidNews(670): ... 16 more
07-29 13:24:21.173: I/Choreographer(670): Skipped 44 frames! The application may be doing too much work on its main thread.
07-29 13:24:21.223: D/gralloc_goldfish(670): Emulator without GPU emulation detected.
最佳答案
这是您的 logcat 中的重要部分:
Caused by: android.os.NetworkOnMainThreadException
这告诉您您正在尝试发出网络请求以从主线程获取 RSS 提要。
从 Honeycomb (IIRC) 开始,在主线程上执行网络请求会抛出异常,因为平台创建者想提醒您网络操作不应在主线程上进行。
“修复”此问题的快速方法是为较低的 API 级别构建您的应用程序。
更正确的解决方案是将您的网络操作移到它自己的后台线程上。一种方法是将 RSSReader Activity 中的 onCreate() 方法更改为如下所示:
private RSSFeed feed = null;
private Handler h;
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
//Set up a Handler to call updateDisplay() once the feed has been fetched.
h = new Handler(){
@Override
public void handleMessage(Message msg){
// display UI
UpdateDisplay();
}
};
Thread t = new Thread() {
@Override
public void run() {
// go get our feed!
feed = getFeed(RSSFEEDOFCHOICE);
//Send a signal to the handler to tell it that we are done fetching the feed.
h.sendEmptyMessage(0);
}
};
t.start();
}
另一种方法是使用 AsyncTask .
This Lars Vogella blog post是学习线程/处理程序和 AsyncTask 时使用的GREAT资源。
关于android - 使用 IBM 示例将 Xml 解析为 android ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11711717/
IBM Watson 和 IBM Inforsphere BigInsights (IBM Hadoop)/Streams 之间有什么区别? Watson 带来了 BigInsights 无法提供的哪
据我所知,Rational 是一种测试工具,而 Rational Rose 是一种建模工具。 最佳答案 Rational 是一家为软件开发生命周期制作工具的公司。 Rational Rose 就是这样
我尝试将 ibm-eventstreams-dev v 0.1.1 安装到 IBM Cloud Private 中,但收到一条错误消息: 内部服务错误:图表与 Tiller v2.6.0 不兼容 最佳
我正在尝试配置连接到集群MQ的集群Websphere应用程序服务器。 但是,我所掌握的信息是两个具有不同主机名,服务器通道和队列管理器的MQ实例的详细信息,这些主机名属于同一MQ集群名称。 在Webs
我想问问你们中的一些聪明人 :) 是否可以在 IBM Connections 文件中使用目录结构。还有图书馆,但我无法通过 webdav/smdb 映射它,也许这是关于我的信息差距,但我可以安装桌面插
我一次又一次地读到 IBM i 是一个支持多种编程语言的现代系统。除了 COBOL 和 RPG 之外,我如何确定哪些可供我使用? 维基百科上提供了一份 list ,我对 C、C++、BASIC、Sma
是否可以将 IBM HTTP 服务器设置为非 IBM Websphere 应用程序服务器(Glassfish、Apache Tomcat 或其他 Java 应用程序服务器)的前端?IBM 支持吗?我试
我有一个在 IBM Bluemix 上运行的简单 JSF 应用程序,与以下 J2EE 依赖项配合良好。 javax javaee-web-api 6.
我正在查看一个 RPG 程序。有一些这样的子程序:有没有工具哪个会将其创建为一个过程,可以在单独的过程中使用? C Eval FinQty# = 0
我正在设计一个新的体系结构大数据,我的客户将其作为IBM MQ代理使用。我们曾经在大数据架构中与Kafka一起工作,因为我想它比其他选择更快,更可靠,更强大,并且因为风暴和火花流在Kafka中更容易工
我偶然发现了一些 FMTDTA,它似乎是一种查询/排序语言,早于旧 RPG 系统中的 SQL。我试图解开它的用法。 例子: 物理文件布局: ORNO S 9 0 1
除了许可之外,IBM Worklight 的企业版和消费者版之间在功能方面是否存在任何差异? 最佳答案 企业版的销售目的是在组织内使用 (B2E)。许可证是“每台设备”。消费者版旨在以 B2C 的形式
我希望使用 IBM Worklight v5.0.5 Fix pack 1 设置 Eclipse 开发环境。 我可以获得有关旧版本 Worklight 的安装链接的一些指示吗? 最佳答案 查看下面的可
是否可以保留已检索且不再位于队列中的消息历史记录(包含消息内容将是完美的)? 在应用程序中,我可以看到发送者何时尝试将消息放入队列以及接收者何时尝试拾取消息,但我想查看消息何时真正到达队列以及消息何时
我正在向远程队列发送消息,但我无法控制该队列。 我发送一个 xml 文件作为消息,但是当应用程序读取消息时,它会得到一个消息头,例如 jms_text \0\0\0lqueue:///TEST128
在什么情况下队列管理器可能会失去与集群环境中存储库的连接?我的环境中队列管理器经常失去与存储库的连接,我需要刷新集群来修复此问题并重新建立与集群中其他队列管理器的通信。 我们的集群有 100 个队列管
我们正在为助手实现 Watson 技术,以帮助某些用户。 对话有些复杂,有时需要针对某些问题做跳答,这样做的坏处是用户可以再问一遍问题,以防不明白这就是问题所在。 当想进入后续进入的节点时,该节点进行
我们有一个启用了 DevOps 交付管道的 NodeJS Cloud Foundry 应用程序。 最初,我们将管道设置为使用 Bluemix 中交付管道的 Active Deploy 扩展来部署应用程
请注意,此问题特定于“IBM DB2 for i”,即 IBM i 操作系统的 version of DB2 . 下面的屏幕截图显示了一个故意错误的 INSERT 语句,它产生了 SQL0407 的
我想使用 IBM Websphere MQ 客户端 v7.5。我正在编写独立的 JMS 客户端应用程序来发送和使用来自 IBM WebsphereMQ 服务器的消息(它在其他地方运行,但我有权发送/接
我是一名优秀的程序员,十分优秀!