Appcelerator Q&A リンク: Android では XML 解析に失敗するが、iPhone では動作する
Titanium が主に使用されているのと同じコードで、iPhone と Android の両方の携帯電話で動作する一般的なアプリケーションを準備しています。同じコードを使用すると、XML ドキュメントの解析で異なる結果が見つかり、Android アプリが正しく読み込まれません。NULLPointer 例外が発生します。しかし、同じコードが iPhone でも完全に機能します。
これを確認できますか?
xyz(languageCode, currentVersion, xmldoc) {
try {
Ti.API.info('Start parsing the library');
var archiveData = xmldoc.getElementsByTagName('archive');
Ti.API.info('Archive: ' + archiveData);
Ti.API.info('Item: ' + archiveData.item);
Ti.API.info('Lendth: ' + archiveData.length);
var newVersion = archiveData.item(0).getAttribute('version');
}catch(e){
Ti.API.info('Library Went In Catch: ' + e);
}
関数呼び出し: Ti.Network.HttpClient の onload() メソッドからです
xyz (言語コード、バージョン、this.responseXML.documentElement);
iPhoneの出力:
アーカイブ: [オブジェクト TiDOMNodeList]
[情報] アイテム: [オブジェクト TiDOMNodeList]
[情報] 長さ: 1
Android の出力:
[情報] [3,7225] アーカイブ: [Ti.NodeList]
[INFO] [1,7226] アイテム: [KrollMethod アイテム]
[情報] [2,7228] 長さ: 0 [情報]
[235,7466] ライブラリがキャッチされました: JavaException: java.lang.NullPointerException: null