Android资产 - FileNotFound

hei*_*erg 5 xml android android-assets

我在这堂课的一个片段里面:

public class NetworksList extends Fragment{
Run Code Online (Sandbox Code Playgroud)

在我的onCreate函数里面我也有这段代码:

        XmlPullParserFactory pullParserFactory;
        try {
            pullParserFactory = XmlPullParserFactory.newInstance();
            XmlPullParser parser = pullParserFactory.newPullParser();

            InputStream in_s = getActivity().getApplicationContext().getAssets().open("temp.xml");
            parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false);
            parser.setInput(in_s, null);
            Toast.makeText(getActivity().getApplicationContext(), "size: ", Toast.LENGTH_LONG).show();
            parseXML(parser);

        } catch (XmlPullParserException e) {

            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
Run Code Online (Sandbox Code Playgroud)

希望我尝试用来打开XML文件.我在资源文件夹中有我的XML文件,但我得到:

05-08 18:03:11.034  24645-24645/pt.smartgeo.aees W/System.err? java.io.FileNotFoundException: temp.xml
05-08 18:03:11.034  24645-24645/pt.smartgeo.aees W/System.err? at android.content.res.AssetManager.openAsset(Native Method)
05-08 18:03:11.034  24645-24645/pt.smartgeo.aees W/System.err? at android.content.res.AssetManager.open(AssetManager.java:316)
05-08 18:03:11.034  24645-24645/pt.smartgeo.aees W/System.err? at android.content.res.AssetManager.open(AssetManager.java:290)
05-08 18:03:11.034  24645-24645/pt.smartgeo.aees W/System.err? at pt.smartgeo.aees.NetworksList$2.onClick(NetworksList.java:77)
Run Code Online (Sandbox Code Playgroud)

FileNotFound ...我如何知道放置temp.xml文件的位置,以便在NetworksList类中打开它?

Jor*_*sys 9

如果你确定temp.xml/assets文件夹中有一个文件,(必须/src/res你的项目在同一级别和内部),只需尝试刷新,F5.

从正在加载文件的方式assets是正确的:

 InputStream is = getApplicationContext().getAssets().open("temp.xml");
Run Code Online (Sandbox Code Playgroud)