tailieunhanh - Giáo trình phân tích khả năng ứng dụng các lớp giao diện boolean trong Androi để tạo một View riêng p8
Giống như ví dụ SAX đầu tiên, không có gì là cụ thể đối với Android về mã trình này. Trình phân tích DOM đọc tất cả các tài liệu XML vào bộ nhớ rồi sau đó cho phép bạn sử dụng các DOM API để chạy ngang qua cây XML, truy vấn dữ liệu mà bạn muốn. Đây là mã trình rất dễ làm, và, trong một số cách, còn đơn giản hơn cả các thực thi dựa trên SAX. Tuy nhiên, thông thường DOM tiêu tốn nhiều bộ nhớ hơn vì trước tiên mọi thứ đều được đọc. | public List Message parse RssHandler handler new RssHandler try handler catch Exception e throw new RuntimeException e return Lưu ý là lớp này vẫn sử dụng trình xử lý SAX chuẩn vì đơn giản bạn đã sử dụng lại RssHandler như trong Ví dụ 7 ở trên. Việc có thể sử dụng lại trình xử lý SAX rất tốt nhưng nó vẫn có đôi chút phức tạp về mã trình. Bạn có tưởng tượng nếu bạn phải phân tích một tài liệu XML phức tạp hơn rất nhiều trình phân tích có thể trở thành mảnh đất màu mỡ cho các lỗi. Ví dụ hãy xem lại phương thức endElement trong Ví dụ 6. Lưu ý cách phương thức này kiểm tra như thế nào nếu currentMessage có giá trị không trước khi nó cố cài đặt các thuộc tính Bây giờ hãy nhìn vào XML mẫu trong Ví dụ 4. Lưu ý rằng có các thẻ TITLE và LINK nằm ngoài các thẻ ITEM. Đó là lý do tại sao kiểm tra giá trị không được đưa vào. Nếu không thì thẻ TITLE đầu tiên có thể gây ra một NullPointerException. Android bao gồm cả biến thể SAX API của chính nó xem Ví dụ 8 loại bỏ yêu cầu bạn phải viết trình xử lý SAX của chính bạn. Ví dụ 8. Trình phân tích SAX Android đơn giản public class AndroidSaxFeedParser extends BaseFeedParser public AndroidSaxFeedParser String feedUrl super feedUrl public List Message parse final Message currentMessage new Message RootElement root new RootElement rss final List Message messages new ArrayList Message Element channel channel Element item ITEM new EndElementListener public void end TITLE .setEndTextElementListener new EndTextElementListener public void end String body body LINK .setEndTextElementListener new EndTextElementListener public void end String body body DESCRIPTION .setEndTextElementListener ne w EndTextElementListener public void end String body body .
đang nạp các trang xem trước