Android:将本地资产XML加载为URL
我正在使用本教程使用自定义listview: 我在试图修改它时遇到了一个问题。如果我想使用本地android_资源而不是从web链接加载的XML文件,我的应用程序就会崩溃。我正在做的是改变这一行:Android:将本地资产XML加载为URL,android,parsing,url,Android,Parsing,Url,我正在使用本教程使用自定义listview: 我在试图修改它时遇到了一个问题。如果我想使用本地android_资源而不是从web链接加载的XML文件,我的应用程序就会崩溃。我正在做的是改变这一行: static final String URL = "http://api.androidhive.info/music/music.xml"; String xml = parser.getXmlFromUrl(URL); // getting XML from URL 为此: stat
static final String URL = "http://api.androidhive.info/music/music.xml";
String xml = parser.getXmlFromUrl(URL); // getting XML from URL
为此:
static final String URL = "file:///android_asset/music.xml";
但当我这样做时,我的应用程序会在这一行崩溃:
static final String URL = "http://api.androidhive.info/music/music.xml";
String xml = parser.getXmlFromUrl(URL); // getting XML from URL
任何帮助都会很棒。谢谢大家! 如果资产文件夹中有xml文件,请尝试以下操作:
public String getStringFromAssets(Context ctx, String pathToFile)
{
InputStream rawInput;
String text = "";
try
{
rawInput = ctx.getAssets().open(pathToFile);
text = convertStreamToString(rawInput);
} catch (IOException e)
{
e.printStackTrace();
}
return text;
}
String xml = getStringFromAssets(getApplicationContext(), "WhateverYourXmlFileNameIs");
希望能有所帮助。谢谢!仍然不能完全让它工作,但我找到了另一个关于用XML创建我自己的列表项的listview教程,并且几乎完全按照我的要求将我的项目硬编码到java活动中,而不是从XML文件导入和解析。你能给我你提到的教程的链接吗?我也有同样的问题!什么是convertStreamToString()?