1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình lập trình thiết bị di động 1 (nghề ứng dụng phần mềm trình độ cao đẳng)

132 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giáo trình lập trình thiết bị di động 1
Tác giả Nguyễn Hoàng Vũ
Trường học Cao đẳng nghề Cần Thơ
Chuyên ngành Ứng dụng phần mềm
Thể loại sách giáo trình
Năm xuất bản 2021
Thành phố Cần Thơ
Định dạng
Số trang 132
Dung lượng 2,56 MB

Nội dung

TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm LỜI GIỚI THIỆU Trong thập kỷ vừa qua, Android trở thành tảng phổ biến hết với 1.4 tỷ người dùng 80% số lượng thiết bị di động sử dụng hệ điều hành Android Con số ấn tượng cho thấy nhu cầu phát triển ứng dụng chạy hệ điều hành Android Lập trình ứng dụng dần trở thành công việc với hội nghề nghiệp rộng mở mức lương hấp dẫn Lập trình thiết bị di động mô đun sở của nghề Ứng dụng phần mềm biên soạn dựa theo Bài trình đào tạo xây dựng ban hành năm 2021 của trường Cao đẳng nghề Cần Thơ dành cho nghề Ứng dụng phần mềm hệ Cao đẳng Khi biên soạn, nhóm biên soạn dựa kinh nghiệm thực tế giảng dạy, tham khảo đồng nghiệp, tham khảo giáo trình có cập nhật kiến thức có liên quan để phù hợp với nội dung Bài trình đào tạo phù hợp với mục tiêu đào tạo, nội dung biên soạn gắn với nhu cầu thực tế Nội dung giáo trình biên soạn với lượng thời gian đào tạo 45 gồm có: Bài MĐ28-01: Tổng quan lập trình android môi trường phát triển Bài MĐ28-02: Các thành phần ứng dụng android Bài MĐ28-03: Các điều khiển Bài MĐ28-04: Tài nguyên ứng dụng android Bài MĐ28-05: Quản lý nhớ thiết bị xây dựng giao diện với fragment Mặc dù cố gắng tổ chức biên soạn để đáp ứng mục tiêu đào tạo không tránh thiếu sót Rất mong nhận đóng góp ý kiến của thầy, bạn đọc để nhóm biên soạn điều chỉnh hoàn thiện Cần Thơ, ngày tháng năm 2021 Tham gia biên soạn Chủ biên Nguyễn Hoàng Vũ MỤC LỤC LỜI GIỚI THIỆU MỤC LỤC GIÁO TRÌNH MƠN HỌC/MƠ ĐUN BÀI 1: TỔNG QUAN VỀ LẬP TRÌNH ANDROID VÀ MƠI TRƯỜNG PHÁT TRIỂN Mã BÀI: MĐ28-01 Tổng quan android 1.1 Hệ điều hành Android 1.2 Tại lập trình Android 14 1.2.1 Xu phát triển công nghệ di động 14 1.2.2 Thị trường thiết bị Android 17 1.2.3 Nhu cầu tuyển dụng lập trình viên Android 17 KIẾN TRÚC ANDROID 17 MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG ANDROID 19 3.1 Giới thiệu Java JDK, Android SDK, Android Studio 19 3.2 Thiết lập môi trường phát triển: 20 3.3 Tạo ứng dụng 30 3.3.1 Khởi tạo dự án 30 3.3.2 Cấu trúc dự án 33 3.3.3 AndroidManifest 37 3.4 Cập nhật Android API 38 3.5 Cài đặt sử dụng Android Virtual Device (AVÍ DỤ) 39 Bài tập của học viên 42 Hướng dẫn thực 42 Những trọng tâm cần ý 42 Bài mở rộng nâng cao 42 Yêu cầu đánh giá kết học tập 43 BÀI 2: CÁC THÀNH PHẦN ỨNG DỤNG ANDROID 44 Mã BÀI: MĐ28 - 02 44 Các thành phần ứng dụng Android 44 1.1 Activity 44 1.2 Intent 44 1.3 View 44 1.4 Broadcast Receiver 45 1.5 Service 45 1.6 Content Provider 45 1.7 Context 45 1.8 Notification 46 TƯƠNG THÍCH THIẾT BỊ 46 ACTIVITY VÀ ĐỘ ƯU TIÊN ỨNG DỤNG 47 3.1 Xây dựng Activity 47 3.2 Quản lý trạng thái Activity (Managing the Activity Lifecycle) 48 3.3 Vòng đời của Activity (Activity Lifecycle) 49 3.4 Độ ưu tiên ứng dụng 50 Bài tập của học viên 51 Hướng dẫn thực 51 Những trọng tâm cần ý: 55 Bài mở rộng nâng cao 55 Yêu cầu đánh giá kết học tập 55 BÀI CÁC ĐIỀU KHIỂN CƠ BẢN 57 Mã BÀI: MĐ28 -03 57 Giao diện người dùng 57 1.1 Layout 57 1.1.1 Frame Layout 57 1.1.2 Linear Layout 59 1.1.3 Table Layout 59 1.1.4 Relative Layout 60 View Viewgroup 61 2.2 Các thuộc tính của View 63 2.2.1 Id: 63 2.2.2 Thuộc tính vị trí: 63 Các điều khiển 64 3.1 TextView: 64 3.2 EditText: 66 3.3 Button: 66 3.4 Checkbox: 67 3.5 RadioButton: 68 3.6 ToggleButton: 68 3.7 Switch: 68 Kiểm tra lỗi tối ưu lại giao diện 69 Bài tập của học viên 70 Hướng dẫn thực 70 Những trọng tâm cần ý: 71 Bài mở rộng nâng cao 71 Yêu cầu đánh giá kết học tập 72 BÀI TÀI NGUYÊN ỨNG DỤNG TRONG ANDROID 73 Mã BÀI: MĐ28 - 04 .73 TỔNG QUAN .73 1.1 Tài nguyên 73 1.2 Định nghĩa tài nguyên 74 TÍNH TƯƠNG THÍCH 76 TRUY XUẤT TÀI NGUYÊN 77 3.1 Lớp R: 77 3.2 Tài nguyên Alias 77 CÁC TÀI NGUYÊN ỨNG DỤNG CƠ BẢN 78 4.1 String 78 4.2 Bool o Cú pháp 79 4.3 Color 79 4.4 Id 79 4.5 Dimen 80 4.6 Integer 80 4.7 Integer 81 4.8 Typed Array 81 CÁC TÀI NGUYÊN ỨNG DỤNG NÂNG CAO .82 5.1 Tài nguyên hình ảnh 82 5.1.1 Thư mục lưu trữ: 82 5.1.2 Định dạng: 82 5.1.3 Truy xuất: 82 5.2 Các dạng tài nguyên hình ảnh 82 5.2.1 Bitmap 82 5.3 Shape 83 5.4 LayerList 84 5.5 StateList 85 5.6 LevelList 86 5.7 Transition 86 5.8 Inset 87 5.9 Clip 87 5.10 Scale 88 5.11 NineoPatch 88 INTENT 89 6.1 Khái niệm Intent 89 6.1.1 Cơ chế hoạt động 89 6.1.2 Xây dựng truy xuất Intent 89 6.2 Intent filter 91 6.2.1 Mô tả 91 6.2.2 Quy tắc thiết lập 92 6.2.3 Xây dựng IntentFilter 92 6.2.3.1 Action: 92 2.3.2 Data: 92 6.2.3.3 Category 93 Bài tập của học viên 93 Hướng dẫn thực 94 Những trọng tâm cần ý: 94 Bài mở rộng nâng cao 95 Yêu cầu đánh giá kết học tập 95 BÀI 5: QUẢN LÝ BỘ NHỚ THIẾT BỊ VÀ XÂY DỰNG GIAO DIỆN VỚI FRAGMENT 96 Bộ quản lý Asset 96 1.1 Giới thiệu 96 1.2 Đọc liệu Asset 97 Shared Preferences 99 2.1 Giới thiệu 99 2.2 Lưu trữ 99 2.3 Truy xuất 100 Bộ nhớ thiết bị 101 3.1 Bộ lưu trữ 101 3.2 Bộ lưu trữ 101 điều khiển hiển thị danh sách 103 Các dạng Adapter 103 5.1 BaseAdapter 103 5.2 SimpleCursorAdapter 104 CÁC ĐIỀU KHIỂN DANH SÁCH 104 6.1 AbsListView 104 6.2 Listview 104 6.3 GridView 107 6.4 Spinner 108 6.5 Tạo Custom ListView 109 6.6 AutoCompleteTextView 113 6.7 MultiAutoCompleteTextView 114 Giao diện với Fragment .115 7.1 Khái quát 115 7.2 Giao diện 116 7.3 Vòng đời củ Fragment 117 7.4 Lưu trữ Fragment (BackStack) 118 Xây dựng sử dụng Fragment 119 8.1 Thực xây dựng Fragment: 119 8.2 Sử dụng Fragment 119 Câu hỏi tập thực hành 121 Hướng dẫn thực .122 Những trọng tâm cần ý: 129 Bài mở rộng nâng cao 130 Yêu cầu đánh giá kết học tập 130 TÀI LIỆU THAM KHẢo 132 GIÁO TRÌNH MƠN HỌC/MƠ ĐUN Tên mơn học/mơ đun: LẬP TRÌNH THIẾT BỊ DI ĐỘNG Mã mơn học/mơ đun: MĐ 28 Vị trí, tính chất, ý nghĩa vai trị mơ đun  Vị trí của mơ đun: Mơ đun bố trí thực sau sinh viên học xong mơ đun, Mạng máy tính, Cơ sở liệu, Cấu trúc liệu giải thuật, Lập trình bản, lập trình trực quan, lập trình Java sinh viên học song song với mơn học, mơ đun chuyên môn nghề như: Kiểm thử phần mềm, Công nghệ Mã nguồn mở, Lập trình Web với PHP MySQL, Thiết kế Web với ASP.NET, Thiết kế website thương mại  Tính chất của mơ đun: Là mơ đun chun mơn nghề bắt buộc chương trình đào tạo cao đẳng Ứng dụng phần mềm  Ý nghĩa, vai trị của mơ đun: Lập trình thiết bị di động mô đun quan trọng chương trình đào, thơng qua việc, giúp sinh viên tạo ứng dụng cho người sử dụng giúp thực hóa ý tưởng của lập trình viên giúp lập trình viên tạo ứng dụng cầu nối giao tiếp với người giới qua số lượng người download sử dụng ứng dụng của cơng nghệ Giáo trình “Lập trình thiết bị di động 1” nhằm cung cấp cho sinh viên kiến thức phương pháp kỹ thuật đo lường đại lượng vật lý Mục tiêu môn học: Sau học xong mơ đun học viên có lực - Kiến thức:  Trinh bày phát triển của hệ điều hành Android  Nêu xu phát triển công nghệ di động  Nắm kỹ thuật kiểm thử chiến lược kiểm thử  Nhu cầu tuyển dụng lập trình viên Android bối cảnh  Môi trường phát triển ứng dụng android  Trình bày thành phần ứng dụng Android  Trình bày điều khiển bản, giao diện người dùng, kiểm tra lỗi tối ưu lại giao diện  Tài nguyên ứng dụng android, cách truy xuất tài nguyên  Quản lý nhớ thiết bị xây dựng giao diện với fragment, Shared Preferences, điều khiển danh sách - Kỹ năng:  Cài đặt Android Studio  Cài đặt sử dụng Android Virtual Device (AVD)  Cập nhật Android API  Tạo project theo yêu cầu  Thực thi chương trình thiêt kế  Thiết kế giao diện đồ họa đại cho ứng dụng Android  Thành thạo kỹ lập trình, phát triển ứng dụng mobile Android  Thiết kế phát triển ứng dụng khai thác thông tin internet mạng thông tin, mạng xã hội, dịch vụ chia sẻ trực tuyến,  Nghiêm túc, tỉ mỉ, sáng tạo trình tiếp thu kiến thức vận dụng vào việc xây dựng thực testplan cụ thể Chủ động, tích cực tìm hiểu tài liệu nguồn tập liên quan  Nghiêm túc, tỉ mỉ, sáng tạo trình tiếp thu kiến thức vận dụng vào việc xây dựng thực testplan cụ thể Chủ động, tích cực tìm hiểu tài liệu nguồn tập liên quan - Năng lực tự chủ trách nhiệm:  Nghiêm túc, tỉ mỉ việc tiếp nhận kiến thức  Chủ động, tích cực thực hành tìm kiếm nguồn tập liên quan  Rèn luyện tính tổ chức, khoa học, hệ thống, xác, cẩn thận Nội dung mô đun: Thời gian (giờ) Thực Số hành, thí Tên mơ đun Tổng Lý Kiểm TT nghiệm, số thuyết tra thảo luận, tập Bài 1: tổng quan lập trình android môi trường phát triển Bài 2: thành phần ứng dụng android Bài điều khiển 12 Bài : Tài nguyên ứng dụng android Bài 5: Quản lý nhớ thiết bị xây dựng giao diện với fragment Tổng 45 15 28 BÀI 1: TỔNG QUAN VỀ LẬP TRÌNH ANDROID VÀ MƠI TRƯỜNG PHÁT TRIỂN Mã BÀI: MĐ28-01 Giới thiệu Android hệ điều hành tảng di động phát triển dựa hệ điều hành Linux Google Kể từ mắt, Android ngày trở nên phổ biến với lượng người dùng ngày tăng Các ứng dụng tảng phát triển sử dụng ngơn ngữ lập trình Java Java Việc trở thành tảng hệ điều hành di động phổ biến giúp đảm bảo nhu cầu nhà phát triển ứng dụng Android Bên cạnh đó, với đặc điểm mã nguồn mở, Android sở hữu hệ sinh thái đa dạng nhà phát triển ứng dụng Mục tiêu: - Trình bày nội dung tổng quan Lập trình thiết bị di động - Xây dựng ứng dụng đọc truyên smartphone - Thiết kế đưa giải pháp kỹ thuật - Trao đổi thông tin trực tiếp với người dùng cầu dự án - Tạo thực kế hoạch đặt để đáp ứng thay đổi yêu cầu hệ thống; - Hiểu phương thức truy cập hệ thống; - Xác định rủi ro mối đe dọa hệ thống; - Có tính chủ động, khoa học, cẩn thận, tỉ mỉ, xác Nội dung chính: Tổng quan android 1.1 Hệ điều hành Android - Năm 2003, Android Inc thành lập Andy Rubin, Rich Miner, Nick Sears Chris White California - Năm 2005, Google mua lại Android Inc bắt đầu nuôi ý tưởng tự sản xuất điện thoại di động - Năm 2007, tổ chức OHA (open Handset Alliance) thành lập với 80 công ty lĩnh vực kỹ thuật điện tử bao gồm công ty chuyên phần cứng, phân phối thiết bị di động đến công ty phần mềm, sản xuất chất bán dẫn… Có thể kể đến số công ty tiếng Samsung, Motorola, LG, HTC, ToMobile, Vodafone, ARM Qualcomm… - Năm 2008, Google mắt di động đồng thời open source SDK (Software Development Kit) phiên 1.0 - Năm 2010, Google khởi đầu dòng thiết bị Nexus với thiết bị của HTC Nexus one - Năm 2013, mắt loạt thiết bị phiên GPE - Năm 2014, Google công báo Android Wear, hệ điều hành dành cho thiết bị đeo - Các phiên của hệ điều hành Android: Hình 1.1 Các phiên hệ điều hành Android Phiên API Thời gian phát hành Android 1.0 10/2008 Android 1.1 02/2009 Android 1.5 Cupcake 05/2009 Đặc điểm bật Thanh thơng báo kéo từ xuống, hình chínhọphong phú, tích hợp chặt chẽ với Gmail, giao diện đơn giản đẹp mắt thời Tải cài đặt cập nhật thiết bị, không cần kết nối với máy tính (phương thức over The Air) Là Android Google gọi tên theo đồ ăn với chữ bắt đầu xếp theo thứ tự alphabet Với tính năng: bàn phím ảo, mở rộng khả cho widget – khả tùy biến giao diện của Android đẩy mạnh, cải tiến clipboard, có khả quay phim, cho phép tải ảnh, video lên YouTube, truy cập danh bạ Google Talk, 10 Hình Vịng đời Fragment - - Hầu hết phương thức n y giống so với phương thức quản lý vòng đời củ Activity m t tìm hiểu chương Chúng có v i trị định cách thức hoạt động củ Fragment v cách Fragment gắn vào Activity - Vòng đời của Fragment lúc chúng gắn lên Activity kết thúc gỡ bỏ Hai kiện giám sát hai phương thức tương ứng onAttach onDetach - Tất c phương thức quản lý gọi sau Fragment/Activity vào trạng thái tương tác, nhi n Phương thức onDetach không gọi lên Activity chứa Fragment bị hủy m chư ho n th nh vịng đời của - Phương thức onAtt ch gọi lần trước giao diện Fragment khởi tạo, trước c khởi tạo của Fragment Activity Fragment Thường phương thức n y dùng để tạo có tham chiếu đến Activity để chuẩn bị khởi tạo xử lý khác - Việc tạo FFragment thực phương thức onCreate kết thúc phương thức onDestroy Khi dùng Activity, nên khởi tạo Fragment onCreate của Activity 7.4 Lưu trữ Fragment (BackStack) Việc lưu trữ Fragment bao gồm hai giai đoạn: + Lưu trữ trạng thái Fragment thông qua biến Bundle: 118  Truy xuất biến Bundle phương thức onSaveInstanceState  Truyền thông tin cần lưu trữ vào biến Bundle + Được Fragment vào Stack:  Thực khai báo Fragment  Cho phép nhúng Fragment vào Activity  Dùng phương thức ddToB BackStack (String T g) đối tượng quản lý Fragment để Fragment vào Stack  Có thể truy xuất lại đối tượng Fragment thơng qua Tag, phím “Bock” thiết bị nhấn Xây dựng sử dụng Fragment 8.1 Thực xây dựng Fragment: - Khai báo lớp kế thừa từ lớp Fragment - Gọi phương thức onCreateView thực tạo giao diện cho Fragment - Ví dụ tạo lớp Fragment giao diện: public class ImageFragment extends Fragment { public View onCreateView(LayoutInflater inflater,ViewGroup parent, Bundle b ) { View rootView = inflater.inflat(R.layout.fragment_main, null); return rootView; } } 8.2 Sử dụng Fragment - Sử dụng Fragment Activity, bao gồm hai cách: +Thực tham chiếu Fragment từ giao diện XML của Activity + Kh i áo đối tư ng FragmentManger, cho phép nhúng Fragment vào Activity từ JavaCode - Main Activity có Fragment Manager dùng để qu n lý Fragment chứa Để sử dụng ta cần gọi phương thức getFragmentManager FragmentManager frManager = getFragmentManager(); - Đối tương cung cấp số phương thức thêm, gỡ bỏ cập nhật Fragment vào Activity, quản lý phiên làm việc của Fragment - Cách đơn giản để thêm vào Activity khai báo thẻ fragment tập tin giao diện củ Activity Fragment xem đối tư ng View roup gắn vào Layout Thường sử dụng cách để định nghĩ tập giao diện tĩnh cho hình có kích cỡ khác - Trong trường họp ta cần th y đổi giao diện dựa trạng thái của ứng dụng cách tốt ta nên sử dụng giao diện động dựa FragmentTransaction Lớp FragmentTransaction h tr việc thêm, gỡ bỏ thay Fragment Activity ứng dụng đ ng thực thi Dự vào tương tác củ người dùng mà ta xây dựng giao diện họp lý Ngoài ra, để giúp cho ứng dụng đáp ứng trải nghiệm người dùng, chuyển hoạt sử dụng phiên làm việc của Fragment Transaction Transaction lưu trữ stack để tái sử dụng - Mọi phiên làm việc của FragmentTrans Action khởi tạo phương thức beginTransaction Các hoạt động của Fragment định nghĩ phương thức 119 add, remove replace Sau tùy chỉnh chuyển hoạt cách thức hoạt động stack trước thực phương thức commit để thêm Transaction vào không FragmentTransaction frTransaction = frManager.beginTransaction(); //Thiết lập add,remove replace, addToBackStack… //Thiết lập Animation cho Fragment //Cuối gọi phương thức commit() frTransaction.commit() - Ví dụ, để thực thêm Fragment đơn giản ta cần định Fragment cần thêm vào đối tượng chứa Fragment FragmentTransaction frTransaction = frManager.beginTransaction(); frTransaction.add(R.id.ui_container, new MyFragment()); frTransaction.commit() - Đối với phương thức remove replace t thực tương tự - Để thực chuyển hoạt cho Fragment Transaction ta có cách, l dùng phương thức setTransaction truyền vào tham số có sẵn lớp FragmentTransaction - Ví dụ: frTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OP EN); - Cách thứ hai sử dụng phương thức setCustomAnimations thực tạo chuyển hoạt tập tin XML Phương thức yêu cầu truyền vào hai tham số, d nh cho Fragment thêm vào cho Fragment gỡ bỏ - Ví dụ: frTransaction.setCustomAnimations(android.R.animatior.fade_in, android.R.animator.fade_out); - Trong lớp Fragment h tr phương thức getActivity cho phép chúng truy cập vào đối tư ng củ Activity m chúng nhúng vào Điều giúp lấy View mà ta cần tương tác ng y lớp Fragment - Ví dụ: TextView textView = (TextView) getActivity().findViewById(R.id.fragEdit); - Mặc dù có dùng lớp FragmentManager để liên lạc Fragment với Activity cách tốt l xây dựng Interface mà Activity Thành phần trung gian Fragment không phụ thuộc vào Activity m nhúng vào Thường thực tạo kết nối Interf ce phương thức onAttach của Fragment Có thể xem ví dụ s u để hiểu thêm - Xây dựng Interface public interface OnNewItemAddedListener{ public void OnNewItemAdded(String newItem); } - Thực lấy Activity l m trung gi n phương thức onAttach 120 @Override public void onAttach(Activity activity){ super.onAttach(activity); try{ onNewItemAddedListener = (OnNewItemAddedListener) activity; }catch(ClassCastException e){ Throw new ClassCastExeption(activity.toString() + “ must implement onNewItemAddedListener.”); } } - Thực thi Interface Activity @Override public void onNewItemAdded(String newItem){ //Do Something with newItem } Câu hỏi tập thực hành Trình bày quản lý Asset Shared Preferences Trình bày điều khiển danh sách Xây dựng giao diện với Fragment Trình bày bước xây dựng sử dụng Fragment Thiết kế giao diện cho fragment 121 Hình Hướng dẫn thực Trình bày quản lý Asset Shared Preferences, tham khảo mục của giáo trình Trình bày điều khiển danh sách, tham khảo mục của giáo trình Xây dựng giao diện với Fragment, tham khảo mục của giáo trình Trình bày bước xây dựng sử dụng Fragment, tham khảo mục của giáo trình Thiết kế giao diện cho fragment Top Fragment  Trong thực mục res/layout tạo layout resource file với tên activity_top, sử dụng constraintlayout để dựng giao diện cho layout  Nội dung file activity_top.xml sau: Và giao diện của nó: Hình  Sau thư mục java/com.example.myapplication.ui.main tạo thư mục fragment để chứa class xử lý fragment của Trong thư mục tạo Java class TopFragment Nội dung file sau: package com.example.myapplication.ui.main.fragment import android.content.Context import android.os.Bundle 124 import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Button import android.widget.EditText import androidx.fragment.app.Fragment import com.example.myapplication.MainActivity import com.example.myapplication.R class TopFragment : Fragment { constructor() private lateinit var txtFirstName : EditText private lateinit var txtLastName : EditText private lateinit var btnOk : Button private lateinit var mainActivity: MainActivity override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { val view : View = inflater.inflate(R.layout.activity_top, container, false) txtFirstName = view.findViewById(R.id.firstname) txtLastName = view.findViewById(R.id.lastname) btnOk = view.findViewById(R.id.button_ok) btnOk.setOnClickListener(object : View.OnClickListener{ override fun onClick(v: View?) { val firstName = txtFirstName.getText().toString(); val lastName = txtLastName.getText().toString(); mainActivity.showText(firstName, lastName) } }) return view } override fun onAttach(context: Context) { super.onAttach(context) 125 if (context is MainActivity) { mainActivity = context } } } Bottom Fragment  Tương tự Top fragment tạo layout fragment res/layout với tên activity_bottom Nội dung file sau: Giao diện sau: 126 Hình Sau thư mục java/com.example.myapplication.ui.main tạo thư mục fragment để chứa class xử lý fragment của Trong thư mục tạo Java class BottomFragment Nội dung file sau: package com.example.myapplication.ui.main.fragment import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView import androidx.fragment.app.Fragment import com.example.myapplication.R class BottomFragment : Fragment { constructor() private lateinit var txtFullName : TextView override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { val view : View = inflater.inflate(R.layout.activity_bottom, container, false) txtFullName = view.findViewById(R.id.fullname) return view } fun showText(firstName : String, lastName : String) { 127 txtFullName.setText(firstName + " " + lastName) } } Trong file có hai function:  onCreateView: hàm return view để tạo giao diện cho fragment, find full name theo id  showText: hàm set nội dung cho fullname Main activity  Chúng ta sửa lại file giao diện layout main activity sau: Nội dung file main_activity sau:  Sau sửa lại file MainActivity sau: package com.example.myapplication import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import com.example.myapplication.ui.main.fragment.BottomFragment class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.main_activity) } fun showText(firstName : String, lastName : String) { val bottomFragment = supportFragmentManager.findFragmentById(R.id.fragment_bottom) as BottomFragment bottomFragment.showText(firstName, lastName) } } Trong file có hai function:  onCreate: để tạo activity, set view file layout main_activity mà tạo  showText: function get Bottom Fragment sau truyền parameter vào function showText mà khởi tạo class BottomFragment Những trọng tâm cần ý:  Trình bày quản lý Asset Shared Preferences  Trình bày điều khiển danh sách  Xây dựng giao diện với Fragment  Trình bày bước xây dựng sử dụng Fragment  Thiết kế giao diện cho fragment  Trình bày thiết kế giao diện cho fragment  Thực thao tác lập trình thiết kế, quản lý thuộc tính của fragment 129 Bài mở rộng nâng cao Sử dụng Fragment thiết kế giao diện sau: Yêu cầu đánh giá kết học tập Nội dung  Về kiến thức:  Trình bày quản lý Asset Shared Preferences  Trình bày điều khiển danh sách  Xây dựng giao diện với Fragment  Trình bày bước xây dựng sử dụng Fragment  Trình bày thiết kế giao diện cho fragment  Về kỹ năng:  Thao tác Thiết kế giao diện cho fragment  Thực thao tác lập trình thiết kế, quản lý thuộc tính của fragment  Năng lực tự chủ trách nhiệm: Tỉ mỉ, cẩn thận, xác, linh hoạt ngăn nắp công việc Phương pháp  Về kiến thức: Đánh giá hình thức kiểm tra viết, trắc nghiệm, vấn đáp  Về kỹ năng: Đánh giá kỹ thực hành lập trình thiết kế, quản lý thuộc tính của fragment  Năng lực tự chủ trách nhiệm: Tỉ mỉ, cẩn thận, xác, linh hoạt ngăn nắp cơng việc Điều kiện để hồn thành mơ đun để dự thi kết thúc mô đun: 130 + Người học tham dự 70% thời gian học lý thuyết đầy đủ học tích hợp, học thực hành, thực tập + Điểm trung bình chung điểm kiểm tra đạt từ 5,0 điểm trở lên theo thang điểm 10; + Người học có giấy xác nhận khuyết tật theo quy định hiệu trưởng xem xét, định ưu tiên điều kiện dự thi sở sinh viên phải bảo đảm điều kiện điểm trung bình điểm kiểm tra + Số lần dự thi kết thúc mô đun theo quy định khoản Điều 13 Thông tư 09/2017/TT-BLĐTBXH, ngày 13 tháng năm 2017 Điều kiện để công nhận, cấp chứng nhận đạt mô đun đào tạo: Người học công nhận cấp chứng nhận đạt mơ đun có điểm trung bình mơ đun theo thang điểm 10 đạt từ 4,0 trở lên 131 TÀI LIỆU THAM KHẢO [1] ThS Trương Thị Ngọc Phượng, Giáo trình Android, Trường Đại học sư phạm kỹ thuật TP HCM, năm 2012 [2] Bộ Tiêu chuẩn kỹ nghề Quốc gia nghề Quản trị mạng máy tính [3] developer.android.com 132

Ngày đăng: 23/12/2023, 10:17

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN