0

私が現在構築しているアプリケーションは、Samsungからのものを除いてすべてのデバイスで動作します。また、エラーはAndroidのバージョンに依存しません。

これは、SamsungGalaxyまたはSamsungタブ10.1でアプリを実行したときのエラーレポートです。

11-02 10:04:49.748: I/System.out(11183): Wrong XML file structure: Unexpected token (position:TEXT File does not ex...@1:20 in java.io.StringReader@418eb450) 
11-02 10:04:49.748: W/dalvikvm(11183): threadid=15: thread exiting with uncaught exception (group=0x40c511f8)
11-02 10:04:49.763: E/AndroidRuntime(11183): FATAL EXCEPTION: AsyncTask #2
11-02 10:04:49.763: E/AndroidRuntime(11183): java.lang.RuntimeException: An error occured while executing doInBackground()
11-02 10:04:49.763: E/AndroidRuntime(11183):    at android.os.AsyncTask$3.done(AsyncTask.java:278)
11-02 10:04:49.763: E/AndroidRuntime(11183):    at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
11-02 10:04:49.763: E/AndroidRuntime(11183):    at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
11-02 10:04:49.763: E/AndroidRuntime(11183):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
11-02 10:04:49.763: E/AndroidRuntime(11183):    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
11-02 10:04:49.763: E/AndroidRuntime(11183):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
11-02 10:04:49.763: E/AndroidRuntime(11183):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
11-02 10:04:49.763: E/AndroidRuntime(11183):    at java.lang.Thread.run(Thread.java:856)
11-02 10:04:49.763: E/AndroidRuntime(11183): Caused by: java.lang.NullPointerException
11-02 10:04:49.763: E/AndroidRuntime(11183):    at com.lgsvcacademy.lgrepairsupport.ErrorCodeList$GetDataTask.doInBackground(ErrorCodeList.java:167)
11-02 10:04:49.763: E/AndroidRuntime(11183):    at com.lgsvcacademy.lgrepairsupport.ErrorCodeList$GetDataTask.doInBackground(ErrorCodeList.java:1)
11-02 10:04:49.763: E/AndroidRuntime(11183):    at android.os.AsyncTask$2.call(AsyncTask.java:264)
11-02 10:04:49.763: E/AndroidRuntime(11183):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
11-02 10:04:49.763: E/AndroidRuntime(11183):    ... 4 more

167行目あたりのErrorCodeListにコードを追加しました。

String feedURL="...";
String xml = XMLfunctions.getXML(feedURL);
Document doc = XMLfunctions.XMLfromString(xml);

int numResults = 1;

if((numResults <= 0)){
   Toast.makeText(ErrorCodeList.this, "No results found", Toast.LENGTH_LONG).show();  
   finish();
}      

/*Line 167>*/ NodeList troubles = doc.getElementsByTagName("trouble");
for (int i = 0; i < troubles.getLength(); i++) {
String troubleTypeAtt;

HashMap<String, String> map = new HashMap<String, String>();

Element e = (Element)troubles.item(i);
troubleTypeAtt = e.getAttributes().getNamedItem("type").getNodeValue();
if((troubleTypeAtt.equals("error")) || (troubleTypeAtt.equals("notification"))) {
...

何が問題なのですか?私のAsyncTaskは、他のどのデバイスでも完全に機能します。サムスンの電話では何が違うのですか?

4

1 に答える 1

0

わかりましたみんな私はそれを解決しました。@Janusz少しのデバッグでうまくいきました。問題は XML 構造にあるのではなく、Samsung デバイスでのみエラーが発生したという事実にもありません。何が起こったかというと、私の XML ハイパーリンクはデバイスの言語をリッスンし、正しい XML ファイルを取得します。しかし、開発中、私はサーバー上に特定の言語を持っていませんでしたが、たまたま同僚から入手したすべての Samsung デバイスにその特定の言語が搭載されていました。ああ!私と一緒に考えてくれてありがとう!

于 2012-11-02T22:18:21.127 に答える