android AsyncTask xml解析

2024-04-09

我尝试在 AsyncTask 中解析一个大的 xml 文档。 FeinstaubActivity 启动,但我只看到黑屏,然后返回到 RSSReaderActivity,从我启动另一个 Activity 的地方开始。

Log:

DEBUG/SntpClient(58): request time failed: java.net.SocketException: Address family not supported by protocol
WARN/KeyCharacterMap(623): No keyboard for id 0
WARN/KeyCharacterMap(623): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
INFO/ActivityManager(58): Starting activity: Intent { cmp=de.test.testapp/.FeinstaubActivity }
DEBUG/AndroidRuntime(623): Shutting down VM
WARN/dalvikvm(623): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
WARN/dalvikvm(623): threadid=7: thread exiting with uncaught exception (group=0x4001d800)
INFO/Process(623): Sending signal. PID: 623 SIG: 9
INFO/ActivityManager(58): Process de.test.testapp (pid 623) has died.
INFO/WindowManager(58): WIN DEATH: Window{4402be18 AtchDlg:de.test.testapp/de.test.testapp.RSSReaderActivity paused=false}
INFO/WindowManager(58): WIN DEATH: Window{4400dd68 de.test.testapp/de.test.testapp.RSSReaderActivity paused=false}
INFO/ActivityManager(58): Start proc de.test.testapp for activity de.test.testapp/.RSSReaderActivity: pid=631 uid=10035 gids={3003}
DEBUG/dalvikvm(32): GC_EXPLICIT freed 299 objects / 11488 bytes in 162ms
INFO/UsageStats(58): Unexpected resume of de.test.testapp while already resumed in de.test.testapp
DEBUG/dalvikvm(32): GC_EXPLICIT freed 57 objects / 2440 bytes in 138ms
INFO/ActivityManager(58): Displayed activity de.test.testapp/.RSSReaderActivity: 411 ms (total 532 ms)
DEBUG/dalvikvm(32): GC_EXPLICIT freed 2 objects / 48 bytes in 126ms
DEBUG/dalvikvm(631): GC_FOR_MALLOC freed 3294 objects / 461928 bytes in 72ms
DEBUG/dalvikvm(631): GC_FOR_MALLOC freed 2750 objects / 557024 bytes in 59ms
DEBUG/dalvikvm(631): GC_FOR_MALLOC freed 2786 objects / 506288 bytes in 60ms
WARN/InputManagerService(58): Got RemoteException sending setActive(false) notification to pid 623 uid 10035

