Tải bản đầy đủ (.docx) (36 trang)

BÁO CÁO MÔN HỌC LẬP TRÌNH NHÚNG ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG TỔNG HỢP TIN TỨC ONLINE THÔNG QUA RSS TRÊN HĐH ANDROID

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (681.77 KB, 36 trang )

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN

----------

BÁO CÁO MÔN HỌC LẬP TRÌNH NHÚNG

ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG TỔNG HỢP TIN TỨC
ONLINE THÔNG QUA RSS TRÊN HĐH ANDROID

Giảng viên hướng dẫn: Th.s Lê Hoàn
Nhóm sinh viên thực hiện:
Trần Văn Đại
Nguyễn Văn Linh
Vũ Văn Tuấn
Lớp: Đ4-CNTT

Hà Nội – 06/2013


LỜI NÓI ĐẦU
Đặt vấn đề
Ngày nay, sự phát triển về nhu cầu sở hữu các thiết bị kỹ thuật số mà trong đó
thiết bị di động có thị phần khá lớn. Sự đòi hỏi về mẫu mã, chất lượng dịch vụ mà đặc
biệt là tính năng của chiếc điện thoại, các phần mềm tiện ích đi kèm đã kéo theo sự
phát triển của các Hệ điều hành để các nhà phát triển ứng dụng có thể thực hiện các ý
tưởng của mình. Các hệ điều hành phổ biến đó như: Android, Windows phone 7,
Windows phone 8, IOS, BlackBerry OS… Cùng với tốc độ phát triển đó là những tiến
bộ vượt bậc về tốc độ xử lý. Nhờ đó lập trình các ứng dụng cho loại thiết bị này tăng
lên nhanh chóng, đặc biệt là các dịch vụ giá trị gia tăng trên mạng di động như SMS,
RSS, WAP và ứng dụng dịch vụ tiện ích.


Đứng trước xu thế toàn cầu hoá, ngành dịch vụ Viễn thông nói chung và dịch vụ
điện thoại di động nói riêng ở Việt Nam đã đạt được những thành tựu nhất định. Sơ
khai là một ngành với những điều kiện cơ sở vật chất nghèo nàn, dịch vụ viễn thông
còn rất lạc hậu. Cho đến nay, ngành Viễn thông Việt nam đã hoà nhập với mạng thông
tin toàn cầu, đóng góp vào GDP 0,2% năm 1991 và đến nay đã lên tới con số 10,5%.
Đặc biệt số lượng thuê bao dịch vụ điện thoại di động đã thay đổi một cách nhanh
chóng, từ 4.060 thuê bao năm 1993 lên tới 1.200.000 thuê bao tính đến hết tháng 3
năm 2005. Trước xu thế hội nhập ngày càng mở rộng, ngành dịch vụ Viễn thông nói
chung và dịch vụ điện thoại di động nói riêng đang bước vào giai đoạn cạnh tranh rất
lớn. Nổi lên trong giao đoạn hiện nay là công nghệ hệ điều hành di động và nổi bật
như một ngôi sao mới là hệ điều hành Android của Google.
Hiện Việt Nam đang phát triển mạnh mẽ dòng sản phẩm mobile sử dụng hệ điều
hành Android, điều này dẫn đến nhu cầu lớn về xây dựng các ứng dụng trên Android
cho Mobile. Xây dựng ứng dụng đọc tin tức trên Android cho mobile hiện cũng rất
phát triển và có tiềm năng lớn để đáp ứng nhu cầu cập nhật thông tin hằng ngày của
mọi người, cũng chính vì điều đó mà nhóm em lựa chọn đề tài: “Xây dựng ứng dụng
tổng hợp tin tức online qua RSS trên hệ điều hành Android” này cho đồ án của
mình. Với đồ án này, nhóm em hi vọng có thể tìm hiểu, vận dụng kiến thức học tập của
mình để tạo ra một sản phẩm có thể đưa vào sử dụng trong thực tiễn và quan trọng là
tích lũy kinh nghiệm cho mình trong việc phát triển ứng dụng cho mobile trên hệ điều
hành Android.
Trong quá trình giảng dạy, nhờ có sự hướng dẫn tận tình của thầy giáo Lê Hoàn
cùng với sự giúp đỡ của các thầy cô trong khoa, nhóm em đã hoàn thành đồ án này. Từ
đó chúng em đã thấy được các trình ứng dụng được tạo ra như thế nào, đồng thời giúp

2


chúng em nắm vững được các phương pháp thuật toán, cách lập trình trên HĐH
Android.

Với mục tiêu xây dựng ứng dụng đọc tin tức RSS trên hệ điều hành Android,
nhóm em có thể lấy tin rss từ các trang web rồi tổng hợp lại đưa vào ứng dụng. Tuy đã
có nhiều cố gắng, nhưng báo cáo của chúng em còn có rất nhiều thiếu sót. Rất mong
nhận được sự đóng góp của thầy (cô) giáo và các bạn.
Chúng em xin chân thành cảm ơn !
Nhóm sinh viên thực hiện:
Trần Văn Đại
Nguyễn Văn Linh
Vũ Văn Tuấn.

3


MỤC LỤC

4


DANH MỤC HÌNH ẢNH

5


DANH MỤC BẢNG

6


DANH SÁCH TỪ VIẾT TẮT
Ký hiệu


Diễn giải

RSS

Really Simple Syndication (RSS 2.0.0) - Chia sẻ thông tin thực sự
đơn giản hoặc RDF Site Summary (RSS 0.9 and 1.0) - Tóm lược
website theo định dạng RDF

RDF

Resource Description Framework – Khuôn khổ mô tả tài nguyên

HĐH

Hệ điều hành

XML

eXtensible Markup Language – Ngôn ngữ đánh dấu mở rộng

PDA

Persional Digital Assistant - Thiết bị trợ giúp kỹ thuật số cá nhân

OS

Operate System – Hệ điều hành

