Tải bản đầy đủ (.doc) (27 trang)

Xây dựng chương trình tra cứu lịch trình bay trên hệ điều hành di độ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 (1.02 MB, 27 trang )

MỤC LỤC
1.1. Giới thiệu chung 1
1.2. Mục tiêu hoạt động 1
1.3. Tổ chức hoạt động 1
1.4. Lĩnh vực hoạt động 2
1.5. Các sản phẩm phần mềm 2
1.5.1. Hệ thống quản lí tạp chí khoa học SJMS 2
1.5.2. Phần mềm đọc sách UD READ 2
1.5.3. Hệ thống quản lí nhà hàng điện tử UD SMART POS 3
1.5.4. Phần mềm quản lí đào tạo EDUMAN 6.3 3
1.5.5. Phần mềm quản lí bán hàng UD SALES 4
1.5.6. Phần mềm quản lí điểm UD MARK 4
i
DANH MỤC CÁC HÌNH
Hình 1: Hệ thống quản lí tạp chí khoa học và công nghệ 2
Hình 2: Phần mềm đọc sách UD READ 2
Hình 3: Hệ thống quản lí nhà hàng điện tử UD SMART POS 3
Hình 4: Phần mềm quản lí đào tạo EDUMAN 6.3 3
Hình 5: Phần mềm quản lí bán hàng UD SALES 4
Hình 6: Phần mềm quản lí điểm UD MARK 4
Hình 7: Các phiên bản SDK 6
Hình 8: Các thành phần của Android 7
Hình 10: Sơ đồ về Service 12
Hình 11: Biểu đồ trường hợp sử dụng 16
Hình 12: Biểu đồ trình tự 17
Hình 13: Biểu đồ trình tự 17
Hình 14: Biểu đồ cộng tác 18
Hình 15: Biểu đồ cộng tác 18
Hình 16: Giao diện tra cứu 19
Hình 17: Giao diện Menu 19
Hình 18: Giao diện ưa thích 20


Hình 19: Giao diện xóa ưa thích 20
Hình 20: Giao diện kết quả tra cứu 21
Hình 21: Giao diện tùy chọn 21
Hình 22: Giao diện gửi SMS 22
iii
LỜI MỞ ĐẦU
Với sự phát triển của khoa học công nghệ trong những năm gần đây đã mang lại
cho con người nhiều tiện ích, đặc biệt là trong lĩnh vực công nghệ di động. Sự ra đời
của hệ điều hành Android với các ứng dụng miễn phí tiện ích cao mang đến cho người
sử dụng không chỉ là sự mới mẻ mà còn là công cụ hỗ trợ đắc lực mọi lúc mọi nơi.
Hiện nay, trong xu thế hội nhập và mở cửa của các quốc gia thì thủ tục xuất
nhập cảnh cũng trở nên đơn giản nên việc con người di chuyển qua lại giữa các đất
nước khác nhau ngày càng nhiều. Các hãng hàng không liền mở rộng việc kinh doanh,
tăng cường chất lượng của các chuyến bay nhằm mang lại chất lượng phục vụ tốt nhất
cho khách hàng. Tuy nhiên, sự tiện ích này sẽ không mang lại lợi ích tối đa cho khách
hàng khi khách hàng muốn đặt vé hay xem giờ bay hầu hết phải đến tận sân bay và
nếu xảy ra sự cố thì khách hàng lại phải bỏ phí hàng giờ ngồi chờ tại phi trường, điều
này gây lãng phí thời gian, đặc biệt nếu khách hàng là doanh nhân.
Để khắc phục sự bất tiện trên, em đã chọn đề tài xây dựng chương trình tra cứu
lịch trình bay trên hệ điều hành di động Android, em hy vọng với sự hỗ trợ từ chương
trình, khách hàng sẽ tiết kiệm được thời gian, cũng như công sức và nắm bắt lịch trình
bay của mình kịp thời, chính xác.
Bản báo cáo của em gồm 2 phần:
Phần 1: Giới thiệu về Trung tâm phát triển phần mềm Đại học Đà Nẵng.
- Tổng quan về trung tâm phát triển phần mềm Đại học Đà Nẵng.
- Mục tiêu, tổ chức, lĩnh vực hoạt động.
- Một số sản phẩm phần mềm đáng chú ý
Phần 2: Xây dựng ứng dụng tra cứu lich trình chuyến bay
- Tổng quan về android
- Lập trình android cơ bản

