私は 2.3 OS で Android アプリをテストしてきましたが、最近まで 4.1 でテストしたところ、すべて完全に機能していました。私の問題は、資産フォルダーからいくつかの XML をロードすることです。2.3 ではすべてのファイルが完全に正常にロードされますが、4.1 ではファイルがロードされません (エラーもありません)。私の質問は、読み込みが OS ごとに異なるかどうかです。
これは私の読み込みコードです:
String xmlString = null;
AssetManager am = context.getAssets();
try
{
InputStream is = am.open(path);
int length = is.available();
byte[] data = new byte[length];
is.read(data);
xmlString = new String(data);
}
catch (IOException e1)
{
e1.printStackTrace();
}
return xmlString;
xml の読み込みには DOM を使用します。これはその一部です。
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
String theXML = getXml();
Document doc = db.parse(new InputSource(new ByteArrayInputStream(theXML.getBytes("utf-8"))));
doc.getDocumentElement().normalize();
NodeList nodeListHeadNode = doc.getElementsByTagName(headNode);
for (int i = 0; i < nodeListHeadNode.getLength(); i++)
{
//introduce the nodes into a list
}
プロジェクトのビルド ターゲットは Android 4.2.2 です