Android:将本地资产XML加载为URL

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

我正在使用本教程使用自定义listview:

我在试图修改它时遇到了一个问题。如果我想使用本地android_资源而不是从web链接加载的XML文件,我的应用程序就会崩溃。我正在做的是改变这一行:

 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()?