- Phân tích thiết kế
- Demo ứng dụng
Phần 3: Tổng kết
Tuy đã có nhiều cố gắng trong tìm hiểu cũng như thực hiện, báo cáo của em chắc
chắn vẫn còn nhiều thiếu sót cần bổ sung, chỉnh sửa, em rất mong nhận được ý kiến
đóng góp của cô để bản báo cáo của em được hoàn thiện hơn.
Em xin chân thành cảm ơn!
Đà Nẵng ngày 29 tháng 4 năm 2013
Sinh viên thực hiện đề tài
iv
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
PHẦN I: GIỚI THIỆU VỀ TRUNG TÂM PHÁT TRIỂN
PHẦN MỀM ĐẠI HỌC ĐÀ NẴNG
1.1. Cơ quan thực tập
Tên cơ quan: Trung tâm phát triển phần mềm Đại học Đà Nẵng.
Địa chỉ: 41 Lê Duẩn, Q. Hải Châu, TP. Đà Nẵng.
Email:
Website:
1.1. Giới thiệu chung
Trung tâm phát triển phần mềm, Đại học Đà Nẵng (Tên viết tắt là SDC –
Software Development Centre) là một thành viên trực thuộc Đại học Đà Nẵng, được
thành lập theo Quyết định số 4587/QĐ-BGDĐT-TCCB ngày 31/10/2000 của Bộ
trưởng Bộ Giáo dục & Đào tạo và hoạt động theo Giấy phép hoạt động khoa học và
công nghệ số A-482 ngày 09.02.2006 của Bộ Trưởng Bộ Khoa học và Công nghệ.
1.2. Mục tiêu hoạt động
Trung tâm phát triển phần mềm, Đại học Đà Nẵng luôn mong muốn trở thành
Trung tâm phát triển phần mềm, nghiên cứu và chuyển giao công nghệ hàng đầu Việt
Nam và khu vực.
Các hoạt động của Trung tâm tuân thủ quy trình chất lượng ISO 9001:2008,
chuẩn CMMI, nhằm đảm bảo chất lượng đạt chuẩn của quốc gia và mang tầm vóc

quốc tế.
1.3. Tổ chức hoạt động
SDC có nhiệm vụ đào tạo nguồn nhân lực chất lượng cao các ngành kinh tế, kỹ
thuật liên quan đến CNTT góp phần tích cực vào sự nghiệp phát triển kinh tế xã hội
cho các Tỉnh, Thành phố miền Trung và Tây Nguyên.
Là điểm đến để hợp tác phát triển lĩnh vực công nghệ thông tin, công nghệ Mạng
và Truyền thông của cán bộ kỹ thuật, các nhà đầu tư trong nước và quốc tế.
Phát triển phần mềm và giải pháp CNTT cho các cá nhân, tổ chức trong và ngoài
nước.
Gia công phần mềm.
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
1.4. Lĩnh vực hoạt động
Đào tạo nguồn nhân lực, phát triển công nghệ thông tin, công nghệ Mạng và
Truyền thông.
1.5. Các sản phẩm phần mềm
1.5.1. Hệ thống quản lí tạp chí khoa học SJMS
SJMS là hệ thống trực tuyến chạy trên môi trường Internet cho phép quản lý các
bài báo và công trình khoa học từ khi tác giả đăng ký gửi bài cho đến khi được duyệt
nội dung và xuất bản. Hệ thống sẽ giúp hạn chế đến mức tối đa tương tác trực tiếp giữa
tác giả, phản biện, người phụ trách Tiếng Anh với ban biên tập. Mỗi người sử dụng chỉ
cần một tài khoản dùng chung cho nhiều vai trò khác nhau như: tác giả, phản biện,
quản lý hoặc thành viên ban biên tập.
Hình 1: Hệ thống quản lí tạp chí khoa học và công nghệ
1.5.2. Phần mềm đọc sách UD READ
Ngày nay thiết bị di động cầm tay đang trở thành xu hướng của thời đại. Đặc biệt
là các sản phẩm sử dụng hệ điều hành android đã có sự phát triển nhanh chóng. Máy
tính bảng, điện thoại đã dần thay thế sách. Nhận thấy nhu cầu từ người dùng, SDC đã
phát triển ứng dụng UD Read nhằm cung cấp cho người dùng một ứng dụng đọc sách
tốt trên thiết bị android như UD Smart Book.