S60


Hệ điều hành Symbian S60

7


CHƯƠNG 1: TÓM TẮT ĐỀ TÀI
1.1. Tổng quan
Các website thường đánh dấu thành phần RSS (nguồn RSS) của nó với các ký
hiệu RDF, RSS hoặc XML. Trong đó, biểu tượng có chữ XML là dấu hiệu phổ thông
nhất. Một trong những điều kỳ diệu nhất về web là khả năng đem tới cho người dùng
những thông tin cập nhật mới nhất vào bất cứ thời điểm nào, không chỉ các tiêu đề tin
tức mới nhất mà cả với nội dung mới cập nhật của toàn bộ trang web.
Gần đây, sử dụng RSS trên web trở thành một hiện tượng thực sự. Trong những
ngày đầu phát triển của web, các trang web cũng được liên kết với nhau song dữ liệu
giữa chúng thì thực sự hiếm khi được chia sẻ. Hiển nhiên, quan niệm đã thay đổi theo
thời gian. Các trang web sử dụng RSS tăng lên nhanh chóng với những lý do rõ ràng
và hợp lý.
Blogs: Weblog (hay gọi tắt là Blog) bắt đầu xuất hiện và bùng nổ trong đa số
người dùng Internet từ cách đây khoảng bốn đến năm năm. Blog cho phép người dùng,
cá nhân hoặc nhóm, có thể đưa thông tin lên mạng với mọi chủng loại chủ đề, thông
thường là có liên quan tới kinh nghiệm hoặc ý kiến cá nhân. Người sử dụng có thể sử
dụng RSS khi tạo ra các blog để việc cập nhật các tệp blog trở nên dễ dàng hơn và
giúp người đọc có thể nhận thấy sự thay đổi.
Chia sẻ thông tin diện rộng: Việc cung cấp thông tin rộng rãi cho nhiều chủ thể
truyền thông (syndication of information) là điều khá phổ biến trên truyền hình và các
loại hình thông tấn báo chí khác. Đối với mạng lưới truyền hình và báo chí, việc tận
dụng các thông tin kiểu này thường có giá thành rẻ hơn và cũng dễ dàng hơn so với
việc tự tạo ra các nội dung. Thêm vào đó, công chúng dễ dàng nhận biết và theo dõi
các thông tin được quảng bá rộng rãi.

Các website sử dụng các thông tin được cung cấp rộng rãi cho các chủ thể khác
nhau cũng với lý do tương tự. Các chủ thể có uy tín và danh tiếng thường là người
khởi tạo, tổ chức và phân phối các dữ liệu dùng chung (Bạn có thể nhận thấy một cách
rất hợp lý rằng một nhà quản lý mạng sẽ tận dụng các tin tức từ một tổ chức truyền
thông chuyên nghiệp, thay vì tự mình viết ra các thông tin đó). Một vài dữ liệu được
truyền tải trên web có thể được chia sẻ miễn phí giữa các website, tuy nhiên, cũng có
nhiều trường hợp, các thông tin này được một nhà phân phối bán lại cho các chủ thể có
nhu cầu. Nếu bạn tích hợp các thông tin này trên site của bạn, nhiều khả năng lượng
truy cập vào trang web của bạn sẽ tăng lên đáng kể.
Nhiều website sử dụng RSS như một công cụ để cập nhật các thông tin mới liên
quan tới trang web hoặc các sản phẩm mới. Lấy ví dụ, một website đăng tải các thông
tin về một sản phẩm cụ thể nào đó, chẳng hạn Linux, có thể tự động thu thập các dữ
8


liệu RSS từ nhiều website về Linux khác nhằm cung cấp cho khách hàng một kho
thông tin chứa đầy đủ các thông tin cập nhật về hệ điều hành này. Trong trường hợp
này, sử dụng RSS sẽ tiết kiệm thời gian hơn nhiều so với việc webmaster truy cập từng
website Linux và cập nhật thông tin một cách thủ công.
Tập hợp thông tin: Khi đề cập tới RSS, sự tập hợp thông tin có liên quan mật
thiết tới khái niệm chia sẽ thông tin diện rộng. Nếu một website thu thập nhiều nguồn
RSS và sau đó phân phối lại chúng, điều đó đồng nghĩa với sự tập hợp thông tin.
Các site khác nhau sử dụng các phương pháp tập hợp thông tin khác nhau. Một
vài site có thể lựa chọn các nguồn RSS cho mục tiêu duy nhất là cung cấp chúng cho
người sử dụng. Các site khác lại tập hợp thông tin để truyền tải dữ liệu RSS tới các
website khác nhằm giúp các site này tìm kiếm từ RSS các dữ liệu mà họ muốn hiển thị
trên trang web.
Một website tập hợp thông tin cũng có thể tích hợp một số tính năng cá nhân để
giúp bạn tìm kiếm các thông tin một cách nhanh chóng và dễ dàng hơn. Chẳng hạn,
site đó có thể dấu các nguồn RSS mà bạn đã từng truy cập. Cũng có thể các nguồn

RSS sẽ được phân loại nhằm tăng cường tính cấu trúc và hệ thống của toàn bộ website.
Thuật ngữ “người tập hợp thông tin” (aggregator) được dùng để chỉ phần mềm
cho phép đọc các tệp RSS, thường được gọi các chương trình là phần mềm đọc tin
(newsreader), phần mềm đọc nguồn RSS (RSS feed reader) hoặc phần mềm đọc thông
tin tổng hợp (news aggregator). Để sử dụng một phần mềm này, ta phải định nghĩa các
nguồn RSS mà bạn muốn theo dõi. Phần mềm đọc tin sẽ tự động kiểm tra các nguồn
RSS đó và tìm kiếm những thay đổi. Tất cả các thay đổi sẽ xuất hiện trong cửa sổ hiển
thị của phần mềm, cho phép bạn chọn những nguồn mà người dùng muốn đọc.
Một trong những lý do quan trọng nhất cho việc ứng dụng RSS là khả năng của
nó trong việc tiếp cận tới người dùng mà không cần phải phát động một chiến dịch
quảng cáo rầm rộ và tốn kém. Đối với những cá nhân chỉ đơn thuần sử dụng Internet
và không cần tới tính năng quảng cáo của RSS, công nghệ này lại giúp họ tìm kiếm
các thông tin quan trọng qua các nguồn RSS, thậm chí từ các website mà họ ít khi
hoặc không bao giờ truy nhập.
Sức mạnh của trang web chính là khả năng sử dụng các liên kết để tăng cường
tính hiệu quả, hữu ích và tính hệ thống của web trong một tổng thể toàn cầu. Khi một
webmaster tìm thấy một website được đánh giá là hấp dẫn, họ sẽ tạo một đường link
tới website đó ngay trên trang web của họ. Với RSS, các siêu liên kết (hyperlink) giờ
đây trở nên các liên kết thông tin, cho người dùng biết được các thông tin hữu dụng và
cập nhật về những điều mà họ sẽ được nhìn thấy khi kích chuột. Trên tất cả, với tư
cách là một người dùng, bạn sẽ không phải làm gì nhiều, chỉ cần tìm đúng nguồn RSS
9


mà bạn cảm thấy hấp dẫn và nháy chuột. Đó thực sự là một điều dễ dàng mà ai trong
chúng ta đều có thể làm được.
Với những ưu điểm và sức mạnh trên của RSS chúng ta có thể tổng hợp tin tức từ
bất kỳ trang báo nào cung cấp nguồn RSS, có thể tích hợp tổng hợp hệ thống tin tức về
một ứng dụng trên một nền tảng ngôn ngữ hỗ trợ được dễ dàng. Cùng với việc phát
triển hệ thống thông tin như hiện nay thì một ứng dụng tổng hợp báo, tin tức về một

nguồn duy nhất không những giúp người dùng truy cập các tin tức một cách thuận
tiện, tiết kiệm thời gian mà còn giúp quảng bá các bài viết của các trang báo trên các
trang khác nhau.
Với sự ra đời và phát triển nhanh chóng của các thế hệ điện thoại thông minh như
hiện nay hệ điều hành trên nền tảng di động cũng phát triển nhanh chóng, trong đó có
hệ điều hành mã nguồn mở Android. Với sự tiện dụng của các điện thoại thông minh
như thế này người dùng có thể truy cập thông tin ở bất cứ nơi đâu bất cứ nơi nào có
mạng internet hoặc các gói cước thuê bao di động internet. Vì vậy một ý tưởng tổng
hợp tin tức trên hệ điều hành dành cho di động là hết sức khả thi và có tính ứng dụng
cao trong thực tiễn.
Đề tài được xây dựng với mục tiêu chính là giúp cho người dùng truy cập các
trang báo một cách thuận tiện hơn, nhanh chóng hơn thay vì phải gõ trực tiếp địa chỉ
từng trang web để lướt và đọc tin người dùng có thẻ truy cập ứng dụng và đọc các tin
tức khác nhau trên các trang báo khác nhau được tổng hợp và cung cấp trên ứng dụng.
Bài báo cáo đề tài nêu ra chi tiết các bước thực hiện xây dựng ứng dụng“Đọc tin
tức online qua RSS trên hệ điều hành Android” sử dụng chương trình eclipse và các
cách tiếp cận để giải quyết các vấn đề trong việc tổng hợp tin cũng những kết quả đã
đạt được dựa trên một số những ví dụ thử nghiệm trong khi lập trình.
1.2. Phạm vi nghiên cứu, ứng dụng
-

Phạm vi nghiên cứu: tự nghiên cứu và tìm hiểu.
Phạm vi ứng dụng: cá nhân.

1.3. Chức năng công việc đã làm
STT

Chức năng, công việc

1


Tạo giao diện thân thiện, dễ sử dụng.

2

4

Có thể chơi thêm một trang báo.
Thêm các trang con khác nhau (nhóm tin) của một
trang tin.
Xóa một trang tin khi không muốn tổng hợp nữa.

5

Hiển thị và lấy tin về.

3

Đã làm được






10


Bảng 1.1. Chức năng công việc trong ứng dụng
Bố cục đồ án gồm có bốn chương:

Chương 1: Tóm tắt đề tài.
Chương 2: Cơ sở lý thuyết.
Chương 3: Phân tích và thiết kế.
Chương 4: Kết quả.

11


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Sơ lược về các hệ điều hành
Hệ điều hành là chương trình chạy trên hệ thống máy tính, quản lý các tài nguyên
trên máy tính và là môi trường cho các chương trình ứng dụng chạy trên nó.
Ngày nay, khái niệm hệ điều hành không chỉ là trên máy vi tính mà còn được mở
rộng cho nhiều thiết bị điện tử khác chẳng hạn như điện thoại thông minh (smart
phone), các thiết bị cầm tay PDA....v.v
Như vậy hệ điều hành di động là hệ điều hành chạy trên hệ thống máy có tính di
động cao. Với đặc thù đó, hệ điều hành di động phải có những khả năng đặc biệt mà
những hệ điều hành thông thường không có được. Chẳn hạn như nó phải chạy trên hệ
thống máy có cấu hình máy hạn chế về tốc độ bộ vi xử lý, bộ nhớ sử dụng, phải chạy
được ổn định liên tục trong một thời gian dài mà chỉ sử dụng một lượng điện năng
nhỏ, trong suốt thời gian chạy đó có thể duy trì các kết nối mạng không dây để đảm
bảo việc liên lạc.
Một số hệ điều hành tiêu biểu:
- Trên máy tính cá nhân: MS DOS, MS WINDOW, MACOS, LINUX,
UNIX,
- Trên điện thoại thông minh: Android, Sybian, Window Mobile, iPhone
OS, BlackBerry, S60, Bada OS, Palm OS.
Ngoài ra còn có các hệ điều hành chạy trên mainframe, server, thẻ chíp, ..
 Các chức năng chính của hệ điều hành
 Quản lý chia sẻ tài nguyên.Tài nguyên ở đây là bao gồm:

