我的Android培训页面中的代码存在问题:https://developer.android.com/training/basics/network-ops/xml.html 我下载了网络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>
答案 0 :(得分:0)
对于有同样问题的任何人:我找到了一种让应用程序正常工作的方法。实际上,它没有触及清单文件。但是,在“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);
}
}