Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 83 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
83
Dung lượng
1,72 MB
Nội dung
QTM-CĐ-MĐ21-LTTBDD2 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 Yêu cầu có tài liệu tham khảo cho sinh viên khoa Công nghệ Thông tin Trường Cao đẳng Nghề ngày trở nên cấp thiết Việc biên soạn tài liệu nằm kế hoạch xây dựng hệ thống giáo trình mơn học Khoa Đề cương giáo trình thông qua Hội đồng Khoa học Khoa Trường Mục tiêu giáo trình nhằm cung cấp cho sinh viên tài liệu tham khảo mơn học Mạng máy tính, giới thiệu khái niệm hệ thống mạng máy tính, đồng thời trang bị kiến thức số kỹ chủ yếu cho việc bảo trì quản trị hệ thống mạng Đây coi kiến thức ban đầu tảng cho kỹ thuật viên, quản trị viên hệ thống mạng Mặc dù có cố gắng để hồn thành giáo trình theo kế hoạch, hạn chế thời gian kinh nghiệm soạn thảo giáo trình, nên tài liệu chắn khiếm khuyết Rất mong nhận đóng góp ý kiến thầy Khoa bạn sinh viên sử dụng tài liệu Các góp ý xin gửi Khoa Công nghệ thông tin - Trường Cao đẳng nghề Cần Thơ Xin chân thành cảm ơn Cần Thơ, ngày tháng năm 2021 Tham gia biên soạn Chủ biên Nguyễn Phát Minh MỤC LỤC TRANG LỜI GIỚI THIỆU MỤC LỤC TRANG 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Đ 21 BÀI 1: TỔNG QUAN VỀ LẬP TRÌNH ANDROID – CÀI ĐẶT ANDROID STUDIO Mã chương: MĐ 21 - 01 Hệ điều hành Android Môi trường phát triển ứng dụng Android 17 Cài đặt Android Studio 18 BÀI 2: CÁC THÀNH PHẦN GIAO DIỆN TRÊN ANDROID STUDIO 26 Mã chương: MĐ 21 - 01 26 Khởi tạo dự án 26 Cấu trúc dự án 30 Cập nhật Android API 35 Cài đặt sử dụng Android Virtual Device (AVD) 37 BÀI 3: ACTIVITY – VÒNG ĐỜI CỦA MỘT ACTIVITY 41 Mã chương: MĐ 21 - 01 41 Các thành phần ứng dụng Android 41 Activity độ ưu tiên ứng dụng 44 BÀI 4: CÁC ĐIỀU KHIỂN CƠ BẢN 50 Mã chương: MĐ 21 - 01 50 Giao diện người dùng 50 View Viewgroup 55 Các điều khiển 59 Kiểm tra lỗi tối ưu lại giao diện 64 BÀI 5: LƯU TRỮ DỮ LIỆU – SQLITE 67 Mã chương: MĐ 21 - 01 67 Khái niệm sở liệu (database concepts) 67 Giới thiệu SQLITE 68 Xây dựng sở liệu với SQLITE 68 Truy vấn liệu 70 Sắp xếp liệu 75 BÀI 6: PROJECT KẾT THÚC KHÓA HỌC 79 Mã chương: MĐ 21 - 01 79 Read book 79 Reminder 79 TÀI LIỆU THAM KHẢO 83 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Đ 21 Vị trí, tính chất, ý nghĩa vai trị mơn học/mơ đun: Vị trí: Mơn học bố trí sau sinh viên học xong môn học chung, môn học sở chuyên ngành đào tạo chun mơn nghề Tính chất: Là mơn học sở chuyên ngành bắt buộc Ý nghĩa vai trị mơn học/mơ đun: Lập trình thiết bị di động môn học nâng cap từ Lập trình thiết bị di động để sinh viên bắt đàu tìm hiểu vấn đề lập trình hệ điều hành Android: Mục tiêu mơn học/mơ đun: Về kiến thức: o Trình bày hệ điều hành Android o Trình bày kiến trúc Android o Trình bày vịng đời Activity Về kỹ năng: o Xây dựng ứng dụng Android có từ Activity trở lên o Sử dụng thành thạo Layout, View o Sử dụng SQLite vào viết ứng dụng Android Về lực tự chủ trách nhiệm: o Nghiêm túc, tỉ mỉ trình tiếp cận với cơng cụ Bố trí làm việc khoa học đảm bảo an toàn cho người phương tiện học tập Nội dung môn học/mô đun: Thời gian Số TT Tên chương, mục I Tổng quan lập trình Android – cài đặt Android Studio Tổng số Lý thuyết Thực Kiểm tra* hành Bài (LT tập hoặcTH) 2 Hệ điều hành Android Kiến trúc Android Cài đặt Android Studio II Các thành phần giao diện Android Studio Khởi tạo dự án Cấu trúc dự án Cài đặt sử dụng Android Virtual Device (AVD) III Activity – vòng đời activity 25 13 11 19 10 60 30 27 Các thành phần ứng dụng Android Activity độ ưu tiên ứng dụng IV Các điều khiển Giao diện người dùng View Viewgroup Các điều khiển V Lưu trữ liệu – SQLite Khái niệm sở liệu Giới thiệu SQLITE Xây dựng sở liệu với SQLITE Truy vấn liệu Sắp xếp liệu Cộng BÀI 1: TỔNG QUAN VỀ LẬP TRÌNH ANDROID – CÀI ĐẶT ANDROID STUDIO Mã chương: MĐ 21 - 01 Giới thiệu: Trong trình bày nội dung khái niệm hệ điều hành Android, kiến trúc hệ điều hành Android, môi trường phát triển ứng dụng hệ điều hành Android Mục tiêu: - Hiểu khái niệm hệ điều hành Android - Hiểu kiến trúc hệ điều hành Android - Biết môi trường phát triển ứng dụng hệ điều hành Android - Thực cài đặt thành công Android Studio hệ thống máy vi tính Nội dung chính: 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, TMobile, 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ị 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 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 Đặc điểm bật phát hành Thanh thông báo kéo từ xuống, hình Android 1.0 10/2008 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ị, Android 1.1 02/2009 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 Android 1.5 Cupcake 05/2009 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 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,… Một vài điểm giao diện cải thiện, hỗ trợ mạng CDMA, hỗ trợ thành phần đồ họa độc lập với độ phân giải, tính Quick Android 1.5 Donut 09/2009 Search Box – tìm kiếm tất thứ hộp tìm kiếm, Android Market – hiển thị ứng dụng miễn phí trả phí hàng đầu Camera cải thiện, tích hợp trình xem ảnh tốt Hỗ trợ nhiều tài khoản người dùng, tính Quick Contact, cải tiến bàn phím ảo Trình Android 2.0 – Android 2.0.1 5, 11/2009 12/2009 Eclair duyệt mới: hỗ trợ HTML5, phát video chế độ tồn hình, hộp địa kết hợp với tìm kiếm, cho phép phóng to, thu nhỏ cách chạm tay vào hình Giao diện đẹp, sang trọng gọn gàng trước Android 2.1 Eclair 01/2010 Hỗ trợ Live Wallpaper, chuyển giọng nói thành văn hình khóa Từ hình tăng lên thành Android 2.2 Froyo hình Dãy nút kích hoạt nhanh chế độ gọi 06/2010 điện, web App Drawer xuất Khả hiển thị hình ảnh 3D Tính trạm phát Wifi xuất Hỗ trợ duyệt web với Flash Tính di chuyển phần ứng dụng từ nhớ máy sang thẻ nhớ Có hai chặn chọn văn Bàn phím cải thiện đẹp dễ sử dụng Android 2.3.3 – 11/2010 Android 2.3.7 9, 10 – 02/2011 Gingerbread Xuất công cụ quản lý pin ứng dụng Hỗ trợ máy ảnh trước Cung cấp nhiều tính mới, tập trung vào việc phát triển game, đa phương tiện phương thức truyền thông Phiên dành riêng cho máy tính bảng Sử dụng màu đen màu xanh dương làm tông màu chủ đạo Homescreen widget Android 3.0 – Android 3.1 – 11, 02/2011 12, – 05/2011 13 – 06/2011 Android 3.2 thiết kế lại Khơng cịn nút nhấn vật lý Cải thiện đa nhiệm – xuất nút Recent Apps giúp chuyển đổi ứng dụng dễ dàng nhanh chóng Thanh Action Bar xuất Honeycomb Phiên Android 3.1 3.2 sửa lỗi thêm vài tính thay đổi kích thước widget homescreen, hỗ trợ thẻ SD, Hỗ trợ font Roboto Hệ thống thông báo (Noitification) làm hoàn toàn, đẹp Android 4.0 – thuận tiện Bàn phím tiếp tục cải Android 4.0.3 14, 10/2011 thiện Hệ điều hành dành cho smartphone Ice Cream 15 – 12/2011 cho máy tính bảng hợp làm Sandwich Duyệt web nhanh hơn, tối ưu hóa hiệu suất hoạt động thiết bị, kéo dài thời gian dùng pin Màn hình Lockscreen - vịng trượt mở khóa dùng kích hoạt tính khác : mở khóa máy, sử dụng camera, kích hoạch Google Now (Android Android 4.1 – Jelly Bean 16 07/2012 4.0 có tính năng: mở khóa máy, sử dụng camera) Khả tìm kiếm giọng nói, kết trả thiết kế theo dạng thẻ đồ họa, thông minh hơn, trực quan Project butter giúp mang lại độ mượt mà chưa có cho Android Hỗ trợ Miracast - chuẩn chia sẻ nội dung số thơng qua kết nối Wi-Fi , bàn phím Android 4.2 Jelly Bean 17 11/2012 nhập liệu cách vẽ đường nét từ kí tự đến kí tự khác, chế độ chụp ảnh toàn cảnh Photo Sphere Hỗ trợ nhiều tài khoản người dùng máy tính bảng Android 4.3 18 07/2013 Hỗ trợ kết nối Bluetooth Smart, API OpenGL ES 3.0, bổ sung tính sử dụng Wi-Fi để Jelly Bean định vị người dùng tắt kết nối Hỗ trợ tính Restricted Profile, Notification Access,… Hiệu suất cải tiến: RAM 512 MB Android 4.4 chạy KitKat, hiệu cao gấp 1,6 lần KitKat phiên trước Giao diện nhìn chung 19, Android 4.4W KitKat Watch 20 10/2013 làm phẳng Kết hợp dịch vụ tìm kiếm Google Search cho phép dị tự động liên kết danh bạ có sẵn internet vào số để sử dụng SQLiteOpenHelper? Vì SQLiteOpenHelper lớp ảo nên ta cần khai báo lớp khác kế thừa lớp SQLiteOpenHelper thực phương thức cần thiết cho phép khởi tạo, nâng cấp sở liệu Tạo đối tượng để truy cấp sở liệu (Read Write) SQLiteDatabase cung cấp phương thức insert(), update(), delete(), execSQL() cho phép thực truy xuất liệu Override phương thức onCreate() để tạo sở liệu Override phương thức onUpgrade() để nâng cấp sở liệu Lớp SQLiteOpenHelper cung cấp phương thức getReadableDatabase() getWriteableDatabase() để trả đối tượng SQLiteDatabase Ví dụ: Tạo CSDL có tên: COUNTRY_DB Trong đó: Tạo Table có tên: COUNTRY Table COUNTRY có cột là: _id, enName viName với _id khóa có giá trị tự động tăng public class MySQLiteHelper extends SQLiteOpenHelper { public static final String DB_NAME = "COUNTRY_DB"; public static final String TABLE_NAME = "COUNTRY "; public static final String COL_ID = "_id"; public static final String COL_EN_NAME = "enName"; public static final String COL_VI_NAME = "viName"; public static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + " (" + COL_ID + " integer primary key autoincrement, " + COL_EN_NAME + " text not null, " not null);"; + COL_VI_NAME + " text public MySQLiteHelper(Context context) { super(context, DB_NAME, null, 1); } } Lưu ý: Hàm khởi tạo có thơng số sau: Context: Biến ngữ cảnh o DB_NAME: Tên sở liệu CursorFactory: Đơi lúc extend lớp cursor để kế thừa số phương thức truy vấn Trong trường hợp đó, ta dùng instance CursorFactory để 69 tham chiếu đến lớp tạo thay cho mặc định Khi dùng mặc định ta để null o Version: Version sở liệu Tiến hành tạo CSDL hàm onCreate(): @Override public void onCreate(SQLiteDatabase db) { Log.d("SQLite", "On Create Database"); //Tạo Table với câu lệnh execSQL db.execSQL(CREATE_TABLE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } 3.2 Mở Cơ sở liệu Dùng cú pháp getReadableDatabase() getWriteableDatabase() để trả đối tượng SQLiteDatabase cần sử dụng SQLiteDatabase đối tượng để truy cập sở liệu (Read Write) SQLiteDatabase cung cấp phương thức insert(), update(), delete(), execSQL() cho phép thực truy xuất liệu MySQLiteHelper myHelper = new MySQLiteHelper(context); SQLiteDatabase database; try{ database = myHelper.getWritableDatabase(); }catch(SQLiteException ex){ database = myHelper.getReadableDatabase(); } Nếu sở liệu tồn lớp SQLiteOpenHelper khơng tạo thêm mà mở kết nối đến sở liệu 3.3 Đóng Cơ sở liệu public void close(){ myHelper.close(); } Truy vấn liệu 4.1 Truy vấn (Query) 4.1.1 Truy vấn với câu lệnh SQL 70 Sử dụng phương thức rawQuery() lớp SQLiteDatabase Phương thức rawQuery() nhận vào giá trị chuỗi câu lệnh SQL dùng để truy vấn liệu trả đối tượng Cursor String queryStr = “SELECT * FROM COUNTRY WHERE _id=? AND enName=?”; Cursor cursor = database.rawQuery(queryStr, new String[]{“1”,”Vietnam”}); Cú pháp truy xuất liệu câu lệnh SQL: Phát biểu truy vấn SQL có dạng: SELECT {Tên trường cần truy vấn, * lấy tất trường} FROM {Tên Table} WHERE {Biểu thức điều kiện} SELECT dùng để đọc thông tin từ sở liệu theo trường hợp quy định hay biểu thức cho trường hợp FROM tên bảng hay bảng có liên quan cần truy vấn thơng tin WHERE để tạo nên điều kiện cần lọc mẩu tin theo tiêu chuẩn định nghĩa Thông thường, WHERE dùng cột (trường) để so sánh với giá trị cột khác, hay biểu thức chứa cột (trường) có bảng (table) Hình Ví dụ truy vấn với câu lệnh SELECT Các phép toán so sánh câu lệnh SQL: > Lớn WHERE _id>10; < : nhỏ WHERE _id= Lớn WHERE _id>=10; 71