java - 我的 android xml 解析应用程序在 android 模拟器中意外停止

标签 java android android-emulator xml-parsing securityexception

我的 android xml 解析应用程序意外停止..这是 logcat 中的错误列表:

10-18 17:26:12.965: ERROR/Zygote(33): setreuid() failed. errno: 2
10-18 17:26:12.965: ERROR/Zygote(33): setreuid() failed. errno: 17
10-18 17:26:12.965: ERROR/BatteryService(34): usbOnlinePath not found
10-18 17:26:12.965: ERROR/BatteryService(34): batteryVoltagePath not found
10-18 17:26:12.965: ERROR/BatteryService(34): batteryTemperaturePath not found
10-18 17:26:12.965: ERROR/SurfaceFlinger(34): Couldn't open /sys/power/wait_for_fb_sleep or /sys/power/wait_for_fb_wake
10-18 17:26:53.986: ERROR/EventHub(34): could not get driver version for /dev/input/mouse0, Not a typewriter
10-18 17:26:53.986: ERROR/EventHub(34): could not get driver version for /dev/input/mice, Not a typewriter
10-18 17:26:54.584: ERROR/System(34): Failure starting core service
10-18 17:26:54.584: ERROR/System(34): java.lang.SecurityException
10-18 17:26:54.584: ERROR/System(34):     at android.os.BinderProxy.transact(Native Method)
10-18 17:26:54.584: ERROR/System(34):     at android.os.ServiceManagerProxy.addService(ServiceManagerNative.java:146)
10-18 17:26:54.584: ERROR/System(34):     at android.os.ServiceManager.addService(ServiceManager.java:72)
10-18 17:26:54.584: ERROR/System(34):     at com.android.server.ServerThread.run(SystemServer.java:184)
10-18 17:26:56.766: ERROR/SoundPool(34): error loading /system/media/audio/ui/Effect_Tick.ogg
10-18 17:26:56.774: ERROR/SoundPool(34): error loading /system/media/audio/ui/KeypressStandard.ogg
10-18 17:26:56.774: ERROR/SoundPool(34): error loading /system/media/audio/ui/KeypressSpacebar.ogg
10-18 17:26:56.774: ERROR/SoundPool(34): error loading /system/media/audio/ui/KeypressDelete.ogg
10-18 17:26:56.784: ERROR/SoundPool(34): error loading /system/media/audio/ui/KeypressReturn.ogg
10-18 17:27:01.414: ERROR/ThrottleService(34): Could not open GPS configuration file /etc/gps.conf
10-18 17:27:04.125: ERROR/logwrapper(144): executing /system/bin/tc failed: No such file or directory
10-18 17:27:04.295: ERROR/logwrapper(145): executing /system/bin/tc failed: No such file or directory
10-18 17:27:04.456: ERROR/logwrapper(146): executing /system/bin/tc failed: No such file or directory
10-18 17:27:35.326: ERROR/HierarchicalStateMachine(34): TetherMaster - unhandledMessage: msg.what=3
10-18 17:29:27.438: ERROR/AndroidRuntime(386): FATAL EXCEPTION: main
10-18 17:29:27.438: ERROR/AndroidRuntime(386): java.lang.RuntimeException: Unable to start activity ComponentInfo{BasicWebService.com/BasicWebService.com.BasicWebServiceActivity}: java.lang.ClassCastException: org.apache.harmony.xml.dom.ElementImpl
10-18 17:29:27.438: ERROR/AndroidRuntime(386):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
10-18 17:29:27.438: ERROR/AndroidRuntime(386):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
10-18 17:29:27.438: ERROR/AndroidRuntime(386):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
10-18 17:29:27.438: ERROR/AndroidRuntime(386):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
10-18 17:29:27.438: ERROR/AndroidRuntime(386):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-18 17:29:27.438: ERROR/AndroidRuntime(386):     at android.os.Looper.loop(Looper.java:123)
10-18 17:29:27.438: ERROR/AndroidRuntime(386):     at android.app.ActivityThread.main(ActivityThread.java:4627)
10-18 17:29:27.438: ERROR/AndroidRuntime(386):     at java.lang.reflect.Method.invokeNative(Native Method)
10-18 17:29:27.438: ERROR/AndroidRuntime(386):     at java.lang.reflect.Method.invoke(Method.java:521)
10-18 17:29:27.438: ERROR/AndroidRuntime(386):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
10-18 17:29:27.438: ERROR/AndroidRuntime(386):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-18 17:29:27.438: ERROR/AndroidRuntime(386):     at dalvik.system.NativeStart.main(Native Method)
10-18 17:29:27.438: ERROR/AndroidRuntime(386): Caused by: java.lang.ClassCastException: org.apache.harmony.xml.dom.ElementImpl
10-18 17:29:27.438: ERROR/AndroidRuntime(386):     at BasicWebService.com.BasicWebServiceActivity.getListFromXml(BasicWebServiceActivity.java:50)
10-18 17:29:27.438: ERROR/AndroidRuntime(386):     at BasicWebService.com.BasicWebServiceActivity.onCreate(BasicWebServiceActivity.java:34)
10-18 17:29:27.438: ERROR/AndroidRuntime(386):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-18 17:29:27.438: ERROR/AndroidRuntime(386):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
10-18 17:29:27.438: ERROR/AndroidRuntime(386):     ... 11 more
10-18 18:31:12.029: ERROR/AndroidRuntime(470): FATAL EXCEPTION: main
10-18 18:31:12.029: ERROR/AndroidRuntime(470): java.lang.RuntimeException: Unable to start activity ComponentInfo{BasicWebService.com/BasicWebService.com.BasicWebServiceActivity}: java.lang.ClassCastException: org.apache.harmony.xml.dom.ElementImpl
10-18 18:31:12.029: ERROR/AndroidRuntime(470):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
10-18 18:31:12.029: ERROR/AndroidRuntime(470):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
10-18 18:31:12.029: ERROR/AndroidRuntime(470):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
10-18 18:31:12.029: ERROR/AndroidRuntime(470):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
10-18 18:31:12.029: ERROR/AndroidRuntime(470):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-18 18:31:12.029: ERROR/AndroidRuntime(470):     at android.os.Looper.loop(Looper.java:123)
10-18 18:31:12.029: ERROR/AndroidRuntime(470):     at android.app.ActivityThread.main(ActivityThread.java:4627)
10-18 18:31:12.029: ERROR/AndroidRuntime(470):     at java.lang.reflect.Method.invokeNative(Native Method)
10-18 18:31:12.029: ERROR/AndroidRuntime(470):     at java.lang.reflect.Method.invoke(Method.java:521)
10-18 18:31:12.029: ERROR/AndroidRuntime(470):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
10-18 18:31:12.029: ERROR/AndroidRuntime(470):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-18 18:31:12.029: ERROR/AndroidRuntime(470):     at dalvik.system.NativeStart.main(Native Method)
10-18 18:31:12.029: ERROR/AndroidRuntime(470): Caused by: java.lang.ClassCastException: org.apache.harmony.xml.dom.ElementImpl
10-18 18:31:12.029: ERROR/AndroidRuntime(470):     at BasicWebService.com.BasicWebServiceActivity.getListFromXml(BasicWebServiceActivity.java:49)
10-18 18:31:12.029: ERROR/AndroidRuntime(470):     at BasicWebService.com.BasicWebServiceActivity.onCreate(BasicWebServiceActivity.java:33)
10-18 18:31:12.029: ERROR/AndroidRuntime(470):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-18 18:31:12.029: ERROR/AndroidRuntime(470):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
10-18 18:31:12.029: ERROR/AndroidRuntime(470):     ... 11 more
10-18 18:31:32.038: ERROR/AndroidRuntime(504): FATAL EXCEPTION: main
10-18 18:31:32.038: ERROR/AndroidRuntime(504): java.lang.RuntimeException: Unable to start activity ComponentInfo{BasicWebService.com/BasicWebService.com.BasicWebServiceActivity}: java.lang.ClassCastException: org.apache.harmony.xml.dom.ElementImpl
10-18 18:31:32.038: ERROR/AndroidRuntime(504):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
10-18 18:31:32.038: ERROR/AndroidRuntime(504):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
10-18 18:31:32.038: ERROR/AndroidRuntime(504):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
10-18 18:31:32.038: ERROR/AndroidRuntime(504):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
10-18 18:31:32.038: ERROR/AndroidRuntime(504):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-18 18:31:32.038: ERROR/AndroidRuntime(504):     at android.os.Looper.loop(Looper.java:123)
10-18 18:31:32.038: ERROR/AndroidRuntime(504):     at android.app.ActivityThread.main(ActivityThread.java:4627)
10-18 18:31:32.038: ERROR/AndroidRuntime(504):     at java.lang.reflect.Method.invokeNative(Native Method)
10-18 18:31:32.038: ERROR/AndroidRuntime(504):     at java.lang.reflect.Method.invoke(Method.java:521)
10-18 18:31:32.038: ERROR/AndroidRuntime(504):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
10-18 18:31:32.038: ERROR/AndroidRuntime(504):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-18 18:31:32.038: ERROR/AndroidRuntime(504):     at dalvik.system.NativeStart.main(Native Method)
10-18 18:31:32.038: ERROR/AndroidRuntime(504): Caused by: java.lang.ClassCastException: org.apache.harmony.xml.dom.ElementImpl
10-18 18:31:32.038: ERROR/AndroidRuntime(504):     at BasicWebService.com.BasicWebServiceActivity.getListFromXml(BasicWebServiceActivity.java:49)
10-18 18:31:32.038: ERROR/AndroidRuntime(504):     at BasicWebService.com.BasicWebServiceActivity.onCreate(BasicWebServiceActivity.java:33)
10-18 18:31:32.038: ERROR/AndroidRuntime(504):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-18 18:31:32.038: ERROR/AndroidRuntime(504):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
10-18 18:31:32.038: ERROR/AndroidRuntime(504):     ... 11 more
10-18 18:32:04.459: ERROR/DefContainer(196): Couldn't copy file: /data/local/tmp/basicWebService.apk
10-18 18:32:05.078: ERROR/AndroidRuntime(558): FATAL EXCEPTION: main
10-18 18:32:05.078: ERROR/AndroidRuntime(558): java.lang.RuntimeException: Unable to start activity ComponentInfo{BasicWebService.com/BasicWebService.com.BasicWebServiceActivity}: java.lang.ClassCastException: org.apache.harmony.xml.dom.ElementImpl
10-18 18:32:05.078: ERROR/AndroidRuntime(558):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
10-18 18:32:05.078: ERROR/AndroidRuntime(558):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
10-18 18:32:05.078: ERROR/AndroidRuntime(558):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
10-18 18:32:05.078: ERROR/AndroidRuntime(558):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
10-18 18:32:05.078: ERROR/AndroidRuntime(558):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-18 18:32:05.078: ERROR/AndroidRuntime(558):     at android.os.Looper.loop(Looper.java:123)
10-18 18:32:05.078: ERROR/AndroidRuntime(558):     at android.app.ActivityThread.main(ActivityThread.java:4627)
10-18 18:32:05.078: ERROR/AndroidRuntime(558):     at java.lang.reflect.Method.invokeNative(Native Method)
10-18 18:32:05.078: ERROR/AndroidRuntime(558):     at java.lang.reflect.Method.invoke(Method.java:521)
10-18 18:32:05.078: ERROR/AndroidRuntime(558):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
10-18 18:32:05.078: ERROR/AndroidRuntime(558):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-18 18:32:05.078: ERROR/AndroidRuntime(558):     at dalvik.system.NativeStart.main(Native Method)
10-18 18:32:05.078: ERROR/AndroidRuntime(558): Caused by: java.lang.ClassCastException: org.apache.harmony.xml.dom.ElementImpl
10-18 18:32:05.078: ERROR/AndroidRuntime(558):     at BasicWebService.com.BasicWebServiceActivity.getListFromXml(BasicWebServiceActivity.java:49)
10-18 18:32:05.078: ERROR/AndroidRuntime(558):     at BasicWebService.com.BasicWebServiceActivity.onCreate(BasicWebServiceActivity.java:33)
10-18 18:32:05.078: ERROR/AndroidRuntime(558):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-18 18:32:05.078: ERROR/AndroidRuntime(558):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
10-18 18:32:05.078: ERROR/AndroidRuntime(558):     ... 11 more
10-18 18:33:02.668: ERROR/AndroidRuntime(584): FATAL EXCEPTION: main
10-18 18:33:02.668: ERROR/AndroidRuntime(584): java.lang.RuntimeException: Unable to start activity ComponentInfo{BasicWebService.com/BasicWebService.com.BasicWebServiceActivity}: java.lang.ClassCastException: org.apache.harmony.xml.dom.ElementImpl
10-18 18:33:02.668: ERROR/AndroidRuntime(584):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
10-18 18:33:02.668: ERROR/AndroidRuntime(584):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
10-18 18:33:02.668: ERROR/AndroidRuntime(584):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
10-18 18:33:02.668: ERROR/AndroidRuntime(584):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
10-18 18:33:02.668: ERROR/AndroidRuntime(584):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-18 18:33:02.668: ERROR/AndroidRuntime(584):     at android.os.Looper.loop(Looper.java:123)
10-18 18:33:02.668: ERROR/AndroidRuntime(584):     at android.app.ActivityThread.main(ActivityThread.java:4627)
10-18 18:33:02.668: ERROR/AndroidRuntime(584):     at java.lang.reflect.Method.invokeNative(Native Method)
10-18 18:33:02.668: ERROR/AndroidRuntime(584):     at java.lang.reflect.Method.invoke(Method.java:521)
10-18 18:33:02.668: ERROR/AndroidRuntime(584):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
10-18 18:33:02.668: ERROR/AndroidRuntime(584):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-18 18:33:02.668: ERROR/AndroidRuntime(584):     at dalvik.system.NativeStart.main(Native Method)
10-18 18:33:02.668: ERROR/AndroidRuntime(584): Caused by: java.lang.ClassCastException: org.apache.harmony.xml.dom.ElementImpl
10-18 18:33:02.668: ERROR/AndroidRuntime(584):     at BasicWebService.com.BasicWebServiceActivity.getListFromXml(BasicWebServiceActivity.java:49)
10-18 18:33:02.668: ERROR/AndroidRuntime(584):     at BasicWebService.com.BasicWebServiceActivity.onCreate(BasicWebServiceActivity.java:33)
10-18 18:33:02.668: ERROR/AndroidRuntime(584):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-18 18:33:02.668: ERROR/AndroidRuntime(584):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
10-18 18:33:02.668: ERROR/AndroidRuntime(584):     ... 11 more