Code

    Document document = null;

    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.feinstaub);
            document = (Doxument) new ParseXMLFile().execute();
    }

    private class ParseXMLFile extends AsyncTask<Integer, Integer, Document>{

    @Override
    protected Document doInBackground(Integer... params) {
        Document parsedXML = null;
        try {
            parsedXML = builder.parse(getApplicationContext().getResources().openRawResource(R.raw.finedust));
        } catch (NotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SAXException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return parsedXML;
    }

}

问候 漂浮


啊,不确定你能做到这一点:http://developer.android.com/reference/android/os/AsyncTask.html http://developer.android.com/reference/android/os/AsyncTask.html表明执行返回 void。

你要这个:

Document document = null;

    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.feinstaub);
       new ParseXMLFile().execute();
    }

    void setDocument(Document document){ this.document = document; }

    private class ParseXMLFile extends AsyncTask<Integer, Integer, Document>{
    @Override public void onPostExecute(Document d){ setDocument(d); }

    @Override
    protected Document doInBackground(Integer... params) {
        Document parsedXML = null;
        try {
            parsedXML = builder.parse(getApplicationContext().getResources().openRawResource(R.raw.finedust));
        } catch (NotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SAXException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return parsedXML;
    }

}

您需要做一些范围界定:传递父活动或声明setDocument方法以某种方式适当,这样你就可以从 AsyncTask 内部回调它,但类似的事情应该可以做到。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android AsyncTask xml解析 的相关文章

随机推荐

  • 带有 UpdatePanel 回发的 ajax“正在加载”图标

    我有一个根据用户选择使用 Ajax 动态构建的表单 使用 UpdatePanel 内置于 NET Ajax 如何在回发发生时插入 标准 ajax 加载图标 也许将其附加到鼠标指针 然后在回发完成后将其删除 如果有帮助的话 我确实安装了 Aj
  • 如果存在以前的版本,如何使msi覆盖程序?

    我正在使用 Visual Studio 2010 我正在开发一个 Windows 应用程序 在尝试为其创建自动更新程序时遇到了严重的问题 当程序找到新版本并尝试安装它时 由于以下两个原因而无法安装 1 the application is
  • numpy中如何进行卷积矩阵运算?

    有办法吗卷积矩阵 https en wikipedia org wiki Kernel image processing 使用numpy进行操作 The numpy convolve https docs scipy org doc num
  • Shape、Sprite、MovieClip 和其他显示对象:何时使用?

    有大量的显示对象flash display包裹 我不清楚在什么情况下应该使用Shape Sprite or MovieClip 使用它们各自的优点和缺点是什么 先感谢您 Shape http help adobe com en US Fla
  • 通过同时/并发文件传输加速 rsync?

    我们需要转移15TB尽可能快地将数据从一台服务器传输到另一台服务器 我们目前正在使用rsync但我们只能得到大约的速度150Mb s 当我们的网络能够900 Mb s 测试与iperf 我已经对磁盘 网络等进行了测试 发现 rsync 一次
  • C/找到190! C 编程中的(阶乘)

    我尝试寻找190 in C 我将变量定义为 long double 但我发现它 正确 仅计算为 172 之后 我得到了 INF00000 有什么办法可以做到吗 实际上只需几行代码即可实现足够的 bigint 实现来计算阶乘 下面的代码打印前
  • PushSharp 不识别 APN 生产证书

    我开发了一个 iOS 应用程序 可以接收推送通知 我使用 PushSharp 从 NET 环境发送它们 开发过程中一切都很顺利 推送已成功发送 var push new PushBroker var appleCert File ReadA
  • 在 Python 中打印进度条处理

    我编写了这个简单的函数 processing flush 以便打印一系列点 由索引给出 来测试我的软件是否正在处理我的数据以及最终的速度 我的数据的总大小未知 import sys import time def processing fl
  • Jackson JSON - 解组时出现“无单字符串构造函数/工厂方法”错误

    最简单的情况给我带来了问题 我第一次遇到这种情况 我能够解组稍微复杂一点的 json 但是这个简单的失败了 是什么导致了这种情况 为什么杰克逊只用一根弦就遇到麻烦 一个简单的类 保存用户角色的名称 public class UpdateUs
  • javascript排序数组双重排序

    我有一个数组MyArrayOfItems of Item具有如下所示对象的对象 Item ContainerID i int ContainerName SomeName string ItemID j int ItemName SomeO
  • 程序或函数!!!指定的参数太多

    我正在 SQL Server 2008 中开发我的第一个存储过程 需要有关错误消息的建议 过程或函数 xxx 指定了太多参数 执行存储过程后得到的 dbo M UPDATES 调用另一个名为的存储过程etl M Update Promo 打
  • 减少负载后 Kubernetes HPA 不会缩小规模

    当 pod 负载增加时 Kubernetes HPA 可以正常工作 但负载减少后 部署规模不会改变 这是我的 HPA 文件 apiVersion autoscaling v2beta2 kind HorizontalPodAutoscale
  • React Typescript Material-UI useStyles 不可调用

    由于某种原因 我无法调用 useStyles 因为它会出错 This expression is not callable Type never has no call signatures ts 2349 const useStyles
  • 工具栏后退单击在 Xamarin android 中不起作用

    我创建了带有后退箭头的工具栏 单击不起作用 toolbar FindViewById
  • 是否可以在 Access 2010 中创建视图?

    正如标题所说 能做到吗 我在 MSDN 页面上读到 这不受支持 但我的作业请求如何支持 可以吗 怎样才能做到呢 视图只不过是保存的 SQL SELECT 语句 这就是 Access 中保存的查询 当然 您也可以保存 DML SQL 语句 在
  • session.clear() 在 Hibernate 中如何工作

    我参考了很多文章 但我仍然不清楚什么session clear在休眠状态下执行 据我目前了解到的情况来看 当我们使用批量保存 更新时如下图 Session session SessionFactory openSession Transac
  • 由此可以得出 lambda 表达式吗?

    I know from f in list where f bar someVar select f 可以写成 list Where f gt f bar someVar 是否可以创建类似的表达式 from f in foo from b
  • 对对象列表进行排序的最简单方法

    我有一个 A 类型的对象列表 在第一次迭代中 我为每个对象分配一个双精度值 0 目前 我使用一个包装类来存储对象及其 x 值来制作可比较的列表 Scala 是否提供了一种数据类型 允许我执行以下操作 var result new Sorte
  • 附加到条形码应用程序中多个按钮的侦听器中出现异常

    好的 我正在开发一款内部条形码扫描仪 供我的公司在移动计算机和设备时使用 经过一番尝试和错误后 我目前几乎已经通过 Intent 设置了 Zxing 条码扫描仪 这就是我正在尝试做的事情 旁边三个EditText我有三个领域ImageBut
  • android AsyncTask xml解析

    我尝试在 AsyncTask 中解析一个大的 xml 文档 FeinstaubActivity 启动 但我只看到黑屏 然后返回到 RSSReaderActivity 从我启动另一个 Activity 的地方开始 Log DEBUG Sntp