Hình 2: Phần mềm đọc sách UD READ.
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
1.5.3. Hệ thống quản lí nhà hàng điện tử UD SMART POS
UD Smart POS là ứng dụng được phát triển nhằm hỗ trợ công tác quản lý tại các
nhà hàng, khách sạn. UD Smart POS cung cấp cho người dùng những tính năng ưu
việt nhất, sản phẩm chính là bước đột phá về ứng dụng công nghệ di động trong quản
lý kinh doanh tại nhà hàng. Đặc biệt của ứng dụng sẽ tiết kiệm cho các nhà hàng 40% -
50% chi phí cho nhân viên phục vụ hằng tháng. Chương trình cung cấp các tính năng
như xem thực đơn trực tuyến, gọi món, thống kê thu chi,
Hình 3: Hệ thống quản lí nhà hàng điện tử UD SMART POS.
1.5.4. Phần mềm quản lí đào tạo EDUMAN 6.3
Phần mềm EduMan có thể ứng dụng để Quản lý Đào tạo cho các hệ Trung cấp
chuyên nghiệp, Cao đẳng, Đại học, Cao đẳng nghề, Trung cấp nghề, Sơ cấp nghề bao
gồm cả Chính quy và không Chính quy. Ngoài ra phần mềm cũng cho phép quản lý
đào tạo đối với các lớp chuyên đề ngắn hạn. UD EduMan sử dụng bảng mã Unicode,
giao diện thân thiện dễ sử dụng, các báo cáo trình bày đẹp và được thiết kế động, liệu
dễ dàng chuyển đổi sang các môi trường khác như PDF…
Hình 4: Phần mềm quản lí đào tạo EDUMAN 6.3.
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
1.5.5. Phần mềm quản lí bán hàng UD SALES
Phần mềm sử dụng cho các đơn vị kinh doanh thương mại và có thể áp dụng cho
nhiều chủng loại hàng hóa khác nhau như linh kiện máy tính, đồ điện dân dụng, vật
liệu xây dựng, quần áo thời trang, giày dép, thực phẩm, tân dược. Phần mềm quản lý
dựa trên nguyên tắc “nhập trước - xuất trước”, danh mục các phiếu nhập, xuất, thu,
chi,… được quản lý theo từng kỳ, kỳ mặc định là tháng hiện tại, tuy nhiên người dùng
có thể lựa chọn ngày đầu kỳ và cuối kỳ theo ý muốn.
Hình 5: Phần mềm quản lí bán hàng UD SALES
1.5.6. Phần mềm quản lí điểm UD MARK

UD Mark là sản phẩm quản lý điểm dành cho sinh viên cá nhân đang theo học tại
các trường Trung cấp, Cao đẳng, Đại học, Phần mềm được thiết kế cho các thiết bị
sử dụng Hệ điều hành Android như máy tính bảng android, điện thoại di động android.
Phần mềm được thiết kế đơn giản nhưng cung cấp nhiều tính năng hưu ích, cần thiết
cho sinh viên như lưu trữ điểm các môn học, tính điểm trung bình từng môn, điểm
trung bình từng học kỳ, trung bình năm học,…
Hình 6: Phần mềm quản lí điểm UD MARK
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
PHẦN II: XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH
CHUYẾN BAY
2.1. Tổng quan về Android
2.1.1. Giới thiệu về Android
a. Sơ lược về Android
Android là một hệ điều hành di động dựa trên một phiên bản sửa đổi của linux.
Được phát triển vào năm 2005 với một dự án cùng tên “Android”. Như một phần
chiến lược của mình để lấn sâu vào lĩnh vực di động Google Android đã mua về
toàn bộ quá trình phát triển cũng như đội phát triển nó
Google Android muốn mở và miễn phí, vì vậy hầu hết các mã android được
được đưa ra dưới dạng mã nguồn mở Apache License, điều này tương đương với
việc bất cứ ai muốn sử dụng android có thể làm như vậy bằng cách tải về mã nguồn
android đầy đủ. Hơn nữa các nhà cung cấp (thường là những nhà phát triển phần
cứng) có thể thêm phần mở rộng và tùy biến cho android để phân biệt sản phẩm
của họ với sản phẩm của những người khác. Điều này đơn giản là làm cho mô hình
phát triển android rất hấp dẫn và do đó khơi dậy sự quan tâm của nhiều nhà cung
cấp. Điều này đặc biệt đúng với các công ty bị ảnh hưởng bởi hiện tượng này như
là Iphone của Apple, một sản phẩm cực kì thành công trong công cuộc cách mạng
hóa ngành công nghiệp smartphone. Các công ty này bao gồm Motorola và Sony
Ericsson mà trong nhiều năm đã phát triển được hệ điều hành riêng cho điện thoại
di động của họ. Khi Iphone được đưa ra, một số những nhà sản xuất đã tìm được