- Tài nguyên phần cứng (CPU, Bộ nhớ, các thiết bị IO).
- Tài nguyên phần mềm (Các file, chương trình dùng chung).
 Tạo lập môi trường ảo ít phụ thuộc vào phần cứng để các phần mềm ứng dụng
hoạt động, phục vụ người dùng.
 Các thành phần của hệ điều hành.
- Thành phần quản lý tiến trình.
- Thành phần quản lý bộ nhớ.
- Thành phần quản lý nhập xuất.
- Thành phần quản lý tập tin.
- Thành phần bảo vệ hệ thống.
- Thành phần dịch lệnh.
- Thành phần quản lý mạng.
 Phân loại hệ điều hành
 Theo loại thiết bị mà hệ điều hành hoạt động.
- Hệ điều hành dành cho máy MainFrame.
12


- Hệ điều hành dành cho máy Server.
- Hệ điều hành dành cho máy nhiều CPU.
- Hệ điều hành dành cho máy tính cá nhân (PC).
- Hệ điều hành dành cho máy PDA.
- Hệ điều hành dành cho máy chuyên biệt.
- Hệ điều hành dành cho thẻ chíp (SmartCard).
 Theo số user và số chương trình cùng hoạt động.
- Hệ điều hành đơn nhiệm một người dùng.
- Hệ điều hành đa nhiệm một người dùng.
- Hệ điều hành đa nhiệm nhiều người dùng.
 Theo góc độ người dùng.
- Một người dùng.

- Nhiều người dùng(Mạng ngang hàng, mạng có máy chủ).
 Theo hình thức xử lý.
- Hệ thống xử lý theo lô.
- Hệ thống xử lý theo lô đa chương.
- Hệ thống chia sẻ thời gian.
- Hệ thống song song.
- Hệ thống phân tán.
- Hệ thống xử lý thời gian thực.
2.2. Giới thiệu chung về hệ điều hành android
Android là một hệ điều hành di động dựa trên nền tảng linux phiên bản 2.6 dành
cho các dòng điện thoại SmartPhone. Đầu tiên được ra đời bởi công ty liên hợp
Android, sau đó được Google mua lại và phát triển từ năm 2005 và trở thành một hệ
điều hành di động mã nguồn mở, miễn phí, mạnh mẽ và được ưa chuộng cao trên thế
giới.
Hệ điều hành android một hệ điều hành rất mạnh, có bảo mật cao, hỗ trợ được
nhiều công nghệ tiên tiến như 3G, GPS, EDGE, Wifi.. tương thích với nhiều phần
cứng, hỗ trợ nhiều loại bộ nhập dữ liệu như keyboard, touch và trackball. Android là
hệ điều hành di động nên có khả năng kết nối cao với các mạng không dây. Hỗ trợ
công nghệ OpenGL nên có khả năng chơi các phương tiện media, hoạt hình cũng như
trình diễn các khả năng đồ họa khác cực tốt, là tiền đề để phát triển các ứng dụng có
giao diện phức tạp chẳng hạn như là các trò chơi.
Android liên tục được phát triển, mỗi bản cập nhật từ google là mỗi lần android
được tối ưu hóa để hoạt động tốt hơn, nhanh và ổn định hơn, hỗ trợ thêm công nghệ
mới. Chẳng hạn như theo một đánh giá thì android phiên bản 2.2 hoạt động nhanh hơn
bản 2.1 tới 450%. Hiện nay, phiên bản mới nhất 4.2.2 phát hành ngày 03/2013 và đang
tiếp tục được cập nhật.
13


Năm 2008, hệ điều hành android đã chính thức mở toàn bộ mã nguồn, điều đó

cho phép các hãng điện thoại có thể đem mã nguồn về tùy chỉnh, thiết kế lại sao cho
phù hợp với mỗi mẫu mã điện thoại của họ và điều quan trọng nữa là hệ điều hành mở
này hoàn toàn miễn phí, không phải trả tiền nên giúp họ tiết kiệm khá lớn chi phí phát
triển hệ điều hành. Những điều đó là cực kỳ tốt không chỉ đối với các hãng sản xuất
điện thoại nhỏ mà ngay cả với những hãng lớn như Samsung, HTC...
Với Google, vì android hoàn toàn miễn phí, Google không thu tiền từ những
hãng sản xuất điện thoại, tuy không trực tiếp hưởng lợi từ android nhưng bù lại, những
dịch vụ của hãng như Google Search, Google Maps,... nhờ có android mà có thể dễ
dàng xâm nhập nhanh vào thị trường di động vì mỗi chiếc điện thoại được sản xuất ra
đều được tích hợp hàng loạt dịch vụ của Google. Từ đó hãng có thể kiếm bội, chủ yếu
là từ các nguồn quảng cáo trên các dịch vụ đó.
Với các nhà phát triển ứng dụng (developers), việc hệ điều hành android được sử
dụng phổbiến đồng nghĩa với việc họ có thể thoải mái phát triển ứng dụng trên nền
android với sự tin tưởng là ứng dụng đó sẻ có thể chạy được ngay trên nhiều dòng điện
thoại của các hãng khác nhau. Họ ít phải quan tâm là đang phát triển cho điện thoại
nào, phiên bản bao nhiêu vì nền tảng android là chung cho nhiều dòng máy, máy ảo
Java đã chịu trách nhiệm thực thi những ứng dụng phù hợp với mỗi dòng điện thoại
mà nó đang chạy. Tất cả các chương trình ứng dụng được viết bằng ngôn ngữ Java kết
hợp với XML nên có khả năng khả chuyển cao.
Một số hãng sản xuất điện thoại có sử dụng hệ điều hành android tiêu biểu:
- HTC với các dòng Desire HD, Evo 4G, DROID ERIS, Desire Z, Hero,
Desire, Tattoo, Wildfire, Droid Incredible, Legend, Magic, Google Nexus
One, Dream, Aria, Paradise
- LG với các dòng GT540 Optimus, Optimus Chic E720, Optimus One
P500, GW620, Optimus Z, Optimus Q, KH5200 Andro-1, GW880,
C710Aloha
- MOTOROLA với các dòng MILESTONE 2, BACKFLIP, Droid XTreme,
MT710 ZHILING, MILESTONE, XT720 MOTOROI, A1680, XT800
ZHISHANG, DEFY, CHARM, XT806...
- SAMSUNG với các dòng máy I9000 Galaxy S, Galaxy Tab, Epic 4G,