我在 AndroidManifest.xml 文件中添加了 INTERNET 权限..我还添加了 ACCESS_FINE_LOCATION 和 ACCESS_COARSE_LOCATION 权限..但没有更改..我的代码:

package BasicWebService.com;

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Element;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class BasicWebServiceActivity extends Activity {
    /** Called when the activity is first created. */
    private ListView listView_xml;
    private ArrayList<String> xmlList = new ArrayList<String>();
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        listView_xml = (ListView) findViewById(R.id.listView_xml);  
        xmlList=getListFromXml();    
    }
    private ArrayList<String> getListFromXml() {
        // TODO Auto-generated method stub
        ArrayList<String> list=new ArrayList<String>();
        try {
            DocumentBuilder builder=DocumentBuilderFactory.newInstance().newDocumentBuilder();
            try {
                URL u=new URL("http://www.w3schools.com/aspnet/countries.xml");
                try {               
                    Document doc=builder.parse(new InputSource(u.openStream()));
                    doc.getDocumentElement().normalize();
                    NodeList nodeListCountry=doc.getElementsByTagName("country");
                    for(int i=0;i<nodeListCountry.getLength();i++)
                    {
                        Element elementMain=(Element) nodeListCountry.item(i);
                        NodeList nodeListText=( (Document) elementMain).getElementsByTagName("text");
                        Element elementText=(Element) nodeListText.item(0);
                        NodeList nodeListValue=( (Document) elementMain).getElementsByTagName("value");
                        Element elementValue=(Element) nodeListValue.item(0);
                        list.add(( (Node) elementText).getChildNodes().item(0).getNodeValue()+"--->"+((Node) elementValue).getChildNodes().item(0).getNodeValue());
                    }
                } catch (SAXException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }           
        } catch (ParserConfigurationException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return list;
    }
    @Override
    protected void onStart() {
        // TODO Auto-generated method stub
        super.onStart();
        ArrayAdapter<String> arrayAdapt=new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_multiple_choice,xmlList);
        listView_xml.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
        listView_xml.setAdapter(arrayAdapt);
    }
}