một con đường mới để làm sống dậy sản phẩm của họ. Những nhà sản xuất coi
android như một giải pháp – họ sẽ tiếp tục thiết kế phần cứng của riêng mình và sử
dụng adroid như một hệ điều hành chính
Ưu điểm chính của việc áp dụng android là nó cung cấp một cách tiếp cận thống
nhất để phát triển ứng dụng. Các nhà phát triển chỉ cần phát triển cho android và
các ứng dụng của họ có thể chạy trên nhiều thiết bị khác nhau, miễn là các thiết bị
được hỗ trợ bằng cách sử dụng android. Trong thế giới smartphone ứng dụng là
một phần quan trọng nhất của chuỗi thành công. Do đó các nhà sản xuất thiết bị coi
android như là hy vọng tốt nhất để thách thức sự tấn công của Iphone.
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
b. Lịch sử các bản SDK
Hình 7: Các phiên bản SDK
- Hiện nay thì đã có thêm các phiên bản 3.1, 3.2 chuyên dùng cho các tablet.
2.1.2 Giới thiệu về Android
a. Những nét đặc trưng
- Application framework: cho phép sử dụng lại và thay thế các thành phần.
- Dalvik virtual machine: tối ưu hóa cho thiết bị di động.
- Intergrated browser: dựa trên cơ chế WebKit mã nguồn mở.
- SQLite: cho bộ nhớ dữ liệu cấu trúc.
- Media support: cho các định dạng audio, video và hình ảnh thông dụng.
- GSM Telephony: (phụ thuộc vào phần cứng).
- Bluetooth, EDGE, 3G, và WiFi (phụ thuộc vào phần cứng).
- Camera, GPS, la bàn, và gia tốc kế: (phụ thuộc vào phần cứng).
- Môi trường phát triển phong phú: bao gồm thiết bị mô phỏng, công cụ cho việc
dò tìm lỗi, bộ nhớ và định hình hiệu năng và một plugin cho Eclipse IDE
b. Ưu điểm của HĐH Android
- Android là một mã nguồn mở và free cho các nhà sản xuất tùy biến, không có
các cấu hình phần cứng và phần mềm cố định. Tuy nhiên bản thân nó hỗ trợ các
tính năng sau:

 Storage: Sử dụng SQLite, một cơ sở dữ liệu quan hệ nhẹ cho việc lưu trữ
dữ liệu
 Connectivity: Hỗ trợ GSM/EDGE, IDEN, CDMA, EV-DO, UMTS,
Bluetooth (bao gồm AD2P và AVRCP), Wifi, LTE và WiMAX
 Messaging: hỗ trợ cả SMS và MMS
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
 Web browser: Dựa trên mã nguồn mở Webkit, cùng với công nghệ
JavaScrip V8 của Chrome
 Media support: Bao gồm hỗ trợ các phương tiện truyền thông sau: H.263,
H.264 (Trong 3GP hoặc MP4 container ), MPEG-4 SP, AMR, AMR-WB
(3GP container), AAC, HE-AAC (MP4 hoặc 3GP container), MP3, MIDI,
Ogg Vorbis, WAV, JPEG, PNG, GIF và BMP
 Hardware support: Accelerometer Sensor, Camera, Digital Compass,
Proximity Sensor và GPS
 Multi-touch: Hỗ trợ màn hình cảm ứng đa điểm
 Multi-tasking: Hỗ trợ ứng dụng đa tác vụ
 Flash support: Android 2.3 hỗ trợ Flash 10.1
 Tethering: Hỗ trợ kết nối internet không dây/có dây.
c. Kiến trúc và thành phần của Android
Hình 8: Các thành phần của Android
- Linux kernel: Đây là phần dựa trên android. Lớp này chứa tất cả các thiết bị
mức thấp điều khiển các thành phần phần cúng khác nhau của một thiết bị
android.
- Libraries: Chứa tất cả các mã cung cấp những tính năng chính cho một hệ điều
hành android. Ví dụ các thư viện trong SQLite hỗ trợ nó trong việc lưu trữ dữ
liệu. Thư viện cung cấp các chức năng Webkit để duyệt web.
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
- Android runtime: Tại cùng một tầng như các thư viện, android runtime cung

cấp một bộ lõi thư viện cho phép các nhà phát triển viết các ứng dụng android
bằng cách sử dụng ngôn ngữ lập trình java. Android runtime cũng bao gồm các
náy ảo Dalvik, cho phép mọi ứng dụng android chạy trong tiến trình riêng của
mình. Dalvik là một máy ảo chuyên dụng được thiết kế đặc biệt cho android và
tối ưu hóa cho các thiết bị điện thoại di động với giới hạn bộ nhớ và CPU.
- Application framework: Đưa ra những khả năng khác nhau của hệ điều hành
android vào ứng dụng để sử dụng chúng trong các ứng dụng của mình.
- Applications: Tại lớp trên cùng bạn sẽ tìm thấy các ứng dụng cho android (như
điện thoại, danh bạ, trình duyệt,…) cũng như các ứng dụng bạn tải về và cài đặt
từ AndroidMarket hay bất lý ứng dụng nào bạn viết được tại tầng này.
2.2. Lập trình Android căn bản
2.2.1. Lập trính Android cần những gì?
a. Những kiến thức cơ bản cần có khi lập trình Android:
- Kiến thức Java
- Kiến thức lập trình cho di động
b. Các công cụ lập trình và cách cài đặt
- Đây là những bước chuẩn bị cơ bản đề các bạn có thế bắt tay vào việc lập trình
Android:
Bước 1:
- Download Eclipse tại trang: />- Bạn nào không biết có thể vào đây down
362/heliossr2
- Down xong và giải nén là ta có thể sử dụng Eclipse được.
Bước 2: Cài đặt ADT plugin:
- Mở eclipse lên, bấm vào Help -> Install new software.
- Ở cái form hiện lên đó, bạn chọn Add…
- Ở mục Name, nhập tên gì cũng được, ví dụ như ADT plugin
- Ở mục Location, nhập vào link này: />- Sau đó bấm OK, có cho chọn gì thì cứ chọn hết rồi bấm Next cho đến lúc xong.
Bước 3: Cài đặt Android SDK:
- Tải Android SDK tại link dưới và giải nén: (nhớ chọn cấu hình phù hợp với
máy)