i5510, I5500 Galaxy 5, I7500 Galaxy, I5800 Galaxy 3, M110S Galaxy S,
I6500U Galaxy, Galaxy Q, I5700 Galaxy Spica, I8520 Galaxy Beam, I909
Galaxy S
- SONY XPERIA X10, XPERIA X10 mini, XPERIA X8

14


-

-

ACER với các dòng máy beTouch T500, Liquid E, Stream, Liquid,
beTouch E110, beTouch E130, beTouch E400, beTouch E120, Liquid
Metal
Ngoài ra còn nhiều hãng điện thoại vừa và nhỏ khác nữa cũng sử dụng hệ
điều hành android trong sản phẩm của mình...

2.3. RSS
2.3.1. Khái niệm
RSS là một định dạng tập tin thuộc họ XML dùng trong việc chia sẻ tin tức Web
(Web syndication) được dùng bởi nhiều website tin tức và weblog. Chữ viết tắt (theo
tiếng Anh) dùng để chỉ các chuẩn sau:
Rich Site Summary (RSS 0.91)
RDF Site Summary (RSS 0.9 and 1.0)
Really Simple Syndication (RSS 2.0.0)
Công nghệ của RSS cho phép người dùng Internet có thể đặt mua thông tin từ
các websites có cung cấp khả năng RSS (RSS feeds); chúng thường là các site có nội
dung thay đổi và được thêm vào thường xuyên. Để có thể dùng công nghệ này, các
người quản trị site đó tạo ra hay quản lí một phần mềm chuyên dụng (như là một hệ

thống quản lí nội dung - content management system-CMS) mà, với định dạng XML
mà máy có thể đọc được, có thể biểu diễn các bài tin mới thành một danh sách, với
một hoặc hai dòng cho mỗi bài tin và một liên kết đến bài tin đầy đủ đó. Khác với việc
mua nhiều ấn bản của các tờ báo hay tạp chí in giấy, hầu hết việc mua RSS là miễn
phí.
Định dạng RSS cung cấp nội dung web và tóm lược nội dụng web cùng với các
liên kết đến phiên bản đầy đủ của nội dung tin đó, và các siêu-dữ-liệu (meta-data)
khác. Thông tin này được cung cấp dưới dạng một tập tin XML được gọi là một RSS
feed, webfeed, RSS stream, hay RSS channel. Cùng với việc hỗ trợ cung cấp chia sẻ
thông tin, RSS cho phép những độc giả thường xuyên của một website có thể theo dõi
các cập nhật của site đó dùng một aggregator.
2.3.2. Cách sử dụng
RSS được dùng phổ biến bởi cộng đồng weblog để chia sẻ những tiêu đề tin tức
mới nhất hay toàn bộ nội dung của nó, và ngay cả các tập tin đa phương tiện đính kèm.
(Xem podcasting, vodcasting, broadcasting, screencasting, Vloging, và MP3 blogs.)
Vào giữa năm 2000, việc sử dụng RSS trở nên phổ dụng đối với hãng tin tức lớn, bao
gồm Reuters, CNN, và BBC. Những nhà cung cấp tin này cho phép các website khác
tổng hợp những tiêu đề tin tức "được chia sẻ" hay cung cấp các tóm tắt ngắn gọn của
các bản tin chính dưới nhiều hình thức thỏa hiệp khác nhau. RSS ngày nay được dùng
15


cho nhiều mục đích, bao gồm tiếp thị, báo cáo lỗi (bug-reports), hay các hoạt động
khác bao gồm cập nhật hay xuất bản định kì.
Một chương trình gọi là một feed reader hay aggregator có thể kiểm tra xem một
website có hỗ trợ RSS cho người dùng không và, nếu có, hiển thị những bài viết cập
nhật nhất mà nó tìm thấy từ website đó. Ngày nay có thể tìm thấy RSS feeds trên rất
nhiều Web sites lớn, cũng như nhiều những site nhỏ.
Các công cụ đọc tin phía trình khách và công cụ aggregators thường được xây
dựng thành một chương trình độc lập hoặc là một phần mở rộng của các chương trình

