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.17 MB, 129 trang )
Xây dựng ứng dụng 3D với Android
10
______________________________________________________________________
Bornstein và một vài kĩ sư của Google. Thuật ngữ “register-based” đã nói lên sự khác
biệt giữa máy ảo Android với máy ảo JAVA thông thường. Tương tự như máy ảo JAVA,
đây cũng chỉ là một máy ảo thông dịch, nhưng thông dịch các file có định dạng .dex
(Dalvik Execute) – một định dạng giúp tối ưu bộ nhớ và khả năng lưu trữ của máy ảo –
Các máy ảo JAVA ngày nay chủ yếu dựa trên ngăn xếp (Stack-based), với tính chất này
cho phép rút ngắn thời gian thực thi chương trình. Mỗi ứng dụng Android chạy trong
một cá thể của máy ảo Dalvik, khi đến lượt, cá thể máy ảo này nằm trong một tiến trình
do nhân Linux quản lý, như trình bày dưới đây.
Hình 2 – Máy ảo Dalvik
1.3.2 Các thành phần của một ứng dụng Android:
Một ứng dụng Android gồm 4 thành phần chính sau:
Hoạt động (Activity): một ứng dụng có một giao diện người dùng nhìn
thấy được, sẽ được thực hiện bằng một Activity. Activity dùng Views để
tạo nên giao diện đồ họa người dùng, để hiển thị thông tin và đáp lại các
hành động của người dùng. Khi người dùng chọn một ứng dụng từ màn
Xây dựng ứng dụng 3D với Android
11
______________________________________________________________________
hình chủ hoặc trình khởi chạy ứng dụng thì một Activity được khởi động.
Activity trong Android cũng tương tự như một Form trong các ứng dụng
desktop truyền thống.
Dịch vụ (Services): các service làm việc ẩn dưới ứng dụng, được sử dụng
để thực hiện các xử lý thông thường khi cần và thậm chí ngay cả lúc các
Activity không hoạt động hoặc ẩn đi.Một dịch vụ nên được sử dụng đối
với bất kì ứng dụng nào cần tồn tại trong một thời gian dài, chẳng hạn
như một trình giám sát mạng hoặc ứng dụng kiểm tra cập nhật.
Trình cung cấp nội dung (Content Providers): có thể coi như là một máy
chủ cơ sở dữ liệu. Công việc của nó là quản lý truy cập và chia sẻ dữ liệu
đang tồn tại, chẳng hạn như một cơ sở dữ liệu SQLite. Nó có thể được
cấu hình để cho phép các ứng dụng khác truy xuất và ngược lại. Nếu ứng
dụng rất đơn giản thì không nhất thiết phải tạo ra một trình cung cấp nội
dung.
Trình thu phát (Broadcast Receivers): bằng cách tạo và đăng ký một
Broadcast Receiver, ứng dụng Android có thể lắng nghe toàn bộ các
Intent theo một chuẩn cụ thể được chỉ định. Các Broadcast Receiver sẽ
chạy ứng dụng một cách tự động để đáp ứng một Intent gửi đến, hay xử
lý một phần tử dữ liệu hoặc đáp ứng một sự kiện, chẳng hạn như nhận
một văn bản thông báo.
Việc tách rời sự phụ thuộc giữa các thành phần trong ứng dụng giúp việc chia sẽ
cũng như trao đổi giữa các ứng dụng khác trở nên dễ dàng hơn.
1.4 Vòng đời của ứng dụng Android:
Không giống như các ứng dụng trên các nền tảng khác, các ứng dụng Android
không có một điều khiển đến vòng đời của chúng. Thay vào đó, các thành phần ứng
dụng phải lắng nghe việc thay đổi trạng thái bên trong của ứng dụng đó và tác động
trở lại một cách hợp lý. Mỗi một ứng dụng Android ở trong chính tiến trình của nó,
Xây dựng ứng dụng 3D với Android
12
______________________________________________________________________
chạy một thể hiện riêng biệt của Dalvik. Việc quản lý bộ nhớ và tiến trình của mỗi ứng
dụng Android được điều khiển một cách riêng trong lúc runtime.
Android quản lý tài nguyên một cách chặt chẽ, nó sẽ làm bất cứ việc gì để đảm
bảo cho thiết bị duy trì đáp ứng. Điều này có nghĩa là các tiến trình sẽ bị hủy đi mà
không có một cảnh báo nào nếu cần giải phóng tài nguyên cho các ứng dụng có độ ưu
tiên cao.
1.5 Các công cụ để tạo một ứng dụng Android:
Để bắt đầu phát triển các ứng dụng Android, chúng ta cần có Bộ công cụ phát
triển phần mềm Android (SDK) và môi trường phát triền tích hợp Eclipse (Eclipse
IDE). Việc phát triển Android có thể diễn ra trên Microsoft Window, Mac OS X hoặc
Linux. Trong tiểu luận này, nhóm thực hiện sẽ phát triển ứng dụng Android bằng
Microsoft Window.
1.5.1 Eclipse IDE:
Các ứng dụng Android được viết bằng ngôn ngữ Java, nhưng biên dịch và thi
hành bằng máy ảo Dalvik. Viết mã bằng ngôn ngữ Java trong Eclipse là rất trực quan.
Eclipse cung cấp một môi trường Java phong phú, gồm cả việc trợ giúp theo ngữ cảnh
và các mách nước gợi ý về mã. Khi bộ mã Java được biên dịch thành công, Android
Developer Tools sẽ đảm bảo rằng ứng dụng đó được đóng gói một cách đúng đắn, gồm
cả tập tin AndroidManifest.xml.
1.5.2 Android SDK:
Bộ công cụ phát triển ứng dụng Android SDK là công cụ giả lập thiết bị ảo trên
máy tính để phát triển ứng dụng với các hàm API hỗ trợ cho những lập trình viên lập
trình trên các thiết bị di động sử dụng nền tảng Android thông qua ngôn ngữ lập trình
Java. SDK gồm có:
Xây dựng ứng dụng 3D với Android
13
______________________________________________________________________
android.jar : tập tin lưu trữ Java chứa toàn bộ các lớp SDK Android cần
thiết để xây dựng ứng dụng.
documention.html và thư mục docs: tài liệu SDK được cung cấp tại chỗ
và trên web, chủ yếu nó ở dạng JavaDocs, tạo điều kiện dễ dàng cho việc
hướng dẫn trong nhiều gói SDK. Tài liệu cũng gồm cả hướng dẫn phát
triển mức cao và các liên kết đến cộng đồng Android rộng rãi.
Thư mục sample (các ví dụ mẫu): thư mục con samples chứa bộ mã nguồn
đầy đủ dùng cho một loạt các ứng dụng, gồm cả ApiDemo, nó sử dụng
nhiều API. Ứng dụng mẫu là một nơi khám phá tuyệt vời khi bắt đầu phát
triển ứng dụng Android.
Thư mục tools (các công cụ): chứa toàn bộ các công cụ dòng lệnh để xây
dựng nên các ứng dụng Android. Công cụ được dùng phổ biến và hữu ích
nhất là tiện ích adb (Android Debug Bridge).
Usb_driver: thư mục chứa các trình điều khiển cần thiết để kết nối môi
trường phát triển với một thiết bị có khả năng chạy Android, chẳng hạn
như G1 hay điện thoại đã được phát triển Android Dev 1. Các tập tin này là
đòi hỏi duy nhất đối với các nhà phát triển đang sử dụng nền Windows.
1.5.3 Cài đặt công cụ:
Chuẩn bị:
o Phần mềm Eclipse IDE (phiên bản 3.2 trở lên), có thể tải trực tiếp
từ trang web http://www.eclipse.org/downloads/
o Bộ công cụ Android SDK phiên bản mới nhất, tại thời điềm thực
hiện tiểu luận này là phiên bản r11, có thể tải từ trang web
http://developer.android.com/sdk/index.html
Bắt đầu việc cài đặt:
o Giải nén chương trình Eclipse vào một thư mục nào đó (ví dụ:
D:\eclipse\)
Xây dựng ứng dụng 3D với Android
14
______________________________________________________________________
o Giải nén bộ Android SDK vào một thư mục bất kỳ (ví dụ:
o
o
o
o
o
o
o
o
D:\Android_SDK_r11\)
Chạy chương trình Eclipse.
Vào menu Help – Software Updates …
Chọn tab Available Software
Chọn Add Site, nhập vào đường dẫn sau:
http://dl-ssl.google.com/android/eclipse/
Chọn OK.
Chờ cho chương trình được cài đặt.
Sau khi cài xong, tiếp tục vào menu Window – Preferences
Chọn tab Android, chỉ đường dẫn đến thư mục đã giải nén
Android SDK ở trên (ở đây là D:\Android_SDK_r11\).
o Hoàn tất.
Lưu ý: Cách cài đặt ở trên đòi hỏi máy tính phải được nối mạng Internet.
1.6 Thiết bị Android ảo (Android Virtual Device - AVD):
Các ứng dụng Android có thể được chạy trên một thiết bị thật sự hoặc trên trình
mô phỏng Android (Android Emulator) kèm với SDK Android.
Từ phiên bản SDK 1.5, Google đã giới thiệu khái niệm về thiết bị Android ảo.
Một thiết bị Android ảo chỉ đơn giản là một tập các thuộc tính cấu hình được áp dụng
cho hình ảnh của một thiết bị mô phỏng để hiển thị ứng dụng lên nó.
Cách tạo một thiết bị Android ảo như sau:
- Trong Eclipse à window à Android SDK and AVD manager.
- Ở cửa sổ mới hiện ra, chọn mục Virtual devices à bấm nút New, hiện ra một
cửa sổ mới như hình sau đây:
Xây dựng ứng dụng 3D với Android
15
______________________________________________________________________
Hình 3– Tạo một AVD
- Mục Name: đặt tên cho thiết bị, tên gì cũng được, cốt là dễ nhớ và để phân
biệt, không chứa khoản trắng và các ký tự đặc biệt.
- Mục Target: chọn phiên bản hệ điều hành Android.
- Mục SD Card: điền kích thước bộ nhớ của thiết bị hoặc lấy một file SD Card
có sẵn.
- Nhấn nút Create AVD.
Xây dựng ứng dụng 3D với Android
16
______________________________________________________________________
Hình 4 – Trình mô phỏng thiết bị Android.
1.7 Android project:
1.7.1 Tạo một Android project mới:
- Trong Eclipse, chọn File à New à Android Project.
- Một cửa sổ mới hiện ra, điền các thông tin tương ứng vào cửa sổ.
- Project name: tên project.
- Chọn phiên bản Android.
- Application name: tên ứng dụng.
- Package name: tên gói.
- Create activity: tên hoạt động.
- Min SDK Version: API Level tương ứng với phiên bản Android.