我有點新的Android開發,但我想做一個XML解析器。我一直在使用android.sax庫,遵循一些tutos,這很好。 的一件事就是讓我懷疑的是,我實際上並不在一個單獨的線程執行分析器,我只是用我的處理程序解析器和我的主要活動之間的通信。 我應該解析一個線程嗎?我應該啓動一個線程來解析一些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