私はちょっとAndroid開発の新人ですが、私はXMLパーサを作ろうとしています。私はいくつかのtutosの後にandroid.saxライブラリを使用しています。これは素晴らしいです。 私は懐疑的に思っていることの一つは、実際に別のスレッドでパーサを起動するのではなく、ハンドラを使ってパーサーと私の主なアクティビティをやりとりするということです。 スレッドで解析する必要がありますか?ここでスレッドを起動してXMLを解析する必要がありますか?
は私の主な活動コードです:
tv = (TextView)findViewById(R.id.tv);
try {
URL url = new URL("https://www.googleapis.com/shopping/search/v1/public/products?key=AAAAABBBBBCCCCDDDEEEEFFF&country=FR&restrictBy=gtin=5030999075254&alt=atom");
XMLHandler xHandler = new XMLHandler();
Feed feed = xHandler.parse(url.openStream());
if(feed.getTotalResults()==0 || feed.getItems() == null || feed.getItems().isEmpty()) {
Log.w("XMLPARSENull", "No items
}
else {
tv.setText(feed.getTotalResults()+" " + feed.getItemsPerPage() + " " + feed.getStartIndex() + " " + feed.getTitle());
Iterator<Product> it = feed.getItems().iterator();
while(it.hasNext()) {
Log.w("XMLPARSEFeed",it.next().getName());
}
}
} catch(Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.e("XMLPARSEException", "ERROR",e);
}
あなたが出始めている場合は、[StrictMode](http://android-developers.blogspot.se/2010/12/new-gingerbread-api-strictmodeを見てみるのが賢明である可能性があります。 html) - それはあなたが属していないスレッドで何かばかげたことをしたときに、かなり速くあなたに伝えます。 – Jens