intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giáo trình Phát triển ứng dụng trên thiết bị di động (Nghề: Tin học ứng dụng - Cao đẳng) - Trường Cao đẳng Bách khoa Nam Sài Gòn (2021)

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:170

10
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Giáo trình "Phát triển ứng dụng trên thiết bị di động (Nghề: Tin học ứng dụng - Cao đẳng)" được biên soạn nhằm giúp sinh viên viết được các ứng dụng đơn giản chạy trên nền hệ điều hành Android; tải các ứng dụng đã viết lên Google Play. Mời các bạn cùng tham khảo chi tiết nội dung giáo trình!

Chủ đề:
Lưu

Nội dung Text: Giáo trình Phát triển ứng dụng trên thiết bị di động (Nghề: Tin học ứng dụng - Cao đẳng) - Trường Cao đẳng Bách khoa Nam Sài Gòn (2021)

  1. ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG CAO ĐẲNG BÁCH KHOA NAM SÀI GÒN GIÁO TRÌNH MÔN HỌC/MÔ ĐUN : PHÁT TRIỂN ỨNG DỤNG TRÊN THIẾT BỊ DI ĐỘNG NGÀNH/NGHỀ : TIN HỌC ỨNG DỤNG TRÌNH ĐỘ : CAO ĐẲNG Ban hành kèm theo Quyết định số:409/QĐ_NSG, ngày 02 tháng 11 năm 2021 của Hiệu trưởng Trường Cao Đẳng Bách Khoa Nam Sài Gòn Thành phố Hồ Chí Minh, năm 2021
  2. TUYÊN BỐ BẢN QUYỀN Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo. Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm. 2
  3. MỤC LỤC CHƯƠNG TRÌNH MÔN HỌC/MÔĐUN ....................................................................................................... 7 Bài 1: Tổng Quan Về Lập Trình Android ....................................................................................................... 8 1.1. Giới thiệu về Android................................................................................................................................ 8 1.2. Kiến trúc android ...................................................................................................................................... 9 Bài 2: Cài đặt môi trường phát triển ứng dụng Android ............................................................................. 11 2.1. Giới thiệu Java JDK, Android SDK, Android Studio .................................................................................. 11 2.2. Thiết lập môi trường phát triển: ............................................................................................................. 12 2.2.1. Yêu cầu về phần cứng và phần mềm: .............................................................................................. 12 2.2.2. Cài đặt môi trường lập trình ............................................................................................................ 13 2.3 Khởi động Android Studio........................................................................................................................ 19 2.4. Chương trình đầu tiên Hello World ........................................................................................................ 23 Bài 3: Các thành phần ứng dụng Android .................................................................................................... 30 3.1. Các thành phần cơ bản trong ứng dụng Android ................................................................................... 30 3.2. Activity .................................................................................................................................................... 33 3.2.1. Xây dựng Activity ............................................................................................................................. 33 3.2.2. Quản lý trạng thái Activity (Managing the Activity Lifecycle) .......................................................... 34 3.2.3. Vòng đời của Activity (Activity Lifecycle) ......................................................................................... 36 3.2.4. Độ ưu tiên trong ứng dụng .............................................................................................................. 38 3.2.5. Thành phần savedInstanceState ...................................................................................................... 39 3.3. Giao diện Android Studio........................................................................................................................ 42 3.3.1. Các cấu hình quan trọng .................................................................................................................. 42 3.3.2. Các màn hình thường thao tác ........................................................................................................ 43 3.3.3. Cấu trúc của một dự án Adroid........................................................................................................ 44 Bài 4: Layout và view cơ bản .......................................................................................................................... 46 4.1. Layout trong Android.............................................................................................................................. 46 4.1.1. Frame Layout ................................................................................................................................... 47 4.1.2. Linear Layout ................................................................................................................................... 48 4.1.3. Table Layout .................................................................................................................................... 51 4.1.4. Relative Layout ................................................................................................................................ 52 4.1.5. GridLayout ....................................................................................................................................... 54 3
  4. 4.1.6. ConstraintLayout.............................................................................................................................. 56 4.2. Hàm findViewById .................................................................................................................................. 60 4.3. View và ViewGroup ................................................................................................................................ 60 4.4. Các view cơ bản trong Android............................................................................................................... 64 4.4.1. TextView .......................................................................................................................................... 64 4.4.2. EditText ............................................................................................................................................ 65 4.4.3. Button .............................................................................................................................................. 65 4.4.4. Checkbox ......................................................................................................................................... 66 4.4.5. RadioButton ..................................................................................................................................... 67 4.4.6. ToggleButton và Switch ................................................................................................................... 68 4.4.7. ImageView và ImageButton............................................................................................................. 68 Bài 5: Của sổ thông báo (Dialog) trong Android .......................................................................................... 74 5.1. Toast ....................................................................................................................................................... 74 5.2. AlertDialog .............................................................................................................................................. 75 5.3. List Dialog ............................................................................................................................................... 76 5.4. Custom Dialog......................................................................................................................................... 77 5.5. Notification ............................................................................................................................................. 80 Bài 6: ListView và RecyclerView trong Android .......................................................................................... 83 6.1. ListView................................................................................................................................................... 83 6.1.1. ListItem ............................................................................................................................................ 83 6.1.2. Adapter ............................................................................................................................................ 84 6.1.3. Thực hành tạo ListView ................................................................................................................... 85 6.2. RecyclerView........................................................................................................................................... 87 6.2.1. Giới thiệu RecyclerView ................................................................................................................... 87 6.2.2. Sử dụng RecyclerView để hiển thị danh sách .................................................................................. 88 Bài 7: Intent ..................................................................................................................................................... 95 7.1. Giới thiệu Intent ..................................................................................................................................... 95 7.2. Truyền dữ liệu bằng Intent ..................................................................................................................... 97 7.2.1 Truyền dữ liệu bằng Explicit Intent ................................................................................................... 97 7.2.2 Truyền dữ liệu bằng Implicit Intent .................................................................................................. 98 7.3. Intent Result (lấy lại kết quả từ activity) ................................................................................................. 98 Bài 8: Asset và lưu trữ dữ liệu ...................................................................................................................... 100 8.1. Bộ quản lý asset .................................................................................................................................... 100 4
  5. 8.1.1. Giới thiệu ....................................................................................................................................... 100 8.1.2. Đọc dữ liệu Asset ........................................................................................................................... 101 8.2. Shared Preferences ............................................................................................................................... 103 8.2.1. Giới thiệu ....................................................................................................................................... 103 8.2.2. Lưu trữ ........................................................................................................................................... 103 8.2.3. Truy xuất ........................................................................................................................................ 105 8.3. Bộ nhớ thiết bị ...................................................................................................................................... 106 8.3.1. Bộ lưu trữ trong ............................................................................................................................ 106 8.3.2. Bộ lưu trữ ngoài ............................................................................................................................. 107 Bài 9: Quản lý dữ liệu với SQLite ................................................................................................................ 110 9.1. Khái niệm cơ sở dữ liệu (database concepts) ....................................................................................... 110 9.2. Giới thiệu SQLite ................................................................................................................................... 111 9.3. Xây dựng cơ sở dữ liệu với SQLite ........................................................................................................ 112 9.3.1. Tạo Cơ sở dữ liệu ........................................................................................................................... 112 9.3.2. Mở Cơ sở dữ liệu ........................................................................................................................... 113 9.3.3. Đóng Cơ sở dữ liệu ........................................................................................................................ 114 9.4. Truy vấn dữ liệu .................................................................................................................................... 114 9.4.1. Truy vấn (Query) ............................................................................................................................ 114 9.4.2. Quản lý........................................................................................................................................... 116 9.5. Sắp xếp dữ liệu ..................................................................................................................................... 118 Bài 10: Content Provider .............................................................................................................................. 120 10.1. Giới thiệu Content Provider................................................................................................................ 120 10.1.1. Content Provider.......................................................................................................................... 120 10.1.2. Content URI.................................................................................................................................. 121 10.1.3. ContentResolver .......................................................................................................................... 122 10.2. Xây dụng Content Provider cho ứng dụng .......................................................................................... 124 10.2.1. Vấn đề xây dựng ContentProvider ............................................................................................... 124 10.2.2. Authority & UriMatcher ............................................................................................................... 125 10.3. Truy vấn dữ liệu hệ thống với Content Provider ................................................................................ 126 10.3.1. Các phương thức điều khiển Cursor ............................................................................................ 126 10.3.2. Truy vấn dữ liệu hệ thống ............................................................................................................ 127 Bài 11: Service, Broadcast Receivers ........................................................................................................... 129 11.1. Service ................................................................................................................................................ 129 5
  6. 11.1.1. Giới thiệu ..................................................................................................................................... 129 11.1.2. Tạo Service................................................................................................................................... 130 11.1.3. IntentService ................................................................................................................................ 133 11.2. Broadcast Receiver ............................................................................................................................. 133 Bài 12: Menu .................................................................................................................................................. 136 12.1. Tổng quan về menu trong Android ..................................................................................................... 136 12.2. OptionMenu ....................................................................................................................................... 136 12.2.1. Thao tác với file XML ................................................................................................................... 136 12.2.2. Thao tác với MainActivity.java .................................................................................................... 141 12.3. ContextMenu ...................................................................................................................................... 143 Bài 13: Đóng gói ứng dụng............................................................................................................................ 147 13.1. Giới thiệu ............................................................................................................................................ 147 13.2. Tạo file keystore ................................................................................................................................. 147 13.3. Nhúng Keystore vào file apk ............................................................................................................... 151 13.4. Chuyển file apk từ debug -> release ................................................................................................... 153 13.5. Submit Google Play ............................................................................................................................. 154 TÀI LIỆU THAM KHẢO............................................................................................................................. 170 6
  7. CHƯƠNG TRÌNH MÔN HỌC/MÔĐUN Tên môn học/môđun: Phát triển ứng dụng cho các thiết bị di động Mã số môn học: Thời gian thực hiện môn học: 90 giờ, (Lý thuyết: 30 giờ; Thực hành, thí nghiệm, thảo luận, bài tập: 58 giờ; Kiểm tra: 2 giờ) I. Vị trí, tính chất của môn học: - Vị trí: Là môn học hướng dẫn lập trình trên thiết bị di động sử dụng hệ điều hành Android, môn học này là môn chuyên ngành. - Tính chất: là một học bắt buộc. II. Mục tiêu môn học: 1. Về kiến thức: - Kiến thức cơ bản về lập trình Android. - Cách thiết lập được một project trên máy ảo và trên máy thật. 2. Về kỹ năng: - Viết được các ứng dụng đơn giản chạy trên nền hệ điều hành Android. - Tải các ứng dụng đã viết lên Google Play. 3. Về năng lực tự chủ và trách nhiệm: Rèn luyện lòng yêu nghề, tư thế tác phong công nghiệp, tính kiên trì, sáng tạo trong công việc. 7
  8. Bài 1: Tổng Quan Về Lập Trình Android Mục tiêu: - Trình bày được lịch sử phát triển của Android - Giới thiệu kiến trúc Android 1.1. Giới thiệu về Android Android là hệ điều hành di động dựa trên nền tảng của Linux kernel và phần mềm mã nguồn mở, được thiết kế chủ yếu cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh, máy tính bảng, đồng hồ thông minh, ... Android Inc. được thành lập bởi Andy Rubin, Rich Miner, Nick Sears và Chris White tại California năm 2003 với sự hỗ trợ tài chính của Google. Và đến năm 2005, Google mua lại Android Inc và bắt đầu nuôi ý tưởng tự sản xuất điện thoại di động. Android được công bố vào tháng 11 năm 2007, tổ chức OHA (Open Handset Alliance) được thành lập với hơn 80 công ty trong lĩnh vực kỹ thuật điện tử bao gồm các công ty chuyên về phần cứng, phân phối thiết bị di động đến các công ty phần mềm, sản xuất chất bán dẫn… Có thể kể đến một số công ty nổi tiếng như Samsung, Motorola, LG, HTC, T-Mobile, Vodafone, ARM và Qualcomm… 9/2008, Google ra mắt chiếc di động đầu tiên đồng thời open source bản SDK (Software Development Kit) phiên bản 1.0. HTC Dream là điện thoại đầu tiên được bán vào ngày 22/10/2008. Android là phần mềm mã nguồn mở Android (AOSP), được cấp phép chủ yếu theo Apache License. Tuy nhiên, hầu hết các thiết bị Android đều được cài đặt sẵn phần mềm độc quyền bổ sung, đáng chú ý nhất là Dịch vụ di động của Google (GMS) bao gồm các ứng dụng cốt lõi như Google Chrome, nền tảng phân phối kỹ thuật số Google Play và nền tảng phát triển Dịch vụ Google Play được liên kết. Khoảng 70% điện thoại thông minh Android chạy hệ sinh thái của Google; các hệ sinh thái Android cạnh tranh và fork bao gồm Fire OS (do Amazon phát triển) hoặc LineageOS. Tuy nhiên, tên và biểu trưng “Android” 8
  9. là thương hiệu của Google áp đặt các tiêu chuẩn để hạn chế các thiết bị chưa được chứng nhận bên ngoài hệ sinh thái của họ sử dụng thương hiệu Android. Mã nguồn đã được sử dụng để phát triển các biến thể của Android trên một loạt các thiết bị điện tử khác, chẳng hạn như bảng điều khiển trò chơi, máy ảnh kỹ thuật số, máy nghe nhạc di động, PC và các loại khác, mỗi loại đều có giao diện người dùng chuyên biệt. Một số sản phẩm phái sinh nổi tiếng bao gồm Android TV cho TV và Wear OS cho thiết bị đeo, cả hai đều do Google phát triển. Các gói phần mềm trên Android, sử dụng định dạng APK, thường được phân phối thông qua các cửa hàng ứng dụng độc quyền như Google Play Store, Samsung Galaxy Store, Huawei AppGallery, Cafe Bazaar và GetJar, hoặc các nền tảng mã nguồn mở như Aptoide hoặc F-Droid. Android là hệ điều hành bán chạy nhất trên toàn thế giới trên điện thoại thông minh kể từ năm 2011 và trên máy tính bảng kể từ năm 2013. Quý 3 năm 2012 Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới với 500 triệu thiết bị được kích hoạt. Tính đến tháng 5 năm 2017, có hơn hai tỷ người dùng kích hoạt hàng tháng, nền tảng được cài đặt lớn nhất trong số bất kỳ hệ điều hành nào và tính đến tháng 1 năm 2021, Google Play Store có hơn 3 triệu ứng dụng. Phiên bản ổn định hiện tại là Android 11, phát hành vào ngày 8 tháng 9 năm 2020. Để lập trình với Android, cần có kiến thức cơ bản về Java và lập trình hướng đối tượng. 1.2. Kiến trúc android Có thể hiểu Android Software Stack bao gồm nhân Linux, tập các thư viện C/C++ được truy xuất bởi tầng ứng dụng để sử dụng các dịch vụ, các bộ quản lý thực thi và quản lý ứng dụng. Mỗi tầng đều có chức năng vai trò riêng biệt với nhau:  Linux kernel – lõi chính của toàn hệ thống bao gồm các điều khiển phần cứng, bộ quản lý xử lý và bộ nhớ, bảo mật, kết nối mạng, bộ quản lý năng lượng. 9
  10.  Libraries – thực thi trên tầng nhân Linux, bao gồm các thư viện lõi khác nhau của C/C++ như libc và SSL. Có các dạng sau: Thư viện hổ trợ phát các tập tin đa truyền thông. Bộ quản lý hiển thị Thư viện hổ trợ đồ họa OpenGL 2D và 3D SQLite hổ trợ lưu trữ cơ sở dữ liệu SSL và WebKit cho phép tương tác với trình duyệt và bảo mật Internet. Android Run Time – đây chính là điểm làm nên sự khác biệt giữa thiết bị Android và thiết bị Linux. Bên trong thành phần này bao gồm máy ảo Dalvik và thư viện lõi. Android Run Time ngoài tăng tốc độ cho ứng dụng còn làm nền cho tầng Application Framework kết nối đến.  Core Libraries – mặc dù hầu hết các ứng dụng Android viết bằng ngôn ngữ Java nhưng Dalvik không phải là máy ảo Java. Các thư viện lõi Android sẽ cung cấp hầu 10
  11. hết các chức năng chính có thể có trong thư viện Java cũng như thư viện riêng biệt của Android.  Dalvik VM – dạng máy ảo cho phép tối ưu hóa để có thể chạy được nhiều tiến trình một các hiệu quả, dựa trên nhân Linux các máy ảo cho phép quản lý các tiểu trình và quản lý bộ nhớ ở bậc thấp. Application Framework – cung cấp các lớp cho việc tạo ra các ứng dụng. Bên cạnh đó nó cũng chứa các lớp trừu tượng cho phép truy nhập phần cứng, quản lý giao diện người dùng và tài nguyên của ứng dụng. Application Layer – gồm các ứng dụng được tích hợp sẵn và các ứng dụng của hãng thứ ba. Tầng ứng dụng trong Android Run Time sử dụng các lớp từ tầng Application Framework để thực thi ứng dụng. Bài 2: Cài đặt môi trường phát triển ứng dụng Android Mục tiêu: - Biết được môi trường phát triển ứng dụng Android - Cài đặt được môi trường phát triển ứng dụng Android 2.1. Giới thiệu Java JDK, Android SDK, Android Studio Android SDK (Software Development Kit) và JDK (Java Development Kit) là hai công cụ cần thiết để chúng ta có thể lập trình nên các ứng dụng Android. Sử dụng công cụ IDE (Integrated development environment) để lập trình sẽ rất hữu ích và tiện lợi. Eclipse được xem là một công cụ hỗ trợ rất tốt trong việc lập trình ứng dụng Android. Android SDK, JDK và Eclipse đều có mặt trên một số phiên bản hệ điều hành Windows, Mac OS và Linux do đó chúng ta có thể lập trình trên hệ điều hành mà chúng ta đã quen sử dụng. Thêm nữa, Android được thực thi trên máy ảo Dalvik nên việc phát triển ứng dụng là như nhau trên cả 3 môi trường. 11
  12. Android Studio được Google chính thức phát hành phiên bản đầu tiên Android Studio 0.1 vào tháng 5/ 2013 (Phiên bản hiện nay là 4.2 – phát hành vào tháng 5/2021). Là công cụ lập trình dựa trên nền IntelliJ, cung cấp các tính năng mạnh mẽ hơn ADT như:  Hỗ trợ xây dựng dự án dạng Gradle.  Hỗ trợ sửa lỗi nhanh và tái sử dụng cấu trúc phương thức.  Cung cấp các công cụ kiểm tra tính khả dụng, khả năng họat động của ứng dụng, tương thích nền tảng…  Hỗ trợ bảo mật mã nguồn và đóng gói ứng dụng.  Trình biên tập giao diện cung cấp tổng quan giao diện ứng dụng và các thành phần, cho phép tuỳ chỉnh trên nhiều cấu hình khác nhau.  Cho phép tương tác với nền Google Cloud. Với mục tiêu tạo ra môi trường phát triển tất cả trong một, trải nghiệm nhanh và mượt hơn các IDE khác, Android Studio không ngừng ra đời các phiên bản cải tiến. 2.2. Thiết lập môi trường phát triển: 2.2.1. Yêu cầu về phần cứng và phần mềm: Như đã nói ở trên, ứng dụng Android được thực thi trên máy ảo Dalvik nên chúng ta có thể lập trình trên nhiều phiên bản của các hệ điều hành. Cụ thể như sau:  Microsoft® Windows® 8/7/Vista/2003 (32 hoặc 64-bit).  4 GB RAM trở lên.  Dung lượng ổ đĩa ứng còn trống ít nhất 400 MB.  Ít nhất 1 GB cho Android SDK, emulator system images và caches.  Độ phân giảm tối thiểu 1280 x 800.  Java Development Kit (JDK) 7 trở lên.  Tùy chọn thêm cho accelerated emulator: hỗ trợ bộ xử lý Intel® với các phiên bản: Intel® VT-x, Intel® EM64T (Intel® 64), và tính năng Execute Disable (XD) Bit. 12
  13. 2.2.2. Cài đặt môi trường lập trình: Để bắt đầu viết ứng dụng với Android Studio, chúng ta cần tải và cài đặt hai bộ phần mềm sau:  Java JDK: Bước 1: Kiểm tra cấu hình máy để chọn tải phiên bản JDK phù hợp o Vào Control Panel\System and Security\System o Xác định Hệ điều hành và bit (Trong hình dưới là Hệ điều hành Windows 7, 64 bit) Bước 2: Tải bản JDK phù hợp với cấu hình máy xác định ở bước 1. o Vào link https://www.oracle.com/java/technologies/javase-downloads.html để chọn phiên bản JDK. Chọn JDK Download trong giao diện (giao diện có thể khác nhau theo thời gian). 13
  14. o Phiên bản mới nhất sẽ được cập nhật lên hàng đầu (nên chọn phiên bản mới nhất). Chọn phiên bản phù hợp với cấu hình máy và nhấn vào file trong cột Download để tải. o Check vào ô  để xác nhận chấp nhận các điều khoản của Oracle và nhấn nút Download … Bước 3: Cài đặt JDK o Chạy tập tin đã tải ở bước 2, nhấn Next để cài đặt: 14
  15. o Tại giao diện này, nếu người dùng muốn thay đổi vị trí cài đặt thì chọn nút Change…, nhấn Next để tiếp tục. o Quá trình cài đặt kết thúc khi giao diện thông báo hoàn tất xuất hiện, nhấn nút Close. 15
  16. Lưu ý: Khi cần kiểm tra JDK trong máy đã được cài hay chưa, vào Control Panel\Programs\Programs and Features nếu thấy biểu tượng Java như hình dưới là đã được cài.  Android Studio: Android Studio cung cấp các công cụ để xây dựng ứng dụng trên mọi thiết bị Android một cách nhanh nhất. Bước 1: Tải Android Studio o Vào link https://developer.android.com/studio/. o Chọn Download Android Studio và chấp nhận điều khoản để tải gói Android Studio về máy tính. 16
  17. Bước 2: Cài đặt Android Studio o Chạy tập tin android-studio vừa tải ở bước 1 để tiến hành cài đặt Android Studio. Màn hình Welcome to Android Studio Setup xuất hiện, nhấn Next: o Lựa chọn tất cả các tùy chọn (options). Android SDK (software development kit) là một tập hợp các công cụ được sử dụng để phát triển ứng dụng cho Android. Android SDK bao gồm: 1. Các thư viện đòi hỏi 17
  18. 2. Bộ dò lỗi (Debugger) 3. Thiết bị giả lập (emulator) 4. Các tài liệu liên quan cho Android API. 5. Các đoạn code mẫu. 6. Các hướng dẫn cho hệ điều hành Android. Android Virtual Device (AVD) là một thiết bị cấu hình, nó chạy với bộ giả lập Android (Android emulator). Nó làm việc với bộ giả lập để cung cấp một môi trường thiết bị ảo cụ thể, để cài đặt và chạy ứng dụng Android. o Chọn thư mục cài đặt: Android Studio Installation Location: D:\DevPrograms\Android\Android Studio Android SDK Install Location: D:\DevPrograms\Android\sdk 18
  19. 2.3 Khởi động Android Studio: Bước 1: Khởi động ứng dụng Android Studio 19
  20. o Lựa chọn theme sáng hoặc tối: o Tại giao diện Setup Wizard, chọn các thành phần cần cài đặt: Performance (Intel® HAXM): Cho phép phần cứng hỗ trợ ảo hoá (hardware-assisted virtualization engine (hypervisor) để tăng tốc độ chạy ứng dụng Android trên máy tính phát triển ứng dụng. Android Virtual Device: Thiết bị Android ảo được cấu hình sẵn và tối ưu hóa để thử nghiệm ứng dụng trên trình giả lập (Emulator). 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
10=>1