Phần 1. MỞ ĐẦU 1. Lý do chọn đề tài Do nhu cầu trao đổi thông tin ngày càng tăng và nhu cầu sử dụng sản phẩm công nghệ cao nhiều tính năng, cấu hình cao, chất lượng tốt, kiểu dáng mẫu mã đẹp, phong phú nên nhà cung cấp phải luôn luôn cải thiện, nâng cao những sản phẩm của mình. Do đó việc xây dựng các ứng dụng cho điện thoại di động đang là một ngành công nghiệp mới đầy tiềm năng và hứa hẹn nhiều sự phát triển vược bậc của ngành khoa học kĩ thuật. Cùng với sự phát triển của thị trường điện thoại di động là sự phát triển mạnh mẽ của xu hướng lập trình phần mềm ứng dụng cho các thiết bị di động. Phần mềm, ứng dụng cho điện thoại hiện nay rất đa dạng và phong phú trên các hệ điều hành di động cũng phát triển mạnh mẽ và đang thay đổi từng ngày. Các hệ điều hành J2ME, Android, IOS, Hybrid, Web based Mobile Application đã rất phát triển trên thị trường truyền thông di động. Với sự phát triển nhanh chóng của thị trường điện thoại di động và xu hướng lập trình phần mềm ứng dụng di động, nhóm em xin chọn đề tài “Xây dựng ứng dụng quản lý nhân viên trên hệ điều hành Android” để có thể đáp ứng được nhu cầu làm việc tiện ích nhanh chóng cho các doanh nghiệp trong thời đại công nghệ. 2. Mục tiêu của đề tài Nghiên cứu ngôn ngữ lập trình Android . Đảm bảo chương trình hiệu quả. Chương trình chạy ổn định. Giao diện thân thiện dễ sử dụng. Tối ưu hóa các thao tác dư thừa, đơn giản cho người mới bắt đầu. Hạn chế thấp nhất các sai sót có thể xảy ra trong quá trình sử dụng. 3. Đối tượng và phạm vi nghiên cứu • Đối tượng: Ứng dụng quản lý nhân viên trên hệ điều hành Android • Phạm vi nghiên cứu: Trên điện thoại Android. 4. Phương pháp nghiên cứu Tìm hiểu về cách viết và xây dựng ứng dụng cho Android Tìm hiểu sâu hơn bộ công cụ phát triển phần mềm Android . Phần 2. NỘI DUNG NGHIÊN CỨU CHƯƠNG 1: TỔNG QUAN VỀ ANDROID 1.1. Lịch sử Android Ban đầu, Android là HĐH cho các thiết bị cầm tay dựa trên lõi Linux do công ty Android Inc. (California, Mỹ) thiết kế. Công ty này sau đó được Google mua lại vào năm 2005 và bắt đầu xây dựng Android Platform. Vào cuối năm 2007, Liên minh thiết bị cầm tay mã nguồn mở (Open Handset Alliance) gồm các thành viên nổ i bậ t trong ngành viễn thông và thiết bị cầm tay như: Broadcom Corporation, Google, HTC, Intel, LG, Marvell, Motorola, Samsung Electronics, Asustek Computer Inc, Atheros Communications, Sony Ericsson, Toshiba Corp, và Vodafone Group,… đã lên tiếng ủng hộ Android và xem Android là HĐH mặc định cài sẳn trong các thiết bị xuất xưởng của mình. Mục tiêu của Liên minh này là nhanh chóng đổi mới để đáp ứng tốt hơn cho nhu cầu người tiêu dùng và kết quả đầu tiên của nó chính là nền tảng Android. Android được thiết kế để phục vụ nhu cầu của các nhà sản xuất thiết, các nhà khai thác và các lập trình viên thiết bị cầm tay. Ở cả hai phiên bản 1.0 và 1.1 Android chưa hỗ trợ softkeyboard mà đòi hỏi các thiết bị phải sử dụng bàn phím vật lý. Android cố định vấn đề này bằng cách phát hành SDK 1.5 vào tháng 4 năm 2009, cùng với một số tính năng khác. Chẳng hạn như nâng cao khả năng ghi âm truyền thông, vật dụng, và các live folder. Hiện nay Android đã có phiên bản Android 5.0.1 và những phiên bản mới hơn với nhiều tính năng ưu việt. Hình 1.1 Biểu tượng hệ điều hành Android 1.2. Nghiên cứu máy ảo Dalvik Dalvik là máy ảo giúp các ứng dụng java chạy được trên các thiết bị động Android. Nó chạy các ứng dụng đã được chuyển đổi thành một file thực thi Dalvik (dex). Định dạng phù hợp cho các hệ thống mà thường bị hạn chế về bộ nhớ và tốc độ xử lý. Dalvik đã được thiết kế và viết bởi Dan Bornstein, người đã đặt tên cho nó sau khi đến thăm một ngôi làng đánh cá nhỏ có tên là Dalvík ở đảo Eyjafjörður, nơi mà một số tổ tiên của ông sinh sống. Từ góc nhìn của một nhà phát triển, Dalvik trông giống như máy ảo Java (Java Virtual Machine) nhưng thực tế thì hoàn toàn khác. Khi nhà phát triển viết một ứng dụng dành cho Android, anh ta thực hiện các đoạn mã trong môi trường Java. Sau đó, nó sẽ được biên dịch sang các bytecode của Java, tuy nhiên để thực thi được ứng dụng này trên Android thì nhà phát triển phải thực thi một công cụ có tên là dx. Đây là công cụ dùng để chuyển đổi bytecode sang một dạng gọi là dex bytecode. Dex là từ viết tắt của Dalvik executable đóng vai trò như cơ chế ảo thực thi các ứng dụng Android. 1.3. 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.
Trang 1Phần 1 MỞ ĐẦU
1 Lý do chọn đề tài
Do nhu cầu trao đổi thông tin ngày càng tăng và nhu cầu sử dụng sản phẩm công nghệ caonhiều tính năng, cấu hình cao, chất lượng tốt, kiểu dáng mẫu mã đẹp, phong phú nên nhà cungcấp phải luôn luôn cải thiện, nâng cao những sản phẩm của mình Do đó việc xây dựng các ứngdụng cho điện thoại di động đang là một ngành công nghiệp mới đầy tiềm năng và hứa hẹnnhiều sự phát triển vược bậc của ngành khoa học kĩ thuật
Cùng với sự phát triển của thị trường điện thoại di động là sự phát triển mạnh mẽ của xuhướng lập trình phần mềm ứng dụng cho các thiết bị di động Phần mềm, ứng dụng cho điệnthoại hiện nay rất đa dạng và phong phú trên các hệ điều hành di động cũng phát triển mạnh mẽ
và đang thay đổi từng ngày Các hệ điều hành J2ME, Android, IOS, Hybrid, Web based MobileApplication đã rất phát triển trên thị trường truyền thông di động
Với sự phát triển nhanh chóng của thị trường điện thoại di động và xu hướng lập trình phần
mềm ứng dụng di động, nhóm em xin chọn đề tài “Xây dựng ứng dụng quản lý nhân viên trên hệ điều hành Android” để có thể đáp ứng được nhu cầu làm việc tiện ích nhanh chóng
cho các doanh nghiệp trong thời đại công nghệ
2 Mục tiêu của đề tài
- Nghiên cứu ngôn ngữ lập trình Android
- Đảm bảo chương trình hiệu quả
- Chương trình chạy ổn định
- Giao diện thân thiện dễ sử dụng
- Tối ưu hóa các thao tác dư thừa, đơn giản cho người mới bắt đầu
- Hạn chế thấp nhất các sai sót có thể xảy ra trong quá trình sử dụng
3 Đối tượng và phạm vi nghiên cứu
Trang 24 Phương pháp nghiên cứu
- Tìm hiểu về cách viết và xây dựng ứng dụng cho Android
- Tìm hiểu sâu hơn bộ công cụ phát triển phần mềm Android
Phần 2 NỘI DUNG NGHIÊN CỨU
Trang 3CHƯƠNG 1: TỔNG QUAN VỀ ANDROID 1.1 Lịch sử Android
Ban đầu, Android là HĐH cho các thiết bị cầm tay dựa trên lõi Linux do công ty Android Inc (California, Mỹ) thiết kế Công ty này sau đó được Google mua lại vào năm 2005 và bắt đầu xây dựng Android Platform
Vào cuối năm 2007, Liên minh thiết bị cầm tay mã nguồn mở (Open Handset
Alliance) gồm các thành viên nổ i bậ t trong ngành viễn thông và thiết bị cầm tay như: Broadcom Corporation, Google, HTC, Intel, LG, Marvell, Motorola, Samsung Electronics, Asustek Computer Inc, Atheros Communications, Sony Ericsson, Toshiba Corp, và Vodafone Group,… đã lên tiếng ủng hộ Android và xem Android là HĐH mặc định cài sẳn trong các thiết bị xuất xưởng của mình
Mục tiêu của Liên minh này là nhanh chóng đổi mới để đáp ứng tốt hơn cho nhu cầungười tiêu dùng và kết quả đầu tiên của nó chính là nền tảng Android Android được thiết kế để phục vụ nhu cầu của các nhà sản xuất thiết, các nhà khai thác và các lập trình viên thiết bị cầm tay
Ở cả hai phiên bản 1.0 và 1.1 Android chưa hỗ trợ soft-keyboard mà đòi hỏi các thiết bị phải sử dụng bàn phím vật lý Android cố định vấn đề này bằng cách phát hành SDK 1.5 vào tháng 4 năm 2009, cùng với một số tính năng khác Chẳng hạn như nâng cao khả năng ghi âm truyền thông, vật dụng, và các live folder
Hiện nay Android đã có phiên bản Android 5.0.1 và những phiên bản mới hơn với nhiều tính năng ưu việt
Trang 4Hình 1.1 Biểu tượng hệ điều hành Android
1.2 Nghiên cứu máy ảo Dalvik
Dalvik là máy ảo giúp các ứng dụng java chạy được trên các thiết bị động Android Nóchạy các ứng dụng đã được chuyển đổi thành một file thực thi Dalvik (dex) Định dạng phùhợp cho các hệ thống mà thường bị hạn chế về bộ nhớ và tốc độ xử lý Dalvik đã được thiết
kế và viết bởi Dan Bornstein, người đã đặt tên cho nó sau khi đến thăm một ngôi làng đánh
cá nhỏ có tên là Dalvík ở đảo Eyjafjörður, nơi mà một số tổ tiên của ông sinh sống Từ gócnhìn của một nhà phát triển, Dalvik trông giống như máy ảo Java (Java Virtual Machine)nhưng thực tế thì hoàn toàn khác Khi nhà phát triển viết một ứng dụng dành cho Android,anh ta thực hiện các đoạn mã trong môi trường Java Sau đó, nó sẽ được biên dịch sang cácbytecode của Java, tuy nhiên để thực thi được ứng dụng này trên Android thì nhà phát triểnphải thực thi một công cụ có tên là dx Đây là công cụ dùng để chuyển đổi bytecode sangmột dạng gọi là dex bytecode "Dex" là từ viết tắt của "Dalvik executable" đóng vai trò như
cơ chế ảo thực thi các ứng dụng Android
1.3 Kiến trúc của Android
Trang 5Mô 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ỗimột phần sẽ được đặc tả một cách chi tiết dưới đây.
Hình 1.2 Kiến trúc của Android
1.3.1 Linux Kernel
Android dựa trên Linux phiên bản 2.6 cho hệ thống dịch vụ cốt lõi như security, memorymanagement, process management, network stack, and driver model Kernel Linux hoạt độngnhư 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.3 Libraries
Trang 6Android 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ầnkhác nhau trong hệ thống Android Điều này được thể hiện thông qua nền tảng ứng dụngAndroid Một số các thư viện cơ bản được liệt kê dưới đây:
- System C library: Thư viện chuẩn C.
- Media Libraries: Dựa trên PacketVideo's OpenCORE; các thư viên hỗ trợ phát và
ghi của các định dạng audio và video phổ thông, cũng như các định dạng ảnh, bao gồmMPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
- Surface Manager: Quản lý việc truy xuất vào hệ thống hiển thị
- LibWebCore: Một trình duyệt web hiện đại mà có khả năng trên cả trình duyệt
Android và một trình web nhúng
- SGL: Công cụ đồ họa 2D cơ bản
- 3D libraries: Một giao diện dựa trên OpenGL ES 1.0 APIs; các thư viện sử dụng
phần cứng 3D
- FreeType: bitmap và vector font trình diễn.
- SQLite: Một cơ sở dữ liệu mạnh mẽ dành cho tất cả các ứng dụng Android.
1.3.4 Application Framework
Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho các nhà phát triểnkhả 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ậndụ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, thêm các thông báo để các thanh trạng thái, và nhiều, nhiều hơn nữa Nhà pháttriển có thể truy cập vào các API cùng một khuôn khổ được sử dụng bởi các ứng dụng lõi Cáckiế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ỳ ứngdụ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ữngkhả 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ànhphần tương tự sẽ được thay thế bởi người sử dụng
Trang 7- 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.
- 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
1.3.5 Application
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ằngJava
1.4 Android Emulator
Android SDK và Plugin Eclipse được gọi là một Android Deverloper Tool (ADT) CácAndroid coder sẽ cần phải sử dụng công cụ IDE (Integrated Development Enveronment) này đểphát triển, debugging và testing cho ứng dụng Tuy nhiên, các coder cũng có thể không cầnphải sử dụng IDE mà thay vào đó là sử dụng command line để 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ộtthiế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ôngqua một bộ xử lý mã nguồn mở, công nghệ này được gọi là QEMU (http://bellard.org/qemu/)được phát triển bởi Fabrice Bellard
Trang 8Chứa các tài nguyên của ứng dụng gồm một số thành phần chính sau:
+ drawable: Chứa các hình ảnh phục vụ cho chương trình (bao gồm các thư mục nhưdrawable-hdpi, drawable-ldpi,… mỗi thư mục ứng với một độ phân giải của màn hình nhất
định khi ứng dụng được chạy ở màn hình nào nó sẽ tự tìm các tệp tương ứng trong thư mục đó)+ layout: Chứa các file thiết kế giao diện dưới dạng xml
+ menu: Chứa các file thiết kế menu dưới dạng xml
+ raw: chứa các file phụ khác phục vụ cho việc cấu hình
+ values: Chứa các file lưu giá trị như cỡ chữ, mã màu,… (bao gồm các thư mục hdpi, values-ldpi,… cách hoạt động giống với thư mục drawable)
Dưới đây là nội dung của một file R.java:
Trang 91.5.4 Androis Manifest.xml
Trong bất kì một project Android nào khi tạo ra đều có một file AndroidManifest.xml, file này được dùng để định nghĩa các screen sử dụng, các permission cũng như các theme cho ứng dụng Đồng thời nó cũng chứa thông tin về
Trang 10phiên bản SDK cũng như main activity sẽ chạy đầu tiên File này được tự động sinh ra khitạo một Android project Trong file manifest bao giờ cũng có 3 thành phần chính đó là:application, permission và version.
Dưới đây là nội dung của một file AndroidManifest.xml
Application
Thẻ <application>, bên trong thẻ này chứa các thuộc tính được định nghĩa cho ứng dụngAndroid như:
- android:icon = “drawable resource” - Ở đây đặt đường dẫn đến file icon của ứng
dụng khi cài đặt VD: android:icon = “@drawable/icon”
- android:name = “string” - thuộc tính này để đặt tên cho ứng dụng Android Tên này
sẽ được hiển thị lên màn hình sau khi cài đặt ứng dụng
- android:theme = “drawable theme” - thuộc tính này để đặt theme cho ứng dụng Các
theme là các cách để hiển thị giao diện ứng dụng Ngoài ra còn nhiều thuộc tính khác…
Permission
Bao gồm các thuộc tính chỉ định quyền truy xuất và sử dụng tài nguyên của ứng dụng Khicần sử dụng một loại tài nguyên nào đó thì trong file manifest của ứng dụng cần phải khai báocác quyền truy xuất như sau:
Trang 11SDK version
Thẻ xác định phiên bản SDK được khai báo như sau:
Ở đây chỉ ra phiên bản SDK nhỏ nhất mà ứng dụng hiện đang sử dụng
1.5.5 Tập tin activity_main.xml
- Tiếp theo bạn double - click vào activity_main.xml, tập tin này cho phép người dùng thiết kế giao diện của chương trình bằng cách trực quan hay viết code thông qua việc chọn nút Design hay Text
Trang 13- Trong màn hình trên, bạn thấy bên trong hàm onCreate có lệnh:
+ setContentView(R.Layout.activity_main) ==> thiết lập giao diện cho Activity Vớiactivity_mainlấy từ R.java
+ findViewById(R.id.btnXinChao) ==> truy suấ t control là Button trên giao diện vớibtnXinChaolấy từ R.java
Trang 15về đa nền tảng (multi platform) Java càng lúc càng được ứng dụng rộng rãi trên nhiều thiết bị từ máy tính đến mobile và nhiều thiết bị phần cứng khác
Java là ngôn ngữ lập trình hướng đối tượng nên nó cũng có 4 đặc điểm chung của các ngôn ngữ hướng đối tượng
Tính trừu tượng (Abstraction): là tiến trình xác định và nhóm các thuộc tính, các
hành động liên quan đến một thực thể đặc thù, xét trong mối tương quan với ứng dụng đang phát triển
Tính đa hình (Polymorphism): cho phép một phương thức có các tác động khác
nhau trên nhiều loại đối tượng khác nhau. Với tính đa hình, nếu cùng một phương thức ứng dụng cho các đối tượng thuộc các lớp khác nhau thì nó đưa đến những kết quả khác nhau Bản chất của sự việc chính là phương thức này bao gồm cùng một số lượng các tham số
Tính kế thừa (Inheritance): Điều này cho phép các đối tượng chia sẻ hay mở
rộng các đặc tính sẵn có mà không phải tiến hành định nghĩa lại
Tính đóng gói (Encapsulation): là tiến trình che giấu việc thực thi những chi tiết
của một đối tượng đối với người sử dụng đối tượng ấy
Java được sử dụng để làm gì?
Viết ứng dụng web (J2EE): Java thường được sử dụng để xây dựng các hệ thống web lớn đòi hỏi độ bảo mật cao, số lượng người dùng lớn như ngân hàng, phần mềm quản lý bệnh viện, CRM, HRM Đối với các website nhỏ thông thường rất
ít viết bằng Java
Viết ứng dụng mobile (J2ME): Trước đây nền tảng J2ME thường được sử dụng để viết game và app cho di động feature phone (file jar) và giờ đây khi smartphone Android lên ngôi Java lại tiếp tục được sử dụng để viết app và game cho nền tảng Android (file apk)
Viết ứng dụng desktop (J2SE): Các ứng dụng desktop viết bằng Java thật sự khôngnhiều có thể kể đến một số phần mềm như JMeter hoặc Designer Vista Lợi thế lớnnhất của ứng dụng Java là bạn chỉ viết một lần và sau đó có thể đem chương trình lên Windows, Linux hay Mac để chạy mà không cần phải viết lại Tuy nhiên do chạy trên JVM nên performance của ứng dụng thấp hơn một chút so với các ngôn ngữ như C/C++, C#
1.7 Công cụ lập trình Android Studio
Trang 16Có nhiều công cụ để phát triển Android nhưng đến nay công cụ chính thức và mạnh mẽ nhất là Android Studio Đây là IDE (Môi trường phát triển tích hợp) chính thức cho nền tảng Android, được phát triển bởi Google và được sử dụng để tạo phần lớn các ứng dụng
mà bạn có thể sử dụng hàng ngày
Android Studio lần đầu tiên được công bố tại hội nghị Google I/O vào năm 2013 và được phát hành cho công chúng vào năm 2014 sau nhiều phiên bản beta khác nhau Trước khi được phát hành, các nhà phát triển Android thường sử dụng các công cụ như Eclipse IDE,một IDE Java chung cũng hỗ trợ nhiều ngôn ngữ lập trình khác
Cài đặt Android Studio bao gồm các nội dung: cài đặt JDK, cài đặt Android Studio và tạo Android Virtual Device trên môi trường Windows
Trang 17CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH 2.1 Phân tích yêu cầu
2.1.1 Xác định các tác nhân
Vì phần mềm dùng trên android nên chỉ có một tác nhân là người dùng
2.1.2 Xác định các trường hợp sử dụng (use case)
- Đăng nhập
- Đăng kí
- Khởi động ứng dụng
- Đóng ứng dụng
- Thêm nhân viên
- Sửa nhân viên
- Xoá nhân viên
- Danh sách nhân viên
Trang 18-Mô tả: Người dùng sẽ thêm nhân viên ở đây.
Sửa nhân viên
-Tác nhân: Người dùng.
-Mô tả: Có chức năng sửa thông tin nhân viên khi bị nhập sai
Xóa nhân viên
-Tác nhân: Người dùng.
-Mô tả: Có chức năng xóa nhân viên không còn làm việc
Danh sách nhân viên
-Tác nhân: Người dùng.
-Mô tả: Có chức năng xóa nhân viên không còn làm việc
2.1.3 Biểu đồ use case
Hình 1.4 Biểu đồ trường hợp sử dụng
2.2 Phân tích các lớp đối tượng
Các lớp đối tượng của ứng dụng như sau:
- DanhsachNhanVien: Lớp này hiển thị thông tin nhân viên
- NguoiDung: Lớp này quản lý các thông tin
Trang 19Hình 1.5 Biểu đồ lớp
2.3 Biểu đồ hoạt động
Trang 20CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH 3.1 Tổng quan về App Quản Lý Nhân Viên
Giới thiệu ứng dụng
- App Quản lý nhân viên giúp người dùng sử dụng được tiện lợi hơn thông qua di động của mình, tiết kiệm được thời gian , khi chỉ cần một chiếc martphone
Đặc điểm nổi bật
- App quản lý nhân viên giao diện thân thiện, đơn giản, dễ sử dụng
3.2 Giao diện app Quản lý nhân viên
3.2.1 Giao diện chính
- Giao diện chính của chương trình
- Giao diện đăng nhập
Trang 21- Giao diện đăng kí
Trang 22- Giao diện chức năng
- Ta có 3 chức năng :
+ Thêm sửa mới nhân viên+ Sửa thông tinh nhân viên+ Xóa nhân viên
Trang 23+ Thêm nhân viên
Trang 24+ Sửa thông tin nhân viên
Trang 25+ Xóa nhân viên
3.2 Cấu hình cài đặt
Ứng dụng có thể được cài đặt trên các loại điện thoại chạy hệ điều hành Androidphiên bản 2.3.1 trở lên
Trang 26- Có nhiều điểm chưa hợp lý và chưa làm được.
2 Hướng phát triển trong tương lai
- Khắc phục các lỗi trong ứng dụng
- Thiết kế thêm 1 số chức năng
- Xây dựng app hoàn thiện hơn
- Xây dựng được app chạy trên nhiều thiết bị di đông khác nhau
Phần 4 TÀI LIỆU THAM KHẢO
[1] ThS Lê Viết Trương, 2011, “Giáo trình Phân tích, thiết kế hướng đối tượng”
Trường CĐ CNTT Hữu nghị Việt – Hàn
[2] hdh-android.htm
http://123doc.org/document/4288860-do-an-xay-dung-ung-dung-quan-ly-nhan-vien-tren-[3] Trang http://www.w3schools.com/