có sẵn như trình duyệt web. Những chương trình như vậy có mặt trên nhiều hệ điều
hành khác nhau. Xem danh sách các aggregators chuyên về tin tức.
Các phần mềm thu thập tin tức như trên không đòi hỏi phải cài đặt và có thể sử
dụng trên các máy tính có kết nối Internet. Một số aggregators kết hợp khả năng chia
sẻ tin tức, ví dụ: lấy mọi thông tin bóng đá từ nhiều nguồn tin và cung cấp thành một
nguồn tin mới. Đây cũng chính là các động cơ tìm kiếm nội dung được đăng tải thông
qua RSS feeds như Feedster hay Blogdigger.
Trên các trang web, RSS feeds thường được liên kết bằng một hình chữ nhật màu
cam
, có thể kèm theo các kí tự
hay
.
2.3.3. Lịch sử
Trước RSS, có nhiều định dạng khác cũng từng được dùng cho vấn đề chia sẻ
thông tin, nhưng không có định dạng nào được dùng rộng rãi cho đến ngày nay, vì hầu
hết chủ yếu dùng cho từng dịch vụ đơn. Ví dụ, năm 1997 Microsoft tạo ra Channel
Definition Format cho chức năng Active Channel của Internet Explorer 4.0. Dave
Winer cũng đã thiết kế định dạng XML cho việc chia sẻ thông tin riêng cho Scripting
News weblog, ra đời năm 1997[1].
RDF (Resource Description Framework) Site Summary, phiên bản đầu tiên của
RSS, được tạo ra bởi Dan Libby của Netscape vào tháng Ba 1999 dùng cho cổng điện
tử My Netscape. Phiên bản này trở thành RSS 0.9. Vào tháng Bảy 1999, đáp trả lại các
đề nghị và góp ý, Libby đưa ra bản phác thảo ban đầu đặt tên là RSS 0.91[2] (RSS viết
tắt của Rich Site Summary), nhằm đơn giản hóa định dạng và tích hợp một số phần
trong định dạng scriptingNews của Winer. Từ đó, Libby đề xuất ra định dạng tương tựRSS 1.0 thông qua cái gọi là Futures Document[3].
Chẳng bao lâu sau, Netscape không còn tập trung vào RSS/XML, bỏ rơi định
dạng đó. Một nhóm làm việc và danh sách địa chỉ mail, RSS-DEV, được thành lập bởi
nhiều người dùng và cộng đồng XML để tiếp tục phát triển nó. Cùng thời điểm, Winer
đưa ra phiên bản sửa đổi của RSS 0.91 cho website Userland, vì nó đang được dùng
trong sản phẩm của họ. Ông ta cho rằng đặc tả kĩ thuật của RSS 0.91 là tài sản riêng

16


của công ty ông, UserLand Software.[4] Vì chẳng có bên nào có tuyên bố chính thức
về tên của định dạng, cho nên bây giờ có nhiều tên gọi.
Nhóm RSS-DEV tiếp tục đưa ra RSS 1.0[5] vào tháng Mười Hai 2000 dựa trên
bản phác thảo góp ý sửa đổi cho bản đặc tả kĩ thuật đưa ra bởi Tristan Louis[6]. Giống
với RSS 0.9 (không phải 0.91) bản này dựa vào đặc tả kĩ thuật của RDF, nhưng có tính
khả mở hơn, với nhiều mục bắt nguồn từ các từ vựng metadata chuẩn như Dublin
Core.
Mười chín ngày sau, Winer cho ra phiên bản RSS 0.92[7], a một vài chỉnh sửa có
tính tương thích với các thay đổi của RSS 0.91 dựa trên cùng bản góp ý. Vào tháng Tư
2001, ông đưa ra bản phác thảo của RSS 0.93[8] mà hầu hết là giống với bản 0.92.
Bản thảo RSS 0.94 ra đời vào tháng Tám, phục hồi lại những thay đổi trong bản 0.93,
và thêm vào thuộc tính (attribute) type cho thành phần (element) description .
Vào tháng Chín 2002, Winer cho ra bản cuối cùng của RSS 0.92, bây giờ gọi là
RSS 2.0 và nhấn mạnh "Really Simple Syndication" là nghĩa của ba kí tự viết tắt RSS.
Đặc tả kĩ thuật của RSS 2.0 loại bỏ thuộc tính type từng được thêm vào trong RSS
0.94 và cho phép người dùng có thể thêm thành phần mở rộng nhờ dùng XML
namespaces. Nhiều phiên bản của RSS 2.0 đã được ra đời, nhưng chỉ số của phiên bản
thì vẫn không thay đổi.
Vào tháng Mười Một, 2002, Thời báo New York đã bắt đầu cung cấp cho người
đọc khả năng mục các tin có hỗ trợ RSS feeds liên quan đến nhiều chủ đề khác nhau.
Vào tháng Giêng, 2003, David Winer đã gọi việc dùng RSS của Thời báo New York
Time là một "điểm nhấn" (tipping point) trong việc đưa định dạng RSS trở thành một
chuẩn.
Vào tháng Bảy, 2003, Winer và Userland Software được cấp quyền sở hữu của
đặc tả kĩ thuật RSS 2.0, Trung tâm Berkman về Xã hội và Internet của Harvard [9].
Winer đã bị phê bình vì đã đơn phương tạo ra định dạng mới và tự đưa ra số của
phiên bản. Để đáp lại, đồng tác giả của RSS 1.0 Aaron Swartz đã đưa ra RSS 3.0[10],

một định dạng văn bản không dựa trên XML. Định dạng đó chỉ là một sự bắt chước và
chỉ được dùng rất ít.
Vào tháng Giêng 2005, Sean B. Palmer và Christopher Schmidt đã cho ra bản sơ
thảo đầu tiên của RSS 1.1.[11] Nó là bản sửa lỗi cho 1.0, loại bỏ những đặc tính ít
dùng, đơn giản hóa cú pháp và nâng cao đặc tả kĩ thuật dựa vào các đặc tả RDF. Vào
tháng Bảy 2005, RSS 1.1 chỉ hơn một bài tập mang tính học thuật một ít.

17


2.4. Giới thiệu ứng dụng
Ngày nay các trang báo cung cấp RSS ngày càng tăng và phổ biến để các ứng
dụng có thể lấy tin và các thông tin từ website của họ.
Ứng dụng đọc báo online thông qua lấy tin từ RSS với chức năng chính là chọn
nhập nguồn cung RSS cho, từ đó sẽ đọc tin và lấy tin về trực tiếp từ các trang cung cấp
RSS về điện thoại.
Việc lấy tin là hoàn toàn tự động, và yêu cầu máy điện thoại phải được kết nối
mạng GPRS trở nên hoặc Wifi. Dựa vào danh sách các link rss được cung cấp bới
người dùng ứng dụng sẽ tự động truy cập rss và tải về các tiêu đề tin và mô tả tin khi
người dùng chọn vào các tờ báo muốn đọc, người dùng chỉ cần chọn vào các tin trong
danh sách hiển thị và đọc tin tức.
Ứng dụng cũng cung cấp cách thêm và xóa một RSS một cách dễ dàng nếu như
chúng ta không muốn đọc hay truy cập một trang báo nào nữa.
Đây là một ứng dụng đơn giản nhưng có thể đem lại nhiều lợi ích về mặt thời
gian cũng như sự tiện lợi khi có thể cài đặt trên các thiết bị di động.