- Mở Eclipse -> Window -> Preferences -> Android -> trong mục SDK location
chọn Browse > đưa đường dẫn đến thư mục SDK vừa giải nén-> bấm Apply
- Tiếp tục chọn: Window -> Android SDK and AVD manager -> Available
packages -> chọn hết và cài hết (hơi lâu một chút) hoặc bạn có thể chỉ chọn
mấy cái liên quan đến các phiên bản Android mới như 2.1, 2.2
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
- Sau đó ta ấn Install và ngồi đợi (trong lúc này có thể download vài cuốn sách cơ
bản để bắt đầu vào tìm hiểu lập trình Android ( Ví dụ Begining Android)
Bước 4: Tạo một máy điện thoại ảo (AVD):
- Ta vào: Window->Android SDK and AVD manager -> ở cái cửa sổ mới đó,
chọn mục Virtual devices -> bấm nút New
- Ta điền vào các mục Name, Target: chọn API level cho phù hợp ứng dụng bạn
chọn, SDcard bạn chọn Size dùng, nếu không thì để trống cũng được, Skin-
Built in bạn chọn HVGA
- Muốn config sâu hơn nữa các bạn vào New
2.2.2 Những khái niệm và vấn đề cơ bản trong Android
a. Activity
Một activity thể hiện một giao diện đồ họa người dùng. Ví dụ một activity có
thể biểu diễn một danh sách các menu item để người dùng có thể chọn và có thể
hiển thị ảnh cùng với tiêu đề. Một ứng dụng gửi tin nhắn văn bản có thể có một
hoạt động là hiển thị một danh sách các liên hệ để gửi tin nhắn tới, hoạt động thứ
hai là viết tin nhắn tới liên hệ được chọn, các hoạt động khác nữa là xem lại tin
nhắn cũ hay thay đổi cài đặt. Mặc dù chúng làm việc cùng nhau để tạo thành một
giao diện người dùng, mỗi activity độc lập với những cái khác. Mỗi activity là một
lớp con của lớp cơ sở Activity.
Một ứng dụng có thể gồm chỉ một activity hay nhiều activity. Thông thường,
một trong số các activity được đánh dấu như là activity đầu tiên phải được trình
diễn tới người dùng khi ứng dụng được khởi động. Chuyển từ một activity sang
activity khác được hoàn thành bằng cách cho activity hiện thời khởi động activity

kế tiếp.
Mỗi activity được đưa ra một cửa sổ mặc định để vẽ vào. Thông thường, cửa sổ
sẽ lấp đầy màn hình, nhưng nó có thể nhỏ hơn màn hình và nằm trên các cửa sổ
khác. Một activity có thể sử dụng cửa sổ bổ sung - ví dụ như một pop-up dialog gọi
cho một đáp ứng người dùng ở giữa của activity, hay một cửa sổ biểu diễn những
cho người dùng với thông tin quan trọng khi họ chọn một item cụ thể trên màn
hình.
Nội dung trực quan của cửa sổ được cung cấp bởi một cây phân cấp các đối
tượng view dẫn xuất từ lớp View. Mỗi view điều khiển một khoảng hình chữ nhật
cụ thể bên trong cửa sổ. View cha chứa và tổ chức bố cục các view con. Các view
lá vẽ trong hình chữ nhật mà chúng điều khiển và đáp ứng lại các hành động người
dùng trực tiếp ở khoảng trống này. Do đó, các view là nơi mà các tương tác của
activity với người dùng diễn ra. Ví dụ một view có thể hiển thị một hình ảnh nhỏ
và khởi tạo một hoạt động khi người dùng nhấn vào hình ảnh đó. Android có một
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
số view đã xây dựng sẵn mà bạn có thể sử dụng – gồm có các buttons, text fields,
scroll bars, menu items, check boxes …
Một cây phân cấp view được đặt trong một cửa sổ của activity bằng phương
thức Activity.setContentView(). Content view là đối tượng View ở gốc của cây
phân cấp.
Class cơ sở Activity định nghĩa một loạt các sự kiện mà điều chỉnh vòng
đời của một hoạt động. Class Activity định nghĩa các sự kiện sau đây:
 onCreate(): Được gọi khi hoạt động được tạo ra lần đầu tiên
 onStart(): Được gọi khi hoạt động trở nên hữu hình so với người dùng
 onResume(): Được gọi khi hoạt động bắt đầu tương tác với người sử
dụng
 onPause(): Được gọi để dừng các hoạt động hiện tại và nối lại các hoạt
động trước đó
 onStop(): Được gọi khi hoạt động không còn hiển thị với người dùng

 onDestroy(): Được gọi trước khi hoạt động bị phá hủy bởi hệ thống
(bằng tay hoặc bằng hệ thống để bảo tồn bộ nhớ)
 onRestart(): Được gọi khi hệ thống đã được dừng lại và khởi động lại
một lần nữa
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
Hình 9: Sơ đồ một Activity
b. Service
Một service không có giao diện trực quan, nó chạy trên nền trong một khoảng
thời gian không xác định. Ví dụ một service có thể chơi nhạc nền, hay nó nạp dữ
liệu trên mạng hay tính toán cái gì đó và cung cấp kết quả cho activity cần đến nó.
Mỗi service mở rộng từ lớp cơ sở Service
Một ví dụ cổ điển là media player chơi các bài hát từ một danh sách. Ứng dụng
player có thể có một hay hai activity cho phép người dùng chọn bài hát và bắt đầu
chơi. Tuy nhiên, music playback không tự nó được xử lý bởi một activity bởi vì
người dùng sẽ mong muốn chơi tiếp nhạc khi họ rời khỏi player và làm cái gì đó
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
khác. Để tiếp tục chơi nhạc, media player activity có thể khởi động một service
chạy trên nền. Hệ thống sẽ giữ cho music playback service chạy thậm chí khi
activity khởi động nó rời khỏi màn hình.
Trong khi kết nối, bạn có thể giao tiếp với dịch vụ thông qua giao diện mà
service đó trưng ra. Ví dụ như trong music service, giao diện này có thể cho phép
người dùng pause, rewind, stop và restart lại playback.
Giống như các activity và các thành phần khác khác, service chạy trong thread
chính của tiến trình ứng dụng. Vì thế chúng không thể chặn những thành phần khác
hay giao diện người dùng, chúng thường tạo ra các thead khác cho các nhiệm vụ
hao tốn thời gian.
Hình 10: Sơ đồ về Service
C. Broadcast Receive

Một Broadcast Rreceiver là một thành phần không làm gì ngoài việc nhận và
đáp lại các thông báo broadcast. Nhiều broadcast khởi đầu trong mã hệ thống - ví
dụ như thông báo múi giờ thay đổi, pin yếu, ảnh đã được chụp, hay người dùng đã
thay đổi ngôn ngữ … Các ứng dụng có thể tạo ra các broadcast, chẳng hạn để ứng
dụng khác biết được một số dữ liệu đã được tải về thiết bị và sẵn sàng cho việc sử
dụng chúng.
Một ứng dụng có thể có một số Broadcast Receiver để đáp lại bất cứ thông báo
nào mà nó cho là quan trọng. Tất cả các receiver mở rộng từ lớp cơ sở
BroadcastReceiver.
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
Broadcast Receiver không hiển thị một giao diện người dùng. Tuy nhiên chúng
có thể bắt đầu một activity để đáp lại thông tin mà chúng nhận, hay chúng có thể sử
dụng NotificationManager để cảnh báo người dùng. Notifications có thể lấy sự chú
ý của người dùng bằng nhiều cách, lóe sáng đèn sau, rung, tạo ra âm thah, vân vân.
Chúng thường lấy một biểu tượng bền vững trong thanh trạng thái, cái mà người
dùng có thể mở để lấy thông điệp.
d. Content provider
Một content provider tạo ra một tập cụ thể các dữ liệu của ứng dụng khả dụng
cho các ứng dụng khác. Dữ liệu có thể được lưu trữ trong hệ thống file, trong một
cơ sở dữ liệu SQLite, hay trong một cách khác nào đó. Content provider mở rộng
lớp cơ sở ContentProvider để cài đặt một tập các chuẩn các phương thức cho phép
các ứng dụng khác đạt được và lưu trữ dữ liệu của kiểu mà nó điều khiển. Tuy
nhiên, các ứng dụng không gọi trực tiếp các phương thức này, chúng sử dụng một
đối tượng ContentResolver và gọi các phương thức của nó. Một ContentResolver
có thể nói chuyện với bất cứ content provider nào, chúng cộng tác với provider để
quản lý giao tiếp liên tiến trình.
e. Manifest File
Trước khi Android có thể khởi động một thành phần ứng dụng, nó phải biết
rằng thành phần đó tồn tại. Vì vậy, ứng dụng khai báo những thành phần của mình

trong một manifest file được gắn vào Android package, file .apk này cũng giữ chứa
mã của ứng dụng và các tài nguyên.
Manifest file là một file XML có cấu trúc và thường được đặt tên là
AndroidManifest.xml cho mọi ứng dụng. Nó thực hiện một số bổ sung để khai báo
các thành phần của ứng dụng, như là nêu tên các thư viện ứng dụng cần đến, và xác
định các quyền hạn của ứng dụng muốn được cấp.
Ví dụ như nó khai báo các Activity trong chương trình của chúng ta, khi khởi
động chương trình thì Activity nào sẽ được thực hiện đầu tiên, các quyền truy cập
Internet, SDCard, hay các vấn đề về gửi nhận tin nhắn, cuộc gọi
f. Giao diện người dùng trong Android
Trong một ứng dụng Android, giao diện người dùng được xây dựng bằng cách
sử dụng View và ViewGroup đối tượng. Có nhiều loại quan điểm và các nhóm
view, mỗi một trong số đó là hậu duệ của lớp View. View objects là các đơn vị cơ
bản của biểu hiện giao diện người dùng trên nền tảng Android. Các class xem như
là cơ sở phục vụ cho class con được gọi là "widget", trong đó cung cấp đầy đủ các
đối tượng thực hiện giao diện, giống như các lĩnh vực văn bản và nút. Class
ViewGroup phục vụ như là cơ sở cho lớp con được gọi là " layouts", cung cấp các
loại khác nhau của kiến trúc bố trí, như linear, tabular và relative.
Một View object là một cấu trúc dữ liệu có đặc tính lưu trữ các thông số bố trí
và nội dung cho một khu vực cụ thể hình chữ nhật của màn hình.
Một View object xử lý đo lường riêng của mình, bố trí, bản vẽ thay đổi tập
trung,, di chuyển, và phím/tương tác cử chỉ cho khu vực hình chữ nhật của màn
hình.
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
Là một object trong giao diện người dùng, view cũng là một điểm tương tác
cho người sử dụng và nhận các sự kiện tương tác.
h. Các thành phần giao diện và Widget
Có rất nhiều cách mà bạn có thể xem cách bố trí của bạn. Sử dụng nhiều hơn và
các loại khác nhau của các view group, bạn có thể cấu trúc views con và view

groups trong vô số cách . Xác định các nhóm xem được cung cấp bởi Android (gọi
là layouts) bao gồm LinearLayout, RelativeLayout, TableLayout, GridLayout và
khác. Mỗi cung cấp một bộ duy nhất của các thông số bố trí được sử dụng để xác
định vị trí của views con và cơ cấu layout Để tìm hiểu về một số các loại khác nhau
của các view group được sử dụng cho một layout, đọc Giao diện đối tượng thường
gặp.
Widget là một object View phục vụ như một giao diện để tương tác với người
dùng. Android cung cấp một tập các widgets thực hiện đầy đủ, giống như các
button, Checkbox, và text-entry , do đó bạn có thể nhanh chóng xây dựng giao diện
người dùng của bạn. Một số widgets được cung cấp bởi Android phức tạp hơn,
giống như một date picker, clock, và zoom controls. Nhưng nó không giới hạn
trong các loại widgets được cung cấp bởi các nền tảng Android.
Nếu bạn muốn làm một cái gì thêm cho tùy biến và tạo ra các yếu tố của hành
động của bạn, bạn có thể, bằng cách xác định object view của riêng bạn hoặc bằng
cách mở rộng và kết hợp các Widget hiện có. Đọc tiếp tại Building Custom
Components. Để có một danh sách các vật dụng được cung cấp bởi Android, xem
gói android.widget.
g. Bắt sự kiện trong Android
Một khi bạn đã thêm một số Views/widgets đến giao diện, có thể bạn muốn biết
về sự tương tác của người dùng với họ, vì vậy bạn có thể thực hiện hành động. Để
được thông báo về UI events người dùng, bạn cần phải làm một trong hai điều:
Xác định một sự kiện nghe và đăng ký nó với các View. Khác thường hơn
không, đây là cách bạn sẽ lắng nghe cho các sự kiện. Các class View có chứa một
tập hợp các giao diện lồng nhau đặt tênOn<something>Listener, đều có một
phương pháp gọi lại được gọi là On<something>() .
Ví dụ.View.OnClickListener (để xử lý "nhấp chuột" trên một
View), View.OnTouchListener ( để xử lý các sự kiện màn hình cảm ứng trong
một View), và View.OnKeyListener (để xử lý thiết bị ép quan trọng trong một
View). Vì vậy nếu bạn muốn View của bạn được thông báo khi nó là " clicked"
(chẳng hạn như khi một nút được chọn), thực hiện và xác định OnClickListener

của nó gọi method onClick() (nơi bạn thực hiện các hành động sau khi nhấp
chuột), và đăng ký nó vào Xem với setOnClickListener()
Ghi đè một callback method hiện cho View. Đây là những gì bạn nên làm gì khi
bạn đã thực hiện lớp View của riêng bạn và muốn lắng nghe cho các sự kiện cụ thể
xảy ra trong nó. Ví dụ về các sự kiện bạn có thể xử lý bao gồm màn hình là
touched onTouchEvent() khi trackball là di chuyển onTrack ballEvent() hoặc khi
một phím trên thiết bị được nhấn onKeyDown(). Điều này cho phép bạn xác định
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
các hành vi mặc định cho từng sự kiện bên trong tuỳ chỉnh View của bạn và xác
định xem sự kiện này cần được thông qua ngày để View con khác. Một lần nữa,
đây là những callbacks View class, do đó, cơ hội duy nhất của bạn để xác định đó
là khi bạn xây dựng một phần tùy chỉnh.
i . Menu
Menu đơn có một phần quan trọng của giao diện người dùng trong một ứng
dụng. Menus cung cấp một giao diện đáng tin cậy cho thấy rằng các chức năng ứng
dụng và cài đặt. Trong trình đơn ứng dụng phổ biến nhất là tiết lộ bằng cách bấm
phím MENU trên thiết bị. Tuy nhiên, bạn cũng có thể thêm Context Menus, có thể
hiển thị khi người sử dụng máy nhấn và nắm giữ phím trên một mục. Thực đơn
cũng được hệ thống phân cấp cấu trúc bằng cách sử dụng một xem, nhưng bạn
không xác định cấu trúc này cho mình.
Thay vào đó, bạn xác định onCreateOptionsMenu() or onCreateContext
Menu() gọi method cho hoạt động của bạn và tuyên bố các mục mà bạn muốn bao
gồm trong menu của bạn. Trong một thời gian thích hợp, Android sẽ tự động tạo ra
hệ thống View phân cấp cần thiết cho menu, và rút ra mỗi trong mỗi menu items
đó.
Menus cũng xử lý các sự kiện riêng của nó, do đó không cần phải đăng ký sự
kiện listeners trên các item trong menu của bạn. Khi một item trong menu của bạn
được chọn, onOptionsItemSelected() hoặc onOptionsItemSelected(),onContext
ItemSelected() method onContextItemSelected() sẽ được gọi bằng framework.

Và cũng giống như layout của bạn, bạn có tùy chọn để khai báo các menu item cho
bạn trong một tệp tin XML. Đọc Tạo Menus để tìm hiểu thêm.
j. Adapter
Thỉnh thoảng bạn sẽ muốn populate một view group với một số thông tin mà
không thể hard-coded được, thay vào đó, bạn muốn bind để xem một nguồn dữ liệu
bên ngoài. Để làm điều này, bạn sử dụng một AdapterView xem như là view group
của bạn và View con được khởi tạo và populated với dữ liệu từ Adapter. Các đối
tượng AdapterView là một implementation của ViewGroup xác định những view
con của nó dựa trên một đối tượng Adapter nhất định. Adapter các hành vi như là
chuyển phát nhanh giữa các nguồn dữ liệu của bạn (có lẽ là một mảng của chuỗi
bên ngoài) và AdapterView, hiển thị nó trong đó. Có một số hiện thực của class
Adapter, cho nhiệm vụ cụ thể, chẳng hạn như CursorAdapter việc đọc dữ liệu cơ sở
dữ liệu từ một Cursor, hoặc một ArrayAdapter đọc từ một mảng tùy ý. Để tìm hiểu
thêm về cách sử dụng một adapter cho populate views của bạn, hãy đọc đóng vào
dữ liệu với AdapterView.
2.3. Phân tích thiết kế
2.3.1. Các chức năng
 Tra cứu lịch trình bay
 Gửi SMS
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
2.3.2. Các tác nhân
 Người sử dụng
2.3.3. Các trường hợp sử dụng
 Tra cứu
 Ưa thích
 Trợ giúp
 Gửi SMS
 Thoát
2.3.4. Biểu đồ trường hợp sử dụng

Hình 11: Biểu đồ trường hợp sử dụng
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
2.3.5. Biểu đồ trình tự
Hình 12: Biểu đồ trình tự
Hình 13: Biểu đồ trình tự
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
2.3.6. Biểu đồ cộng tác
Hình 14: Biểu đồ cộng tác
Hình 15: Biểu đồ cộng tác
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
2.4. Demo ứng dụng
2.4.1. Giao diện tra cứu
Hình 16: Giao diện tra cứu.
2.4.2. Giao diện Menu
Hình 17: Giao diện Menu
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
2.4.3. Giao diện ưa thích
Hình 18: Giao diện ưa thích.
2.4.4. Giao diện xóa ưa thích
Hình 19: Giao diện xóa ưa thích
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
2.4.5. Giao diện kết quả tra cứu
Hình 20: Giao diện kết quả tra cứu
2.4.6. Giao diện tuỳ chọn
Hình 21: Giao diện tùy chọn

Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng
XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY
2.4.7. Giao diện gửi SMS
Hình 22: Giao diện gửi SMS
Khoa khoa học máy tính – Lớp CCLT04D Hoàng Văn Hùng

×