我的main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
 <ListView 
    android:id="@+id/listView_xml" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent">
 </ListView>
</LinearLayout>

和我的 AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="BasicWebService.com"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" />
    <uses-permission android:name="android.permission.INTERNET"></uses-permission> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".BasicWebServiceActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>

请帮忙..

最佳答案

堆栈跟踪充满了 BasicWebServiceActivity.java 文件第 49 行抛出的 ClassCastExceptions。跟踪表明有问题的行位于 getListFromXML() 方法中。我将您的代码复制到文本编辑器中,对我来说,第 49 行是:

   NodeList nodeListText=( (Document) elementMain).getElementsByTagName("text");

在这里,您将元素转换为文档,这可能会导致问题

关于java - 我的 android xml 解析应用程序在 android 模拟器中意外停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7812503/

相关文章:

java - 变量和字符串之间不兼容的操作数类型

java - 使用 appengine 开发服务器 (java) 测试邮件

android - Android NSD(网络服务发现)是否与 iOS 中的 Bonjour 服务兼容?

android 应用程序是否可以检测它何时在模拟器与设备上运行

java - 使用 HTTP 客户端将序列化对象从 Android 发送到 servlet

java.net.协议(protocol)异常 : Too many redirects in Android

android - 配置模拟器 DNS 设置

android - 为什么 Android ddms 不显示模拟器或连接的设备?

java - 有什么方法可以确定 Java 中的对象是否可软访问?