18


CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ

3.1. Đặc tả bài toán.
Đối với mọi chiếc điện thoại di động đọc tin tức là ứng dụng không thể thiếu,
dùng để xem tin tức hàng ngày trên di dộng, thông tin quan trọng của những các trang
web được cập nhật thường xuyên.
Mặc dù, ứng dụng đọc tin tức của Android đã cung cấp khá nhiều chức năng
nhưng ứng dụng này vẫn còn nhiều hạn chế, đặc biệt thiếu nhiều chức năng cơ bản
như đọc tin từ các trang web không hỗ trợ rss. Ngoài ra, với một số người sử dụng thì
thông tin được cập nhật hàng ngày cũng rất quan trọng.. Do đó, ứng dụng đọc tin tức
RSS phát triển trên hệ điều ành android, sẽ cung cấp những thông tin, tin tức được cập
nhật hàng ngày và được lưu trên thiết bị android, đồng thời cải tiến một vài chức năng
khác còn hạn chế của ứng dụng đọc tin tức trong android nhằm giúp cho người dùng
có thể đọc tin tức hàng ngày một cách dễ dàng.
Kết luận: bài toán đặt ra cho chúng ta là: Xây dựng một ứng dụng cho phép
người sử dụng điện thoại Android có thể đọc tin tức hàng ngày một cách an toàn, hiệu
quả và đặc biệt là được cập nhật thông tin nhanh nhất, chính xác nhất.
3.2. Phân tích ứng dụng
 Yêu cầu
Chương trình phải có giao diện thân thiện, dễ sử dụng. Đảm bảo đủ các chức
năng cần thiết: thêm RSS, xóa RSS, lấy danh sách tin từ một link RSS, hiển thị chi tiết
tin,…
Chương trình này được xây dựng gồm các giao diện hiển thị danh sách các trang
báo RSS, giao diện hiển thị trang tin con, giao diện hiển thị danh sách tin, giao diện
hiển thị tin chi tiết cùng các giao diện thêm mới RSS, thêm mới một mục tin con trong
RSS, đăng nhập.
 Mục tiêu
Chương trình đảm bảo các chức năng và yêu cầu đã đặt ra.
3.3. Thiết kế ứng dụng
3.3.1. Login.
- Mô tả chức năng:
Chức năng login không phải được thiết kế để bảo vệ hệ thống mà chủ yếu là sử

dụng để quản lý người dùng và dữ liệu. Khi người dùng login thì username and
password thành công hệ thống sẽ chuyển sang màn hình chính của chương trình. Còn
nếu đăng nhập thất bại màn hình đưa ra thông báo “Login error!”.
19


3.3.2. Danh mục Category.
- Mô tả chức năng:
Sau khi đăng nhập thành công. Màn hình chính sẽ được hiện lên. Nếu người
dùng muốn thêm một category mới thì click vào textview “Thêm category” sẽ hiển thị
lên một giao diện thêm mới. Người dùng nhập vào ô edittext để thêm mới một
category rồi click vào button “Thêm”, nội dung sẽ được hiện lên Listview của màn
hình chính. Còn không thì click vào “Hủy” để quay lại màn hình chính.
3.3.3. Danh mục Feed
- Mô tả chức năng:
Sau khi người dùng thêm mới một category xong. Người dùng muốn thêm đường
dẫn feed tương ứng với tên category thì click vào item Category được thêm mới tương
tứng. Tại đây màn hình sẽ hiển thị giống tương tự như màn hình. Để thêm một feed
mới, người dùng click vào textview “Thêm Feed” sẽ hiển thị một giao diện thêm mới
của feed. Ở đây người dùng nhập vào ô edittext “Nhập đường dẫn feed” (chính là
đường dẫn link rss của trang website), sẽ xảy ra 2 trường hợp sau:
- Khi ô edittext “Nhập đường dẫn feed” được nhập đúng thì tại ô edittext
“Nhập tên Feed” sẽ được hiện lên theo tên title của Category, sau đó người
dùng click vào button “Thêm”, nội dung sẽ được hiện lên Listview của
màn hình chính Feed tương ứng với tên Category.
- Khi ô edittext “Nhập đường dẫn feed” nhập không đúng. Sẽ đưa ra thông
báo “Đường dẫn feed không đúng”.
Còn không muốn thêm feed người dùng click vào button “Hủy” hoặc “Back” của
hệ thống để quay về màn hình chính feed.
3.3.4. Hiển thị danh sách mẫu tin cho từng feed lên listview.

- Mô tả chức năng:
Sau khi người dùng thêm mới feed thành công tương ứng với Category. Người
dùng click vào Item tương ứng trên listview của màn hình chính Feed sẽ chuyển sang
giao diện mới hiển thị thông tin website lên webview. Tại đây có các chức năng chính
sau: Hiển thị các tin tức vào đếm số tin hiển thị trên title. Ngoài ra, còn có một nút
“back” phía trên để quay lại.
3.3.5. Hiển thị chi tiết mẫu tin lên Webview.
- Mô tả chức năng:
Sau khi các thông tin của feed được hiển thị trên listview của màn hình chính
New. Người dùng click vào item tương ứng trên listview để xem thông tin chi tiết của
tin tức đó. Tại đây màn hình hiển thị một website chi tiết và đầy đủ.
3.3.6. Các biểu đồ hệ thống.
20


 Biểu đồ Usercase tổng quát.
