我在这个班级的片段中:
public class NetworksList extends Fragment{
同样在我的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();
}
希望我尝试用来打开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)
FileNotFound ...我如何知道放置temp.xml文件的位置,以便在NetworksList类中打开它?
答案 0 :(得分:9)
如果您确定在temp.xml
文件夹中有/assets
文件(必须与项目内的/src
和/res
处于同一级别),请尝试刷新, F5 。
从assets
加载文件的方式是正确的:
InputStream is = getApplicationContext().getAssets().open("temp.xml");
答案 1 :(得分:0)
试试这个:
InputStream in_s = getActivity().getApplicationContext().getAssets().open("temp");
我的意思是消除“.xml”部分。我尝试了同样的错误,它对我有用!