Thiết kế phần mềm trên thiết bị di động
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
BÀI TẬP LỚN
THÔNG TIN DI ĐỘNG
Đề tài:
ỨNG DỤNG TRÊN THIẾT BỊ DI ĐỘNG
Sinh viên thực hiện : Vũ Đăng Lân 20111750
Đỗ Văn Thắng 20112222 Nguyễn Ngọc Tân Hùng 20111523 Đặng Hồng Luật 20149579
Đỗ Trung Thanh 20112269 Giảng viên hướng dẫn : TS Trần Quang Vinh
Hà Nội, 2015
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
BÀI TẬP LỚN
THÔNG TIN DI ĐỘNG
Đề tài:
ỨNG DỤNG TRÊN THIẾT BỊ DI ĐỘNG
Sinh viên thực hiện : Vũ Đăng Lân 20111750
Đỗ Văn Thắng 20112222 Nguyễn Ngọc Tân Hùng 20111523 Đặng Hồng Luật 20149579
Đỗ Trung Thanh 20112269 Giảng viên hướng dẫn : TS Trần Quang Vinh
Hà Nội, 2015
Trang 3LỜI NÓI ĐẦU
Hệ điều hành Android ra đời đã đánh dấu một bước ngoặt trong ngành công nghệ toàn cầu và tác động trực tiếp tới đời sống của chúng ta, làm thay đổi hoàn toàn những khái niệm trước đó về di động, mở ra một ngành công nghiệp sản xuất điện thoại, các thiết bị di động Đi kèm với đó là ngành phần mềm, mà cụ thể ở đây là các phần mềm, ứng dụng với số lượng khổng lồ được viết ra hàng năm để phục vụ cho nhu cầu người
sử dụng trên các thiết bị android
Chúng em chọn để tài thiết kế “Phần mềm trên thiết bị di động”, một phần để tìm hiểu về quá trình thiết kế một ứng dụng trên thiết bị android và cũng là ứng dụng các kiến thức đã được học trong môn lập trình Android để có thể tạo ra một ứng dụng hoàn chỉnh Tuy nhiên, do kiến thức còn hạn chế nên ứng dụng của chúng em chưa thực sự được hoàn hảo Chúng em sẽ cố gằng hoàn thiện hơn nữa các ứng dụng sau này của mình
Chúng em xin chân thành cảm ơn Tiến sĩ Trần Quang Vinh đã tận tình giúp đỡ nhóm chúng em trong thời gian hoàn thiện bài tập lớn
Trang 4MỤC LỤC
LỜI NÓI ĐẦU 3
MỤC LỤC 4
DANH SÁCH HÌNH VẼ 5
1 Giới thiệu về Android 6
1.1 Lịch sử phát triển 6
1.2 Tính năng mở của hệ điều hành Android 6
1.3 Nền tảng Android 7
1.4 Thách thức và phát triển 8
2 Môi trường lập trình 9
2.1 Android Development Tool (ADT) 9
2.2 AVD và SDK Manager 10
3 Nội dung ứng dụng 12
3.1 Nội dung ứng dụng 12
3.2 Giao diện ứng dụng 12
TÀI LIỆU THAM KHẢO 17
Trang 5DANH SÁCH HÌNH VẼ
Hình 2-1 - ADT 9
Hình 2-2 – Máy ảo Genymotion 11
Hình 2-3 – SDK Manager 11
Hình 3-1 – Màn hình chính 13
Hình 3-2 – Nhiệt độ 14
Hình 3-3 – Độ ph 15
Hình 3-4 – Cảnh báo 16
Trang 61 Giới thiệu về Android
1.1 Lịch sử phát triển
Android là hệ điều hành trên điện thoại di động (và hiện nay là cả trên một số thiết
bị kĩ thuật số khác như máy ảnh và đầu kĩ thuật số) được phát triển chính bởi Google
và dựa trên nền tảng hệ điều hành Linux Trước đây, Android được phát triển bởi công ty liên hợp Android (sau đó được Google mua lại vào năm 2005) Theo công ty nghiên cứu thị trường NPD, thiết bị di động sử dụng hệ điều hành Android bán được tại Mỹ trong quý II năm 2010 xếp vị trí đầu tiên với 33%, thứ 2 là BlackBerry OS với 28% và iOS ở vị trí thứ 3 với 22% Android có một cộng đồng những nhà phát triển rất lớn viết các ứng dụng cho hệ điều hành của mình Hiện tại có khoảng 80,000 ứng dụng cho Android OS và vào khoảng 100,000 ứng dụng đã được đệ trình, điều này khiến Android trở thành hệ điều hành di động có môi trường phát triển lớn thứ 2 Các nhà phát triển viết ứng dụng cho Android dựa trên ngôn ngữ Java Sự ra mắt của Android vào ngày 5 tháng 11 năm 2007 gắn với sự thành lập của liên minh thiết bị cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng, phần mềm và viễn thông nhằm mục đính tạo nên một chuẩn mở cho điện thoại di động trong tương lai Google công bố hầu hết các mã nguồn của Android theo bản cấp phép Apache Hệ điều hành Android bao gồm 12 triệu dòng code; 3 triệu dòng XML (eXtensible Markup Language, "Ngôn ngữ Đánh Dấu Mở rộng"), 2.8 triệu dòng mã C, 2.1 triệu mã Java
và 1.75 triệu dòng mã C++ I HỆ ĐIỀU HÀNH MÃ NGUỒN MỞ ANDROID 1
Sự Ra Đời Tháng 7 năm 2005 Google mua lại Android Inc, một công ty nhỏ được thành lập từ năm 2003 có trụ sở ở Palo Alto, California, Mỹ Những nhà đồng sáng lập của Android chuyển sang làm việc tại Google gồm có Andy Rubin (đồng sáng lập công ty Danger), Rich Minner (đồng sáng lập công ty Wildfire Communications), Nick Sears (từng là phó chủ tịch của T-Mobile), và Chris White (trưởng nhóm thiết
kế và phát triển giao diện tại WebTV) Khi đó, có rất ít thông tin về các công việc của Android, ngoại trừ việc họ đang phát triển phần mềm cho điện thoại di động
1.2 Tính năng mở của hệ điều hành Android
Android được xây dựng để cho phép các nhà phát triển để tạo ra các ứng dụng di động hấp dẫn, tận dụng tất cả một chiếc điện thoại đã cung cấp Nó được xây dựng
Trang 7để được thực sự mở Android được xây dựng trên mở Linux Kenel Hơn nữa nó sử dụng một máy ảo tùy chỉnh được thiết kế để tối ưu bộ nhớ và tài nguyên phần cứng trong một môi trường di động
1.3 Nền tảng Android
Với khả năng rộng rãi của Android, sẽ rất dễ dàng nhầm lẫn nó với một hệ điều hành máy tính để bàn Android là một môi trường phân tầng, xây dựng trên nền của hệ điều hành nhân Linux, và nó bao hàm nhiều chức năng phong phú Hệ thống con giao diện người sử dụng gồm có:
Cửa sổ
Khung nhìn
Các tiểu trình để hiển thị các phẩn tử phổ biến như các hộp biên soạn, danh sách, danh sách thả xuống
Android gồm một trình duyệt có thể nhúng vào được, được xây dựng dựa trên WebKit, chính là máy (engine) trình duyệt mã nguồn mở cũng đang là động cơ của trình duyệt Safari di động của iPhone
Android khoe ra một mảng dồi dào nhiều tùy chọn kết nối, gồm WiFi, Bluetooth,
và dữ liệu không dây qua một kết nối di động (như GPRS, EDGE, và 3G) Một kỹ thuật phổ biến trong các ứng dụng Android là liên kết tới Google Maps để hiển thị một địa chỉ trực tiếp trong một ứng dụng Việc hỗ trợ cho các dịch vụ dựa trên địa điểm (chẳng hạn như GPS) và các dụng cụ đo gia tốc cũng có sẵn trong chồng phần mềm Android, mặc dù không phải tất cả các thiết bị Android được trang bị với các phần cứng cần thiết Cũng có cả hỗ trợ máy ảnh (camera) nữa
Về mặt lịch sử, có hai lĩnh vực mà các ứng dụng di động đã gắng sức theo kịp các đối tác máy tính để bàn là đồ họa/đa phương tiện, và phương thức lưu trữ dữ liệu Android giải quyết thách thức về đồ họa bằng sự hỗ trợ dựng sẵn cho đồ họa 2-D và 3-D, gồm cả thư viện OpenGL Gánh nặng lưu trữ dữ liệu được giảm nhẹ vì nền Android có gồm cả cơ sở dữ liệu SQLite mã nguồn mở phổ biến Hình 1 cho thấy một khung nhìn đơn giản hoá về các tầng phần mềm Android
Trang 81.4 Thách thức và phát triển
Thiết bị android được phân phối đang có tốc độ tăng trưởng nhanh hơn bất kỳ một nền tảng di động nào khác, điều đó giúp Android trở thành sự lựa chọn tuyệt vời trong hành trình phát triển ứng dụng trên điện thoại di động Một nhược điểm lớn của ứng dụng Android là sự phân mảnh Thực tết cho thấy, hầu hết các nhà phát triển ứng dụng gần như không thể kiểm tra một ứng dụng cho mọi thiết bị Android cho đến các phiên bản hệ điều hành
Trang 92 Môi trường lập trình
2.1 Android Development Tool (ADT)
ADT là công cụ phát triển Android bao gồm mọi thứ mà chúng ta cần để bắt đầu phát triển một ứng dụng Android:
Eclipse + ADT plugin
Android SDK Tools
Android Platform-tools
A version of the Android platform
A version of the Android System image for the emulator
Chúng ta có thể download trên trang chủ của android:
http://developer.android.com/sdk/index.html
Hình 2-1 - ADT
Trang 102.2 AVD và SDK Manager
AVD (Android virtual device) thiết bị máy ảo Android, dùng để test ứng dụng lập trình trên ADT, tuy nhiên AVD chạy rất tốn thời gian, để khắc phục điều này ta có thể dùng máy ảo Genymotion
Trang 11Hình 2-2 – Máy ảo Genymotion
SDK Manager (Software Development Kit) Công cụ quản lý phần mềm phát triển bao gồm:
Tools
Code samples
Documentations
Compliers
Libraries
Hình 2-3 – SDK Manager
Trang 123 Nội dung ứng dụng
3.1 Nội dung ứng dụng
Hiển thị biểu đồ nhiệt độ biến đổi theo thời gian, nhiệt độ tại thời điểm hiện tại
Hiển thị biểu đồ độ ph biến đổi theo thời gian, độ ph tại thời điểm hiện tại
Có cảnh báo khi nhiệt độ hay độ ph vượt quá giới hạn cho phép
Có thể điều chỉnh được ngưỡng cảnh báo của nhiệt độ hay độ ph
3.2 Giao diện ứng dụng
Trang 13 Màn hình chính
Hình 3-1 – Màn hình chính
Trang 14 Nhiệt độ
Hình 3-2 – Nhiệt độ
Trang 15 Độ ph
Hình 3-3 – Độ ph
Trang 16 Cảnh báo
Hình 3-4 – Cảnh báo
Trang 17TÀI LIỆU THAM KHẢO
[1] https://duythanhcse.wordpress.com/lap-trinh-di-dong/android/
[2] Programming Android Zigurd Mednieks; Laird Dornin, G Blake Meike, and Masumi Nakamura