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

时间:2012-11-29 16:50:56

标签: android parsing url

我正在使用本教程使用自定义列表视图:

http://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text/

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

 static final String URL = "http://api.androidhive.info/music/music.xml";

到此:

 static final String URL = "file:///android_asset/music.xml";

但是当我这样做时,我的应用程序在这一行崩溃了:

 String xml = parser.getXmlFromUrl(URL); // getting XML from URL

任何帮助都会很棒。谢谢!

1 个答案:

答案 0 :(得分:0)

如果您的资源文件夹中有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");

希望有所帮助。