Mô hình usercase dưới đây thể hiện cho số lượng chức của hệ thống mà người
dùng có thể tương tác được trực tiếp.

Hien thi chi tiet mau tin len
webview

Login

Nguoi Dung

Danh muc Category

Hien thi danh sach mau tin cho
feed len Listview


Danh muc Feed

Hình 3.1. Biểu đồ UserCase của ứng dụng
• Login
<<extend>>

Login

Check Login

Hình 3.2. Biểu đồ UserCase đăng nhập
• Danh mục Category

Danh mucCategory
<<extend>>

<<extend>>
<<extend>>

Xoa
Them moi

Hien thi danh sach cac danh muc
RSS

Hình 3.3. Biểu đồ UserCase Category
• Danh mục Feed

21



<<extend>>
Them moi

Danh muc Feed

<<extend>>
Xoa

<<extend>>

Hien thi danh sach cac feed

Hình 3.4. Biểu đồ UserCase quản lý các Feed RSS
• Biểu đồ lớp giữa các thành phần giao diện
AddCategory
ActivityFeed

About

Login

MainActivity

NewsActivity

ActivityAddFeed

Hình 3.5. Biểu đồ lớp giữa các thành phần giao diện

 Biểu đồ tuần tự
• Biểu đồ tuần tự login

: Nguoi dung

: Login

: Data

: Xu Ly

1: Username, Password
2: Check Login
3: Check Login

4: Valid or Not
5: Valid or Not
6: Message

22


Hình 3.6. Biểu đồ tuần tự đăng nhập ứng dụng
Bước 1: Người dùng nhập username, password và nhấn nút button đăng nhập
Bước 2: Chức năng Login thực hiện kiểm tra và truyền các tham số username,
password vào.
Bước 3: Truy vấn vào dữ liệu để kiểm tra username và password có tồn tại hay
không.
Bước 4, 5, 6: Trả về kết quả valid, invalid hoặc exception do lỗi kết nối rồi đưa ra
thông báo.

• Biểu đồ tuần tự danh mục Category

: Nguoi dung

: Xu Ly

: Category

: Data

1: Them moi
2: Nhap ten Category
3: Luu du lieu
4: Truy van
5: Valid or Not
6: Hien thi ten Category len Listview

7: Xoa

8: Message
9: Truy van

10: Message

Hình 3.7. Biểu đồ tuần tự danh mục Category
- Thêm một Category.
Bước 1: Người dùng click “Thêm Category” nhập tên danh mục tương ứng vào ô
edittext.
Bước 2: Bấm nút button “Thêm” nếu đồng ý, dữ liệu được lưu vào file
address.xml. Bấm nút button “Hủy” nếu không đồng ý.

Bước 3: Dữ liệu được truy vấn và hiển thị lên màn hình.
- Xóa một Category.
Bước 4: Người dùng click imageview xóa tương ứng với danh mục cần xóa.
Bước 5: Màn hình hiển thị đưa ra thông báo “Bạn muốn xóa”.
23


Bước 6: Click vào nút “Đồng ý” dữ liệu sẽ được xóa ra khỏi file address.xml.
Còn không thì click nút “Hủy Bỏ”.
• Biểu đồ tuần tự danh mục Feed

: Xu Ly

: Feed

: Nguoi dung

: Data

1: Them moi
2: Nhap duong dan feed
3: Luu du lieu
4: Truy van
5: Valid or Not
6: Hien thi danh sach feed len List...

7: Xoa

8: Message
9: Truy van


10: Message

Hình 3.8. Biểu đồ tuần tự danh mục Feed
- Thêm một Feed.
Bước 1: Người dùng click “Thêm Feed” nhập đường dẫn feed tương ứng vào ô
edittext. Bấm vào ô edittext tên feed sẽ tự động hiện ra, ta có thể chỉnh sửa lại tên của
feed tùy ý.
Bước 2: Bấm nút button “Thêm” nếu đồng ý, dữ liệu được lưu vào file feeds.xml.
còn bấm nút button “Hủy” nếu không đồng ý.
Bước 3: Dữ liệu được truy vấn và hiển thị lên màn hình.
- Xóa một feed.
Bước 4: Người dùng click imageview xóa tương ứng với feed cần xóa.
Bước 5: Màn hình hiển thị đưa ra thông báo “Bạn muốn xóa”.
Bước 6: Click vào nút “Đồng ý” dữ liệu sẽ được xóa ra khỏi file feeds.xml. Còn
không thì click nút “Hủy Bỏ”.
• Biểu đồ tuần tự hiển thị danh sách mẫu tin cho từng feed

24


: Danh sach mau tin

: Nguoi dung

: Data

1: Click ten feed
2: Truy van


3: Phan hoi

4: Hien thi danh sach mau tin tuong ung voi feed

Hình 3.9. Biểu đồ tuần tự hiển thị danh sách mẫu tin cho từng feed
Bước 1: Người dùng click vào tên feed
Bước 2: Dữ liệu được lấy từ link feed (rss) và hiển thị lên màn hình.
• Biểu đồ tuần tự hiển thị chi tiết mẫu tin

: Webview

: Nguoi dung

: Data

1: Click mau tin
2: Truy van

3: Phan hoi

4: Hien thi chi tiet mau tin tuong ung voi feed

Hình 3.10. Biểu đồ tuần tự hiển thị chi tiết mẫu tin
Bước 1: Người dùng click vào mẫu tin.
Bước 2: Mẫu tin sẽ được hiển thị lên màn hình webview.
 Biểu đồ hoạt động.
• Biểu đồ hoạt động login.

Giao dien
Login


Nhap sai thong...

Huy dang nhap

Nhap Username, Password

Kiem tra tai
khoan

Dang nhap thanh cong

Login

Hình 3.11. Biểu đồ hoạt động login
25


×