【问题标题】:Trying to use the Android "Parsing XML Data" code doesn´t work: "Error parsing XML"尝试使用 Android“解析 XML 数据”代码不起作用:“解析 XML 时出错”
【发布时间】:2018-03-10 09:36:52
【问题描述】:

我对此 Android 培训页面的代码有疑问:https://developer.android.com/training/basics/network-ops/xml.html 我下载了 network usage.zip 文件,并没有更改任何代码。不幸的是,它在我的手机和模拟器上都不起作用。

在这之后,我搜索了这个问题并在这里找到了这个帖子:Android Networkusage app,Error Parsing XML 我试图用这个线程提供的解决方案来解决问题,但不幸的是,它没有用,仍然显示错误:“解析 XML 时出错”

我很确定错误在 Manifest 文件中,因为我查看了手机的设置,并且该应用没有任何使用 Wifi 或移动数据的权限。

这是我的“Android清单文件”,我的其余代码与从参考指南下载的代码完全相同:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.networkusage"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="4"
    android:targetSdkVersion="14" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >

    <activity
        android:name=".NetworkActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:label="SettingsActivity" android:name=".SettingsActivity">
         <intent-filter>
            <action android:name="android.intent.action.MANAGE_NETWORK_USAGE" />
            <category android:name="android.intent.category.DEFAULT" />
      </intent-filter>
    </activity>
</application>

【问题讨论】:

    标签: java android xml parsing


    【解决方案1】:

    对于遇到相同问题的任何人:我找到了一种使应用程序正常工作的方法。实际上,它在不接触清单文件的情况下工作。但是,在“NetworkActivity.java”文件中,您需要更改一行并直接粘贴 URL(见下文)

    @Override
        protected String doInBackground(String... urls) {
            try {
                return loadXmlFromNetwork("https://stackoverflow.com/feeds/tag?tagnames=android&sort=newest%22");  
    // *here instead of urls[0] you have to add the URL manually. I guess, it is not the most elegant solution, but it works ;)*
            } catch (IOException e) {
                return getResources().getString(R.string.connection_error);
            } catch (XmlPullParserException e) {
                return getResources().getString(R.string.xml_error);
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2013-05-31
      • 2014-04-19
      • 2013-02-09
      • 1970-01-01
      • 1970-01-01
      • 2012-02-29
      • 2011-02-16
      • 1970-01-01
      相关资源
      最近更新 更多