Các bài báo được lấy từ các link RSS của các trang báo – cho phép người dùng xem được nhanh chóng các tin tức mới nhất, nóng nhất.. Activity được dùng để hiển thị một màn hình, chỉ một v
Trang 1
HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN
***********
ĐỒ ÁN MÔN HỌC Lập Trình Java
Đề tài: Ứng dụng đọc báo trên SmartPhone Android.
Giảng viên hướng dẫn : TS Nguyễn Mạnh Hùng
Học viên thực hiện : 1 Lê Văn Luận (TH8A)
2 Nguyễn Bá Hiểu (TH8A)
3 Đỗ Thị Thanh Hoa (TH8A)
Hà Nội_2013
Trang 2
-Mục lục
A Phát biểu bài toán ……… ……… 2
1 Giới thiệu về hệ điều hành Android……… 2
2 Các thành phần cơ bản của một project Android……… 2
3 Giới thiệu về RSS ……… 3
B Chương trình demo ……… 4
C Một số kết quả của chương trình ……….6
Trang 3A.Phát biểu bài toán.
Bài toán là một ứng dụng đọc báo trên thiết bị di động Android Các bài báo được lấy từ các link RSS của các trang báo – cho phép người dùng xem được nhanh chóng các tin tức mới nhất, nóng nhất Để chạy được ứng dụng này, yêu cầu phải tạo được bộ giả lập Android bằng bộ công cụ adt-bundle-windows
1.Giới thiệu về hệ điều hành Android.
Android là một hệ điều hành điện thoại di động mã nguồn mở, hiện đại, miễn phí do Google phát triển dựa trên nền tảng của Linux Android là nền tảng cho thiết bị di động bao gồm một hệ điều hành, midware và một số ứng dụng chủ đạo Bộ công cụ Android SDK cung cấp các công cụ và bộ thư viện các hàm API cần thiết để phát triển ứng dụng cho nền tảng Android sử dụng ngôn ngữ lập trình Java
Mô hình kiến trúc nền tảng Android
2.Các thành phần cơ bản của một project Android.
a.Activity : Là một trong những thành phần chính của bất kỳ một ứng dụng Android nào Activity được dùng để hiển thị một màn hình, chỉ một việc mà người dùng có thể thực hiện trong một ứng dụng Android, nó tương tác với người sử dụng
2
Trang 4b.Intent : Là một cấu trúc dữ liệu mô tả cách thức, đối tượng thực hiện của một Activity, là cầu nối giữa các Activity, giúp ta triệu gọi cũng như truyền các dữ liệu cần thiết để thực hiện một Activity từ một Activity khác Ứng dụng Android thường bao gồm nhiều Activity, mỗi Activity hoạt động độc lập với nhau và thực hiện những công việc khác nhau
c.Bundle : Ta thường dùng đối tượng Bundle để đóng gói dữ liệu cho việc truyền tải qua các Activity khác nhau Bundle có 2 loại phương thức: putXXX để cho bên Bundle gửi key đi, ứng với kiểu dữ liệu nào thì put đúng kiểu đó Ở bên nhận Bundle thì dùng các phương thức getXXX tương ứng để lấy dữ liệu theo key bên gửi
3.Giới thiệu về RSS.
RSS (viết tắt từ Really Simple Syndication hoặc Rich Site Summary) là một tiêu chuẩn định dạng tài liệu dựa trên XML (eXtensible Markup Language) nhằm giúp người sử dụng dễ dàng cập nhật, tra cứu thông tin một cách nhanh chóng và thuận tiện nhất bằng cách tóm lược thông tin vào trong một đoạn dữ liệu ngắn gọn, hợp chuẩn Dữ liệu này được các chương trình đọc tin chuyên biệt (gọi là News reader) phân tích và hiển thị trên máy tính của người sử dụng Trên trình đọc tin này, người sử dụng có thể thấy những tin chính mới nhất, tiêu đề, tóm tắt và cả đường link để xem toàn bộ tin
XML là ngôn ngữ đánh dấu nhằm đơn giản hóa việc chia sẻ dữ liệu giữa các hệ thống khác nhau, đặc biệt là các hệ thống được kết nối Internet XML cung cấp 1 phương tiện dùng văn bản để mô tả thông tin và áp dụng 1 cấu trúc kiểu cây cho thông tin đó
Trang 5B.Chương trình demo.
Trên Eclipse thư mục code android được bố trí như sau:
Các packet chứa code sẽ nằm trong thư mục src
Các tài nguyên hệ thống như ảnh, layout, string dùng chung sẽ được tổ chức trong thư mục res
Một file khai báo rất quan trọng để gắn kết các thành phần trong toàn bộ hệ thống đó
là file AndroidManifest.xml
4
Trang 6Cụ thể là :
+ Packet app.news chứa các class về Activity của project
Activity xử lí giao diện khởi chạy chương trình
Activity xử lý giao diện các chuyên mục theo 1 báo
Activity xử lý các tin mới nhất lấy từ link RSS theo 1 chuyên mục báo
Activity xử lý load nội dung bài báo bằng control Webview
+ Packet app.news.adapter chứa các class về các điều khiển của project
Adapters lấy dữ liệu đổ vào activity PaperActivity
CategoryAdapters lấy dữ liệu đổ vào activity CategoryActivity
NewsAdapters lấy dữ liệu đổ vào activity NewsListActivity
+ Packet app.news.model chứa class RSSItem là thong tin các thành phần của tập tin RSS
+ Packet app.news.utils chứa class xử lý RSS nhận được và 1 class các biến dung chung
+ Thư mục lay out sẽ chứa các giao diện để hiển thị lên trình giả lập gồm các layout sau:
paper.xml: giao diện chạy mặc định load lên các icon của báo
category.xml: giao diện hiển thị các chuyên mục của báo
news.xml: giao diện chứa các bài tin mới nhất theo 1 chuyên mục cụ thể
article.xml: giao diện hiển thị nội dung chi tiết theo 1 bài tin
Trang 7C.Một số kết quả của chương trình.
Giao diện chính của chương trình
Khi click chọn một trang báo cụ thể nào đó (24h.com.vn) trên giao diện chính thì sự kiện
onListItemClick trong lớp PaperActivity.java sẽ được triệu gọi, khi này trên màn hình giả lập sẽ hiển
thị ra các Category của trang báo đó.
6
Trang 8Sau khi trên màn hình giả lập hiển thị ra các Category Ta click chọn vào một Category cụ thể nào (Tin tức trong ngày) thì sự kiện onListItemClick trong lớp CategoryActivity.java được gọi đến Khi này trên màn hình sẽ hiện lên tiêu đề của tất cả các bài báo mới nhất trong Category mà ta đã chọn.
Khi ta click chọn một tiêu đề bài báo được hiển thị trên màn hình thì sự kiện onListItemClick trong lớp NewsListActivity.java được thực hiện Trong thời gian chờ để hiển thị chi tiết bài báo mà ta đã
chọn thì màn hình có giao diện như sau :
Trang 9Sau khi tải xong, trên màn hình giả lập lúc này sẽ hiển thị chi tiết bài báo mà ta đã chọn Đến đây ta
sẽ đọc được bài báo Quá trình thực hiện thành công
Tài liệu tham khảo:
1 Cộng đồng android Việt http://www.android.vn/
2 Cộng đồng nghiên cứu và phát triển android http://vietandroid.com/
3 Cộng đồng android việt nam http://congdongandroid.vn/
4 Slide java core của thầy Nguyễn Mạnh Hùng
8