Tải bản đầy đủ (.pdf) (60 trang)

Xây dựng ứng dụng đọc tin tức trường đại học sư phạm đại học đà nẵng trên nền tảng 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 (2.77 MB, 60 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM
KHOA TIN HỌC

KHÓA LUẬN TỐT NGHIỆP
ĐỀ TÀI
XÂY DỰNG ỨNG DỤNG ĐỌC TIN TỨC TRƯỜNG
ĐẠI HỌC SƯ PHẠM - ĐẠI HỌC ĐÀ NẴNG
TRÊN NỀN TẢNG ANDROID

GVHD

: TS. NGUYỄN TRẦN QUỐC VINH

SVTH
LỚP

: NGUYỄN NGỌC QUÂN
: 11CNTT1

Đà Nẵng, tháng 5 năm 2015


i

LỜI CẢM ƠN
Đầu tiên, em xin bày tỏ lòng biết ơn chân thành và sâu sắc tới Tiến sĩ
Nguyễn Trần Quốc Vinh, người đã tận tình hướng dẫn, giúp đỡ em để khóa
luận này được hồn thành.
Em xin chân thành cảm ơn Trường Đại học Sư Phạm – Đại học Đà Nẵng
cùng toàn thể các giảng viên của khoa Tin học, trường Đại học Sư Phạm –


Đại học Đà Nẵng đã tạo mọi điều kiện thuận lợi cho em trong q trình học
tập và hồn thành khóa luận tốt nghiệp. Em xin được cảm ơn sự dạy dỗ, chỉ
bảo và quan tâm của các thầy cô khoa Tin học trong suốt thời gian em theo
học và hồn thành khóa luận.
Cuối cùng, em muốn gửi lời cảm ơn chân thành tới gia đình, bạn bè,
những người ln động viên khích lệ giúp em hồn thành khóa luận tốt
nghiệp. Xin chân thành cảm ơn.


ii

LỜI CAM ĐOAN
Tôi xin cam đoan :
1

Những nội dung trong khóa luận này là do tơi tự thực hiện dưới
sự hướng dẫn trực tiếp của thầy Nguyễn Trần Quốc Vinh.

2

Mọi tham khảo dùng trong khóa luận đều được trích dẫn rõ ràng
tên tác giả, tên cơng trình, thời gian, địa điểm công bố.

3

Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian
trá tơi xin chịu hồn toàn trách nhiệm.
Đà Nẵng, tháng 5 năm 2015
Sinh viên thực hiện


Nguyễn Ngọc Quân


iii

MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT ......................................................................... vi
DANH MỤC CÁC BẢNG ...................................................................................... vii
DANH MỤC CÁC HÌNH ...................................................................................... viii
MỞ ĐẦU .................................................................................................................... 1
1. Tính cấp thiết của đề tài .................................................................................. 1
2. Mục tiêu nghiên cứu ....................................................................................... 1
3. Đối tượng nghiên cứu ..................................................................................... 2
4. Phạm vi nghiên cứu ........................................................................................ 2
5. Phương pháp nghiên cứu ................................................................................ 2
6. Bố cục đề tài ................................................................................................... 2
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT ........................................................................ 4
1.1. LỊCH SỬ ANDROID ........................................................................................... 4
1.2. KIẾN TRÚC CỦA ANDROID ............................................................................4
1.2.1. Tầng ứng dụng ..........................................................................................6
1.2.2. Application framework.............................................................................6
1.2.3. Library ......................................................................................................7
1.2.4. Android Runtime ......................................................................................7
1.2.5. Linux kernel..............................................................................................7
1.3. ANDROID EMULATOR (GIẢ LẬP CHẠY ANDROID) .................................7
1.4. CHU KỲ ỨNG DỤNG ANDROID .....................................................................9
1.4.1. Chu kỳ sống thành phần ...........................................................................9
1.4.2. Activity Stack .........................................................................................10
1.5. SQLITE ..............................................................................................................11
1.6. GIỚI THIỆU DỊCH VỤ GOOGLE CLOUD MESSAGING ............................12

1.6.1. Định nghĩa ..............................................................................................12
1.6.2. Cơ chế hoạt động ....................................................................................12
1.7. PHÂN TÍCH XML TRONG ANDROID .........................................................13
1.7.1. Tổng quan XML .....................................................................................13


iv

1.7.1.1. Khái niệm ........................................................................................13
1.7.1.2. Cấu trúc ...........................................................................................13
1.7.2. RSS .........................................................................................................14
1.7.3. Các lớp giao diện phân tích XML ..........................................................14
1.8. GIỚI THIỆU DỊCH VỤ PUSH NOTIFICATION CỦA PARSE .....................15
1.8.1. Tổng quan Parse .....................................................................................15
1.8.2. Dịch vụ push notification của Parse .......................................................16
1.8.3. Cài đặt Parse SDK vào một dự án ứng dụng Android ...........................16
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ ................................................................ 19
2.1. PHÂN TÍCH CÁC CHƯƠNG TRÌNH TƯƠNG TỰ ........................................19
2.1.1. Một số chương trình tương tự ................................................................19
2.1.1.1. Phần mềm đọc báo Tuổi Trẻ ..........................................................19
2.1.1.2. Phần mềm đọc báo Dân Trí ............................................................20
2.1.1.3. Phần mềm đọc báo VietNamNet ....................................................21
2.1.2. Nhận xét chung .......................................................................................22
2.1.2.1. Ưu điểm ..........................................................................................22
2.1.2.2. Nhược điểm ....................................................................................22
2.2. MÔ TẢ ĐỀ TÀI .................................................................................................22
2.2.1. Xác định yêu cầu của bài toán ................................................................22
2.2.2. Yêu cầu chức năng .................................................................................23
2.2.3. Yêu cầu phi chức năng ...........................................................................23
2.3. THIẾT KẾ HỆ THỐNG.....................................................................................23

2.3.1. Sơ đồ tổng quan hệ thống .......................................................................23
2.3.2. Usecase ...................................................................................................24
2.3.2.1. Sơ đồ Usecase .................................................................................24
2.3.2.2. Đặc tả Usecase ................................................................................24
2.3.3. Sơ đồ tuần tự...........................................................................................27
2.3.3.1. Chức năng đọc tin ...........................................................................27
2.3.3.2. Chức năng kiểm tra tin mới ............................................................27
2.3.3.3. Chức năng đăng ký chuyên mục .....................................................28


v

2.3.3.4. Chức năng cài đặt ............................................................................28
2.3.4. Thiết kế cơ sở dữ liệu .............................................................................29
2.3.5. Sơ đồ lớp.................................................................................................30
2.3.6. Sơ đồ quan hệ giữa các bảng ..................................................................31
CHƯƠNG 3: THỬ NGHIỆM CHƯƠNG TRÌNH... Error! Bookmark not defined.
3.1. ỨNG DỤNG ......................................................................................................32
3.1.1. Màn hình chính .......................................................................................32
3.1.2. Danh sách tin ..........................................................................................32
3.1.3. Đọc tin chi tiết ........................................................................................33
3.2 KIỂM NGHIỆM THỰC TẾ................................................................................36
3.2.1. Đưa ứng dụng lên Google Play ..............................................................36
3.2.2. Thống kê đạt được ..................................................................................37
KẾT LUẬN VÀ KIẾN NGHỊ ................................................................................ 39
KẾT QUẢ ĐẠT ĐƯỢC ...................................................................................39
HẠN CHẾ .........................................................................................................39
HƯỚNG PHÁT TRIỂN....................................................................................40
TÀI LIỆU THAM KHẢO ...................................................................................... 41
PHỤ LỤC ................................................................................................................. 49

Phụ lục 1: Mã nguồn hàm gửi push từ server chạy php ...................................49
Phụ lục 2: Mã nguồn file PushNotification.java chụi trách nhiệm nhận push
notification ........................................................................................................50
Phụ lục 3: Nội dung file AndroidManifest.xml của ứng dụng .........................51


vi

DANH MỤC CÁC TỪ VIẾT TẮT
API

Application Programming Interface

CSDL

Cơ sở dữ liệu

GCM

Google Cloud Messaging

IDE

Integrated Development Enveronment

RSS

Rich Site Summary

SDK


Software Development Kit

XML

EXtensible Markup Language


vii

DANH MỤC CÁC BẢNG
Số hiệu

Tên bảng

Trang

2.1

Đặc tả Usecase “Kiểm tra tin mới”

25

2.2

Đặc tả Usecase “Đăng ký chuyên mục”

25

2.3


Đặc tả Usecase “Xem danh sách tin”

26

2.4

Đặc tả Usecase “Cài đặt”

26

2.5

Thông tin bảng “android_metadata”

29

2.6

Thông tin bảng “category”

29

2.7

Thông tin bảng “news”

30



viii

DANH MỤC CÁC HÌNH
Số hiệu

Tên hình

Trang

1.1

Cấu trúc stack hệ thống Android

5

1.2

Android Emulator

8

1.3

Chu kỳ sống của thành phần ứng dụng

9

1.4

Activity stack


10

1.5

Giao diện SQLite Manager

11

1.6

Cơ chế hoạt động của GCM

12

1.7

Parse hỗ trờ hầu hết các nền tảng lập trình

15

2.1

Màn hình và menu phần mềm Tuổi Trẻ

19

2.2
2.3
2.4


2.5

2.6

Màn hình danh sách tin và tin chi tiết của phần mêm đọc báo
Tuổi Trẻ
Màn hình home của phần mêm đọc báo Dân Trí
Màn hình danh sách tin và đọc tin chi tiết của phần mềm đọc
báo Dân Trí
Màn hình menu và danh sách tin của phần mềm đọc báo
VietNamNet
Màn hình menu và danh sách tin của phần mềm đọc báo
VietNamNet

20
20
21

21

22

2.7

Sơ đồ tổng quan hệ thống

23

2.8


Sơ đồ Usecase

24

2.9

Sơ đồ tuần tự chức năng đọc tin

27

2.10

Sơ đồ tuần tự chức năng đọc tin

27

2.11

Sơ đồ tuần tự chức năng đăng ký chuyên mục

28

2.12

Sơ đồ tuần tự chức năng cài đặt

28

2.13


Sơ đồ lớp

30

2.14

Sơ đồ lớp quan hệ giữa các bảng

31

3.1

Giao diện màn hình chính

32


ix

3.2

Danh sách tin

33

3.3

Các chức năng lọc tin


33

3.4

Phân biệt tin đã đọc hoặc chưa đọc

34

3.5

Chức năng đọc tin chi tiết

34

3.6

Chức năng chia sẻ tin

35

3.7

Chức năng cài đặt

35

3.8

Ứng dụng tại Google Play


36

3.9

Tên và số lượng một số thiết bị cài đặt ứng dụng

37

3.10

Lượt cài đặt trên phiên bản hệ điều hành tính đến 07/05/2015

38

3.11

Lượt cài đặt trên nhà mạng di động tính đến 07/05/2015

38

3.12

Lượt cài đặt trên nhà mạng di động tính đến 07/05/2015

38


1

MỞ ĐẦU

1. Tính cấp thiết của đề tài
Hiện nay, website là phương tiện chính cung cấp
thơng báo và tin tức của trường Đại học Sư phạm – Đại học Đà Nẵng. Việc
cập nhật các thông báo và tin tức buộc người dùng phải truy cập trực tiếp đến
website, việc tìm kiếm cũng như nắm bắt sẽ rất khó.
Để kịp thời nắm bắt thông tin người dùng liên tục phải truy cập vào
website để kiểm tra có tin mới hay khơng, đơi khi nhiều lần truy cập khơng có
tin mới, hay nếu có tin mới cũng khơng đúng chun mục đang quan tâm gây
rất nhiều bất tiện.
Với nhu cầu muốn có một ứng dụng hoạt động trên hệ điều hành
Android để quản lý thông báo, hỗ trợ việc đọc tin tức và đặc biệt hơn hết là tự
động thông báo khi tin mới theo đúng chuyên mục.
Do đó, đề tài được chọn là “Xây dựng ứng dụng đọc tin tức trường Đại
học Sư phạm - Đại học Đà Nẵng trên nền tảng Android” nhằm xây dựng ứng
dụng đọc thông báo từ website nhà trường một cách nhanh chóng, thuận tiện
thơng qua kênh RSS mà không cần phải truy cập trực tiếp tới website, kèm
theo đó là hệ thống báo tin mới theo những chuyên mục mà người dùng đã
đăng ký.
2. Mục tiêu nghiên cứu
 Nghiên cứu về nền tảng Android và xây dựng ứng dụng.
 Nghiên cứu thiết kế giao diện phù hợp cho tất cả các thiết bị Android.
 Tìm hiểu và sử dụng kỹ thuật Push Notification do bên thứ 3 cung cấp.
 Tìm hiểu và sử dụng SQLite, ứng dụng vào việc quản lý dữ liệu.
 Tìm hiểu và sử dụng tập tin RSS.
 Tìm hiểu cách triển khai một ứng dụng trên Google Play.


2

3. Đối tượng nghiên cứu

 Nghiên cứu về nền tảng Android và xây dựng ứng dụng.
 Nghiên cứu thiết kế giao diện phù hợp cho tất cả các thiết bị Android.
 Tìm hiểu và sử dụng kỹ thuật Push Notification do bên thứ 3 cung cấp.
 Tìm hiểu và sử dụng SQLite, ứng dụng vào việc quản lý dữ liệu.
 Tìm hiểu và sử dụng tập tin RSS.
 Tìm hiểu cách triển khai một ứng dụng trên Google Play.
4. Phạm vi nghiên cứu
 Mơ hình lập trình trên Android.
 Ngơn ngữ lập trình java trên Android.
 SQLite trong lập trình Android.
 Push notifications được cung cấp bởi Parse.com.
5. Phương pháp nghiên cứu
 Tìm hiểu, khảo sát các ứng dụng trên nền tảng Android có sử dụng các
kỹ thuật lập trình liên quan đến đề tài.
 Đề xuất và nhận phản hồi chức năng từ giáo viên hướng dẫn để có giải
pháp xây dựng đề tài.
 Ngoài ra sử dụng các phương pháp nghiên cứu khác như nghiên cứu
tài liệu, giáo trình hay các tài liệu tham khảo có liên quan đến hệ thống cần
xây dựng.
6. Bố cục đề tài
 Chương 1: Cở sở lý thuyết
Em trình bày tổng quan về hệ điều hành Android, cách thức hoạt động
của một ứng dụng android, chạy một ứng dụng Android trên máy ảo. Em đi
vào giới thiệu các kỹ thuật và công nghệ sử dụng trong đề tài: SQLite, Google
Cloud Messaging, XML, Parse Service.


3

 Chương 2: Phân tích thiết kế

Em tiến hành phân tích các phần mềm cóc chức năng tương tự đã từ đó
phân tích hệ thống, phân tích thiết kế cơ sở dữ liệu cho đề tài của mình.
 Chương 3: Thử nghiệm chương trình
Chương này em trình bày hình ảnh của sản phẩn và kết quả sau khi đưa
ứng dụng lên Google Play.


4

CHƯƠNG 1

CƠ SỞ LÝ THUYẾT
1.1. LỊCH SỬ ANDROID
Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế
dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thơng minh
và máy tính bảng. Ban đầu, Android được phát triển bởi Tổng công ty
Android, với sự hỗ trợ tài chính từ Google và sau này được chính Google mua
lại vào năm 2005[1].
Vào cuối năm 2007, Android thuộc về Liên minh Thiết bị Cầm tay Mã
Nguồn mở (Open Handset Alliance) với khoảng 78 thành viên bao gồm cả
nhà sản xuất, nhà phát triển ứng dụn cho thiết bị di động mà dẫn đầu là
Google[2].
Phiên bản Software Development Kit (SDK) lần đầu tiên phát hành vào
tháng 11 năm 2007, hãng T-Mobile cũng công bố chiếc điện thoại Android
đầu tiên đó là chiếc T-Mobile G1. Một vài ngày sau đó, Google lại tiếp tục
cơng bố sự ra mắt phiên bản Android SDK release Candidate 1.0. Trong
tháng 10 năm 2008, Google được cấp giấy phép mã nguồn mở cho Android
Platform [3].
Vào cuối năm 2008, Google cho phát hành một thiết bị cầm tay được
gọi là Android Dev Phone 1 có thể chạy được các ứng dụng Android mà

khơng bị ràng buộc vào các nhà cung cấp mạng điện thoại di động. Mục tiêu
của thiết bị này là cho phép các nhà phát triển thực hiện các cuộc thí nghiệm
trên một thiết bị thực có thể chạy hệ điều hành Android mà không phải ký
một bản hợp đồng nào.
Đến nay, Android đã trải qua nhiều phiên bản khác nhau như Android 1.0,
1.1, 1.5, 1.6, 2.0, 2.2,...4.4.4, 5.0.0 và mới đây nhất là Android 5.1 với các
tính năng ngày càng đầy đủ, hồn thiện và hổ trợ nhiều tính năng hơn.


5

1.2 KIẾN TRÚC CỦA ANDROID
Mơ hình sau thể hiện một cách tổng quát các thành phần của hệ điều
hành Android. Mỗi một phần sẽ được đặc tả một cách chi tiết dưới đây.
APPLICATIONS
Home

Phone

Contact



Browser

APPLICATION FRAMEWORK
Activity

Window


Content

View

Manager

Manager

Providers

System

Package

Telephony

Resoure

Location

Notification

Manager

Manager

Manager

Manger


Manager

LIBRARIES
Surface

Media

Manager

Framework

OpenGL | ES

FreeType

ANDROID RUNTIME
SQLite
Core Libraries

WebKit
Dalvik Virtual
Machine

SGL

SSL

libc

LINUX KERNEL

Display Driver

Keypad Driver

Camera Driver

Wifi Driver

Flash Memory

Binder (IPC)

Driver

Driver

Audio Driver

Power
Management

Hình 1.1. Cấu trúc stack hệ thống Android


6

1.2.1 Tầng ứng dụng
Android được tích hợp sẵn một số ứng dụng cần thiết cơ bản như:
contacts, browser, camera, Phone,… Tất cả các ứng dụng chạy trên hệ điều
hành Android đều được viết bằng Java.

1.2.2 Application framework
Android cung cấp một nền tảng phát triển mở, giúp cho các nhà phát
triển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo. Nhà
phát triển được tự do tận dụng các thiết bị phần cứng, thông tin địa điểm truy
cập, các dịch vụ chạy nền, thiết lập hệ thống báo động,…
Nhà phát triển có thể truy cập vào các API (Application Programming
Interface) cùng một khuôn khổ được sử dụng bởi các ứng dụng lõi. Các kiến
trúc ứng dụng được thiết kế để đơn giản hóa việc sử dụng lại các thành phần;
bất kỳ ứng dụng có thể xuất bản khả năng của mình và ứng dụng nào khác sau
đó có thể sử dụng những khả năng (có thể hạn chế bảo mật được thực thi bởi
khuôn khổ). Cơ chế này cho phép các thành phần tương tự sẽ được thay thế
bởi người sử dụng.
Cơ bản tất cả các ứng dụng là một bộ các dịch vụ và các hệ thống, bao gồm:


Một tập hợp rất nhiều các View có khả năng kế thừa lẫn nhau dùng để
thiết kế phần giao diện ứng dụng như: gridview, tableview,
linearlayout,…



Một “Content Provider” cho phép các ứng dụng có thể truy xuất dữ
liệu từ các ứng dụng khác (chẳng hạn như Contacts) hoặc là chia sẻ dữ
liệu giữa các ứng dụng đó.



Một “Resource Manager” cung cấp truy xuất tới các tài nguyên không
phải là mã nguồn, chẳng hạn như: localized strings, graphics, and
layout files.



7



Một “Notifycation Manager” cho phép tất cả các ứng dụng hiển thị các
custom alerts trong status bar.
Activity Manager được dùng để quản lý chu trình sống của ứng dụng và

điều hướng các activity.
1.2.3 Library
Android bao gồm một tập hợp các thư viện C/C++ được sử dụng bởi
nhiều thành phần khác nhau trong hệ thống Android. Điều này được thể hiện
thông qua nền tảng ứng dụng Android.
1.2.4 Android Runtime
Android bao gồm một tập hợp các thư viện cơ bản mà cung cấp hầu hết
các chức năng có sẵn trong các thư viện lõi của ngơn ngữ lập trình Java. Tất
cả các ứng dụng android đều chạy trong tiến trình riêng. Máy ảo Dalvik đã
được viết để cho một thiết bị có thể chạy nhiều máy ảo (Virtual Machine –
VM ) hiệu quả. Các VM Dalvik thực thi các tập tin thực thi Dalvik (dex).
Định dạng được tối ưu hóa cho bộ nhớ tối thiểu. VM là dựa trên registerbased, và chạy các lớp đã được biên dịch bởi một trình biên dịch Java để
chuyển đổi thành các định dạng dex. Các VM Dalvik dựa vào nhân Linux cho
các chức năng cơ bản như luồng và quản lý bộ nhớ thấp.
1.2.5 Linux kernel
Android dựa trên nhân Linux phiên bản 2.6 cho hệ thống dịch vụ cốt lõi
như security, memory management, process management, network stack, and
driver model. Kernel Linux hoạt động như một lớp trừu tượng hóa giữa phần
cứng và phần cịn lại của phần mềm stack.
1.3. ANDROID EMULATOR (GIẢ LẬP CHẠY ANDROID)

Android SDK (Software Development Kit) và Plugin Eclipse được gọi
là một ADT (Android Developer Tool – Công cụ dành cho nhà phát triển


8

Android). Các lập trình viên Android sẽ cần phải sử dụng công cụ IDE
(Integrated Development Enveronment) này để phát triển, debugging - gỡ lỗi
và thử nghiệm cho ứng dụng. Tuy nhiên, các lập trình viên cũng có thể khơng
cần phải sử dụng IDE mà thay vào đó là sử dụng dịng lệnh để biên dịch và tất
nhiên là vẫn có Emulator như thường.
Android Emulator được trang bị đầy đủ hầu hết các tính năng của một
thiết bị thật. Tuy nhiên, một số đã bị giới hạn như là kết nối qua cổng USB,
camera và video, nghe phone, nguồn điện giả lập và bluetooth.
Android Emulator thực hiện các công việc thông qua một bộ xử lý mã
nguồn mở, công nghệ này được gọi là QEMU ( được
phát triển bởi Fabrice Bellard.

Hình 1.2. Android Emulator


9

1.4. CHU KỲ ỨNG DỤNG ANDROID
Một tiến trình Linux gói gọn một ứng dụng Android đã được tạo ra cho
ứng dụng khi code cần được run và sẽ còn chạy cho đến khi:
 Nó khơng phụ thuộc.
 Hệ thống cần lấy lại bộ nhớ mà nó chiếm giữ cho các ứng dụng khác
Một sự đặc biệt và đặc tính cơ bản của Android là thời gian sống của tiến
trình ứng dụng khơng được điều khiển trực tiếp bới chính nó. Thay vào đó, nó

được xác định bởi hệ thống qua sự kết hợp của:
 Những phần của ứng dụng mà hệ thống biết đang chạy
 Những phần quan trọng như thế nào đối với người dùng
1.4.1. Chu kỳ sống thành phần
Các thành phần ứng dụng có một chu kỳ sống, tức là mỗi thành phần từ
lúc bắt đầu khởi tạo và đến thời điểm kết thúc. Giữa đó, đơi lúc chúng có thể
là Active hoặc Inactive, hoặc là trong trường hợp activie nó có thể Visible
hoặc Invisible

Hình 1.3 Chu kỳ sống của thành phần ứng dụng


10

1.4.2. Activity Stack

Hình 1.4 Activity stack
Bên trong hệ thống các activity được quản lý như một ngăn xếp - stack.
Khi một Activity mới được khởi chạy, nó được đặt ở đỉnh của stack và trở
thành activity đang chạy, activity trước sẽ ở bên dưới activity mới và sẽ
không thấy trong suốt quá trình activity mới tồn tại.
Nếu người dùng nhấn nút Back thì activity kế tiếp của stack sẽ di duyển
lên và trở thành active.


11

1.5. SQLITE
SQLite là một dạng CSDL tương tự như Mysql, PostgreSQL... Đặc
điểm của SQLite là gọn, nhẹ, đơn giản. Chương trình gồm 1 file duy nhất vỏn

vẹn chưa đến 500kB, khơng cần cài đặt, khơng cần cấu hình hay khởi động
mà có thể sử dụng ngay. Dữ liệu database cũng được lưu ở một file duy nhất.
Khơng có khái niệm user, password hay quyền hạn trong SQLite database.
SQLite khơng thích hợp với những hệ thống lớn nhưng ở quy mô vừa
tầm thì SQLite phát huy uy lực và khơng hề yếu kém về mặt chức năng hay
tốc độ. Với các đặc điểm trên SQLite được sử dụng nhiều trong việc phát
triển, thử nghiệm. Hiện nay thì SQLite đã được ứng dụng vào smartphone
như iPhone và Android để lưu trữ dữ liệu. Để có thể dễ dàng thao tác với
SQLite chúng ta có thể sử dụng trình duyệt FireFox và tải về plugin SQLite
tại link sau: />Sau khi tải về file xpi, kéo file này vào cửa sổ firefox để cài đặt plugin.
Sau khi cài đặt plugin xong thì vào Menu_tools trong firefox sẽ có chức năng
SQLite Manager. Giao diện của SQLite manager trong firefox như sau:

Hình 1.5. Giao diện SQLite Manager


12

1.6. GIỚI THIỆU DỊCH VỤ GOOGLE CLOUD MESSAGING
1.6.1. Định nghĩa
Google Cloud Messaging (GCM) là dịch vụ nhắn tin qua đám mây của
Google nó là dịch vụ miễn phí khơng giới hạn băng thông giúp nhà phát triển
gửi dữ liệu từ máy chủ của mình đến thiết bị di động . Dịch vụ hoạt động với
gói dữ liệu nhỏ hơn 4kb và tin nhắn gửi tới thiết bị là tức thời (Push
Notification)[4].
1.6.2. Cơ chế hoạt động

Hình 1.6. Cơ chế hoạt động của GCM
Đầu tiên khi ứng dụng được cài đặt, ứng dụng sẽ gửi yêu cầu đăng ký mã
xác nhận thiết bị đến GCM (1)

GCM sau khi tiếp nhận yêu cầu gửi trả mã xác nhận thiết bị lại cho thiết
bị (2)
Khi thiết bị đã có mã xác nhận, thiết bị sẽ gửi mã đến máy chủ để tiếp
nhận và lưu dữ mã xác nhận (3) (4)


13

Khi máy chủ muốn truyền thông tin đến thiết bị. Máy chủ gửi yêu cầu
kèm theo mã xác nhận thiết bị đến GCM (a)
GCM tiếp nhận yêu cầu tiếp tục chuyển tiếp yêu cầu đến cho thiết bị có
mã xác nhận yêu cầu trùng với mã xác nhận yêu cầu đã đăng ký (b)
1.7. PHÂN TÍCH XML TRONG ANDROID
1.7.1. Tổng quan XML
1.7.1.1. Khái niệm
XML (viết tắt từ tiếng Anh Extensible Markup Language, “Ngôn ngữ
Đánh dấu Mở rộng”) là ngôn ngữ đánh dấu với mục đích chung do W3C đề
nghị, để tạo ra các ngôn ngữ đánh dấu khác. Đây là một tập con đơn giản của
SGML, có khả năng mơ tả nhiều loại dữ liệu khác nhau. Mục đích chính của
XML là đơ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 với Internet. Các ngôn ngữ dựa trên XML (thí dụ:
RDF, RSS, MathML, XHTML, SVG, và cXML) được định nghĩa theo cách
thông thường, cho phép các chương trình sửa đổi và kiểm tra hợp lệ bằng các
ngơn ngữ này mà khơng cần có hiểu biết trước về hình thức của chúng.
1.7.1.2. Cấu trúc
Cú pháp XML cơ bản cho một phần tử là:
<tên_thuộc_tính=”giá trị”>nội dung</tên_thuộc_tính>

Ví dụ:
<thuVien>

<sach>
<tenSach>Jindo</tenSach>
<NXB>NXB tre</NXB>
<gia>14000</gia>
</sach>
<sach>
<tenSach>Conan</tenSach>
<NXB>NXB Kim Dong</NXB>
<gia>14000</gia>
</sach>
<sach>


14

<tenSach>7 vien ngoc rong</tenSach>
<NXB>NXB Kim Dong</NXB>
<gia>10000</gia>
</sach>
</thuVien>

1.7.2. RSS
RSS là một dạng file XML được cung cấp bởi hầu hết các trang báo điện
tử ngày nay với mục đích cho phép người dùng có thể lấy nội dung bài viết để
sử dụng với các mục đích khác nhau.
1.7.3. Các lớp giao diện phân tích XML
Java API for XML Processing, hay JAXP, là một trong các API cho lập
trình Java XML. Nó cung cấp khả năng kiểm chứng và phân tích các tài
liệu XML. Hai loại giao diện (interface) để phân tích cơ bản là:
- Giao diện phân tích dạng Mơ hình đối tượng tài liệu (Document Object

Model), viết tắt là DOM
- Giao diện phân tích API đơn giản dành cho XML (Simple API for
XML) - viết tắt là SAX
- StAX, API dẫn luồng cho XML (the Streaming API for XML).
Cùng với các giao diện phân tích, API này cịn cung cấp một giao
diện XSLT để cung cấp việc chuyển đổi dữ liệu và cấu trúc từ một tài
liệu XML sang một dạng khác.
Giao diện DOM có lẽ là một giao diện dễ hiểu nhất. Nó phân tích tồn
bộ tài liệu XML và kiến thiết một cấu trúc hoàn chỉnh đại diện cho bản tài
liệu, trong bộ nhớ, bằng cách dùng các lớp để mơ hình.
Mỗi nốt cây trong cấu trúc thực hiện một giao diện org.w3c.dom.Node.
Có nhiều loại nốt cây đại diện cho loại dữ liệu tìm thấy trong bản tài liệu
XML. Loại nốt quan trọng nhất là:


15

- Nốt phần tử. Loại này có thể có các thuộc tính nằm ở bên trong.
- Nốt văn bản. Loại này đại diện cho phần văn bản nằm giữa thẻ
mở và thẻ đóng của một phần tử tài liệu.
1.8. GIỚI THIỆU DỊCH VỤ PUSH NOTIFICATION CỦA PARSE
1.8.1. Tổng quan Parse
Dịch vụ Parse dùng website làm trang chủ. Nó là một
nền tảng đám mây cung cấp các API và các dịch vụ đám mây dành cho các
ứng dụng iOS, Android, Windows Phone 8, OS X, Windows 8. Parse SDK
còn cung cấp thư viện cho JavaScript, Unity và các API REST[5].

Hình 1.7. Parse hỗ trờ hầu hết các nền tảng lập trình
Khi sử dụng Parse API, bạn có thể chạy ứng dụng di động của mình trên
đám mây một cách nhanh chóng và ít hao tốn tài ngun. Một ứng dụng di

động được tích hợp với Parse API có thể dể dàng lưu trữ các đối tượng và các
tập tin dữ liệu trên Parse Cloud, gửi và lắng nghe các tin Push Notification.
Parse SDK còn cho phép quản lý người dùng, xử lý dữ liệu vị trí địa lý
và các nền tảng truyền thông mạng xã hội như Twitter và Facebook. Đối với
các ứng dụng di động cần mở rộng quy mơ, Parse SDK cung cấp tất cả tính co
giãn của một đám mây.


×