Sự ra đờicủ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.. Nhận thấy nh
Trang 1MỤC LỤC
MỤC LỤC i
DANH MỤC CÁC HÌNH iii
LỜI MỞ ĐẦU iv
PHẦN I: GIỚI THIỆU VỀ TRUNG TÂM PHÁT TRIỂN 1
PHẦN MỀM ĐẠI HỌC ĐÀ NẴNG 1
1.1 Cơ quan thực tập 1
1.2 Giới thiệu chung 1
1.3 Mục tiêu hoạt động 1
1.4 Tổ chức hoạt động 1
1.5 Lĩnh vực hoạt động 2
1.6 Các sản phẩm phần mềm 2
1.6.1 Hệ thống quản lí tạp chí khoa học SJMS 2
1.6.2 Phần mềm đọc sách UD READ 2
1.6.3 Hệ thống quản lí nhà hàng điện tử UD SMART POS 3
1.6.4 Phần mềm quản lí đào tạo EDUMAN 6.3 3
1.6.5 Phần mềm quản lí bán hàng UD SALES 4
1.6.6 Phần mềm quản lí điểm UD MARK 4
PHẦN II: XÂY DỰNG ỨNG DỤNG TRA CỨU LỊCH TRÌNH CHUYẾN BAY 5
2.1 Tổng quan về Android 5
2.1.1 Giới thiệu về Android 5
2.1.2 Giới thiệu về Android 6
2.2 Lập trình Android căn bản 8
2.2.1 Lập trính Android cần những gì? 8
2.2.2 Những khái niệm và vấn đề cơ bản trong Android 9
2.3 Phân tích thiết kế 15
2.3.1 Các chức năng 15
2.3.2 Các tác nhân 16
2.3.3 Các trường hợp sử dụng 16
2.3.4 Biểu đồ trường hợp sử dụng 16
2.3.5 Biểu đồ trình tự 17
2.3.6 Biểu đồ cộng tác 18
2.4 Demo ứng dụng 19
Trang 22.4.2 Giao diện Menu 19
2.4.3 Giao diện ưa thích 20
2.4.4 Giao diện xóa ưa thích 20
2.4.5 Giao diện kết quả tra cứu 21
2.4.6 Giao diện tuỳ chọn 21
2.4.7 Giao diện gửi SMS 22
PHẦN III: TỔNG KẾT 23
TÀI LIỆU THAM KHẢO 24
Trang 3DANH 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
Trang 4LỜ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ạicho con người nhiều tiện ích, đặc biệt là trong lĩnh vực công nghệ di động Sự ra đờicủ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ấtnhậ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 đấtnướ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ấtcho 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áchhà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ếuxả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àygâ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ứulị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ươngtrì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ìnhbay 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
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
Trang 5PHẦ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: sdcudn@sdc.ud.edu.vn
Website: http://sdc.udn.vn
1.2 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, đượcthà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.3 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ànhTrung 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ệtNam 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ócquốc tế
1.4 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ộicho 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àinước
Gia công phần mềm
Trang 6Hình 1: Hệ thống quản lí tạp chí khoa học và công nghệ
1.6.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áytí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áchtốt trên thiết bị android như UD Smart Book
Hình 2: Phần mềm đọc sách UD READ
Trang 71.6.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ácnhà hàng, khách sạn UD Smart POS cung cấp cho người dùng những tính năng ưuviệ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ăngnhư 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.6.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ấpchuyên nghiệp, Cao đẳng, Đại học, Cao đẳng nghề, Trung cấp nghề, Sơ cấp nghề baogồ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
Trang 81.6.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 chonhiề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ậtliệ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.6.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ạicá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ếtcho 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ểmtrung 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
Trang 9PHẦ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ầnchiế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ớiviệ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ồnandroid đầy đủ Hơn nữa các nhà cung cấp (thường là những nhà phát triển phầncứng) có thể thêm phần mở rộng và tùy biến cho android để phân biệt sản phẩmcủ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ìnhphá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à cungcấ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ạnghóa ngành công nghiệp smartphone Các công ty này bao gồm Motorola và SonyEricsson 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 đượcmộ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 coiandroid 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ốngnhấ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ị coiandroid như là hy vọng tốt nhất để thách thức sự tấn công của Iphone
Trang 10b 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áctí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
Trang 11 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
Trang 12- 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 androidbằng cách sử dụng ngôn ngữ lập trình java Android runtime cũng bao gồm cácnáy ảo Dalvik, cho phép mọi ứng dụng android chạy trong tiến trình riêng củamì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
- Download Eclipse tại trang: http://www.eclipse.org/downloads/
- Bạn nào không biết có thể vào đây down
http://www.eclipse.org/downloads/pac -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: http://dl-ssl.google.com/android/eclipse/
- 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ớimáy) http://developer.android.com/sdk/index.html
- Mở Eclipse -> Window -> Preferences -> Android -> trong mục SDK locationchọ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 -> Availablepackages -> 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ọnmấy cái liên quan đến các phiên bản Android mới như 2.1, 2.2
Trang 13- 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ạnchọ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ộthoạ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 tinnhắ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ộtgiao 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ộtlớ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ìnhdiễn tới người dùng khi ứng dụng được khởi động Chuyển từ một activity sangactivity 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ọicho một đáp ứng người dùng ở giữa của activity, hay một cửa sổ biểu diễn nhữngcho người dùng với thông tin quan trọng khi họ chọn một item cụ thể trên mànhì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 đốitượ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ườidù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ủaactivity 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
Trang 14số 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ươngthức Activity.setContentView() Content view là đối tượng View ở gốc của câyphâ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ạimột lần nữa