TRƯỜNG ĐẠI HỌC QUẢNG NAM
KHOA CÔNG NGHỆ THÔNG TIN
BÀI GIẢNG
Học phần: LẬP TRÌNH DI ĐỘNG
học phn: 2103123
Ngành đào tạo: ĐH CNTT
1. Giảng viên biên soạn: ThS. Nguyễn Văn Khương
2. Số tín chỉ/đơn vị học trình: 02
3. T/Khoa quản lý học phần: Khoa Toán Tin
TP Tam Kỳ, Quảng Nam
Bài giảng: “Lập trình di động trên Android
-------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
Biên soạn: ThS. Nguyễn Văn Khương MB: 0905.065317 Trang 1
CHƯƠNG 1:
TỔNG QUAN VỀ LẬP TRÌNH DI ĐỘNG TRÊN ANDROID
Mục tiêu của chương 1: Chương này sgiới thiệu đến các bạn về hđiều hành thiết bị di
động là Android và hướng dẫn cài đặt Android Studio vào máy tính để lập trình di động.
1.1. GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH ANDROID
1.1.1. Định nghĩa Hệ điều hành Android
Android hệ thống tuần tự các phần mềm cho thiết bị di động bao gồm Hệ điều hành, các
trình điều khiển phần cứng và các ứng dụng cơ bản.
1.1.2. Lịch sử ra đời của Hệ điều hành Android
Ban đầu, Android 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 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 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 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, Vodafone
Group,… đã lên tiếng ủng hộ Android xem Android 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 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 1.1 Android chưa hỗ trợ soft-keyboard đò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 đề 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 đã phiên bản Android 5.0.1 những phiên bản mới hơn với nhiều
tính năng ưu việt.
Bài giảng: “Lập trình di động trên Android
-------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
Biên soạn: ThS. Nguyễn Văn Khương MB: 0905.065317 Trang 2
1.1.3. Tính năng, kiến trúc và các thành phần của HĐH Android
Tính năng: Android gồm các tính năng như sau:
- Khung ứng dụng: cho phép tái sử dụng lại các ứng dụng đã có sẵn.
- Máy ảo Dalvik: máy ảo được tinh chỉnh dành riêng cho thiết bị di động chạy trên nền
Android. Các chương trình Java đa phần chạy trên máy ảo Java; trong khi đó, Dalvik máy
ảo dùng để chạy ứng dụng Java trên di động Android.
- Trình duyệt web được tích hợp sẵn: được dựa trên bộ mã nguồn mở Webkit.
- Hệ thống xử đồ họa được tối ưu hóa: gồm thư viện đồ họa 2D, thư viện đồ họa 3D dựa
trên nền OpenGL (tùy theo từng loại phần cứng đồ họa của di động).
- SQLite: dùng cho lưu trữ cơ sở dữ liệu cục bộ.
- Media: hỗ trợ định dạng các tập tin âm thanh, video, hình ảnh thông thường như:
MPEG4, H.264, MP3, AAC, AMR, JPG, PNG và GIF.
- Điện thoại GSM với các chức năng nghe gọi, tin nhắn.
- Hỗ trợ hầu hết các phương thức kết nối Bluetooth, EDGE, 3G, và Wifi (tùy thuộc
theo phần cứng điện thoại) .
- Hỗ trợ các phần cứng: Camera, GPS, la bàn số, vả cảm nhận gia tốc.
Kiến trúc và cách thành phần của Android:
Bài giảng: “Lập trình di động trên Android
-------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
Biên soạn: ThS. Nguyễn Văn Khương MB: 0905.065317 Trang 3
- Ứng dụng (Application):
Android đã bao gồm một bộ các ứng dụng chính như trình nhận email, trình nhn tin SMS,
lịch, bản đồ, trình duyệt web, danh bạ các chương trình phụ trợ khác. Tất cả các ứng dụng
sử dụng ngôn ngữ lập trình Java.
- Khung ứng dụng:
Nhờ Android cung cấp nền tảng phát triển mở, các nhà phát triển thể xây dựng các ứng
dụng đa dạng sáng tạo. Các nhà phát triển có thể dùng các phần cứng thiết bị, lấy thông tin
vị trí, chạy ngầm các dịch vụ, thiết lập cảnh báo, thêm thông báo vào thanh trạng thái
nhiều cái khác nữa. Các nhà phát triển thể tác động sâu vào khung API mà các ứng
dụng chính đang dùng. Kiến trúc ứng dụng được thiết kế đơn giản để tái sử dụng lại các thành
phần trong ứng dụng đó. Như ứng dụng mua sắm xem giá cả có thể sử dụng lại ứng dụng chụp
mã vạch BarcodeZXing.
- Thư viện:
Android bao gồm bộ thư viện C/C++ được dùng bởi ứng dụng chính của hệ thống Android.
Thông qua khung ứng dụng (Application framework), các nhà phát triển thể tiếp cận sâu
vào lõi thư viện bao gồm:
+ Thư viện media: dựa tên OpenCORE của PacketVideo, một bộ thư viện hỗ trợ đọc, ghi
lại nhiều định dạng âm thanh, video, hình ảnh như: MPEG4, H.264, MP3, AAC, AMR,
JPG, và PNG.
+ Surface Manager: quản lý giao diện bao gồm lớp giao diện 2D và 3D.
+ LibWebCore: bộ thư viện trình duyệt web mới hỗ trợ trình duyệt Android
WebView.
+ SGL: hệ thống đồ họa 2D cơ sở.
+ Tviện 3D: dựa trên OpenGL ES 1.0 API; thư viện gồm phần cứng hỗ trợ 3D phần
mềm hỗ trợ tối ưu 3D.
+ FreeType: trình bày kiểu chữ và hình ảnh.
- SQLite:
Hệ thống cơ sở dữ liệu có kích thước nhỏ nhưng mạnh mẽ cho tất cả ứng dụng.
- Android Runtime:
Android bao gồm bộ thư viện chính, cung cấp hầu hết các tính năng cho bộ thư viện kể trên
và dùng ngôn ngữ Java.
Mỗi ứng dụng Android chạy trên tiến trình riêng của nó với một thể hiện (instance)
riêng của trên máy ảo Dalvik. Dalvik giúp thiết bị chạy nhiều máy ảo cùng lúc. Máy
ảo Dalvik chạy nhiều tập tin định dạng .dex được tối ưu hóa cho máy bộ nhớ thấp. Máy ảo
Bài giảng: “Lập trình di động trên Android
-------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
Biên soạn: ThS. Nguyễn Văn Khương MB: 0905.065317 Trang 4
được khai báo chạy các lớp được biên dịch bởi trình biên dịch ngôn ngữ Java mới vừa
được chuyển sang định dạng .dex bởi công cụ có sẵn “dx”.
Máy ảo Dalvik lệ thuộc vào lõi Linux cho các tính ng cơ bản như luồng quản lý bộ
nhớ mức độ thấp.
- Lõi Linux:
Android dựa trên nền Linux phiên bản 2.6 cho các chương trình hệ thống chính như an
ninh, quản lý bộ nhớ, quản lý tiến trình, mạng và mẫu trình điều khiển thiết bị.
Nhân Linux cũng đóng vai trò như lớp ảo giữa phần cứng phần còn lại của kiến trúc
Android.
1.2. HƯỚNG DẪN CÀI ĐẶT ANDROID STUDIO
Ncác bạn đã biết, bất kể chúng ta lập trình bằng ngôn nggì, chúng ta phải công cụ
hỗ trợ lập trình như viết code, compile (biên dịch), debug (gỡ rối), run (thực thi), …
Đối với lập trình C, chúng ta thể sử dụng Borland C. Đối với lập trình C#, chúng ta sử
dụng Visual Studio. Đối với lập trình Java, chúng ta sử dụng Eclipse. Vậy đối với lập trình
Android thì sao? Chúng ta có thể sử dụng Android Studio.
Hướng dẫn 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.
1.2.1. i đặt JDK
Chạy tập tin cài đặt (ví dụ “jdk-8u{xx}-windows-x64.exe”) để cài đặt JDK JRE. Mặc
định JDK sẽ được cài đặt trong thư mục “C:\Program Files\Java\jdk1.8.0_xx” với xx phiên
bản JDK mà bạn đang sử dụng và JRE “C:\Program Files\Java\jre1.8.0_xx
Hình bên dưới cho biết thư mục cài đặt JDK
Kiểm tra JDK đã cài đặt trên máy (Phím Windows + R -> CMD -> java -version)