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

Giáo trình Lập trình di động (Nghề: Lập trình máy tính - Trình độ Cao đẳng) - Trường Cao đẳng Nghề An Giang

67 11 3

Đ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

Định dạng
Số trang 67
Dung lượng 2,4 MB

Nội dung

Giáo trình Lập trình di động gồm các nội dung chính như: Thiết lập môi trường lập trình Android; Layout và View thường dùng trong Android; Menu và điều khiển tìm kiếm; Cơ sở dữ liệu trong Android;... Mời các bạn cùng tham khảo!

ỦY BAN NHÂN DÂN TỈNH AN GIANG TRƢỜNG CAO ĐẲNG NGHỀ AN GIANG GIÁO TRÌNH MƠ ĐUN: Lập Trình Di Động NGÀNH/ NGHỀ: LẬP TRÌNH MÁY TÍNH TRÌNH ĐỘ : CAO ĐẲNG (Ban hành theo Quyết định số: /QĐ-CĐN, ngày tháng năm 20 Hiệu trưởng trường Cao đẳng nghề An Giang) An Giang, Năm ban hành: 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 đƣợc phép dùng ngun 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 Nhƣ biết, có nửa nhân loại sử dụng máy di động để thoại giao tiếp qua mạng không dây Con số tỉ ngƣời tăng lên máy di động ngày "thông minh" với nhiều chức dịch vụ hấp dẫn, thị trƣờng máy di động thông minh vƣợt xa máy vi tính tƣơng lai gần Vì việc lập trình thiết bị di động ngày phổ biến phát triển mạnh mẽ Từ tảng mã nguồn mở, Google cho mắt Android chạy thiết bị di động Android có nhiều cơng cụ dụng cụ miễn phí để nghiên cứu phát triển phần mềm tảng Tài liệu giúp tìm hiểu Android cách viết ứng dụng tảng An Giang, ngày tháng năm 20… Tham gia biên soạn Ths Vũ Trường Duy 2…………… ………… MỤC LỤC LỜI GIỚI THIỆU GIÁO TRÌNH MƠ ĐUN BÀI 1: THIẾT LẬP MƠI TRƢỜNG LẬP TRÌNH ANDROID I Giới thiệu hệ điều hành Android II/ Cài đặt mơi trƣờng lập trình Android III/ Cài đặt thiết bị chạy ứng dụng Android 12 IV/ Tạo dự án Android 12 Bài tập: 20 BÀI 2: LAYOUT VÀ VIEW THƢỜNG DÙNG TRONG ANDROID 21 I/ Các Layout 21 II/ Hàm findViewById 27 III/TextView, EditTex, Button 27 IV/ Checkbox, RadioButton 29 V/ ImageButton, ImageView 30 VI/ Toast 30 VII/ AlertDialog 31 VIII/ Listview 33 IX/ Listview nâng cao 36 Bài tập: 42 BÀI 3: ACTIVITY 43 I/ Activity vòng đời Activity 43 II/ Intent 45 III/ Truyền nhận liệu Activity 50 IV/ Truyền liệu tự động lắng nghe kết trả Activity 50 Bài tập: 50 BÀI 4: MENU VÀ ĐIỀU KHIỂN TÌM KIẾM 51 I/ OptionMenu 51 II/ ContextMenu 52 III/ Menu điều khiển tìm kiếm 54 Bài tập: 56 BÀI 5: CƠ SỞ DỮ LIỆU TRONG ANDROID 59 I/ Giới thiệu SQLite 59 II/ Cách sử dụng SQLiteManager 59 III/ Sao chép liệu SQLite vào hệ thống 61 IV/ Truy vấn SQLite Android 61 V/ Thêm liệu vào SQLite Android 65 VI/ Cập nhật liệu SQLite Android 65 VII/ Xóa liệu SQLite Android 66 Bài tập: 66 CÁC THUẬT NGỮ CHUYÊN MÔN 67 GIÁO TRÌNH MƠ ĐUN Tên mơ đun: LẬP TRÌNH DI ĐỘNG Mã mơ đun: MĐ33 Thời gian thực mô đun: 75 (Lý thuyết: 20 giờ, thực hành, thí nghệm, thảo luận: 53 giờ, tập: …… giờ, kiểm tra: giờ) I VỊ TRÍ, TÍNH CHẤT CỦA MƠ ĐUN Vị trí: thuộc nhóm Mơ đun chun mơn nghề Tính chất: Là Mơ đun chun mơn bắt buộc ngành lập trình máy tính hệ Cao đẳng Ý nghĩa vai trị mô đun: Mô đun giúp cho sinh viên sử dụng ngơn ngữ lập trình để viết app, phát triển ứng dụng cho thiết bị di động Trong đó, hệ điều hành đƣợc sử dụng phổ biến Android việc thiết kế app mobile phù hợp đáp ứng tốt cho yêu cầu, đòi hỏi thực tế ngƣời dùng II MỤC TIÊU CỦA MÔ ĐUN Kiến thức: + Trình bày đƣợc dạng Layout + Trình bày đƣợc đặc điểm cách sử dụng View Android: TextView, EditView, Button, Checkbox, RadioButton, ImageButton, ImageView, ListView + Trình bày đƣợc khái niệm Activity vịng đời Activity + Trình bày đƣợc đối tƣợng OptionMenu, ContextMenu, Menu điều khiển tìm kiếm + Trình bày đƣợc sở liệu SQLite cách truy xuất liệu, thêm, cập nhật liệu SQLite Android Kỹ năng: + Cài đặt đƣợc môi trƣờng lập trình Android + Tạo đƣợc ứng dụng Android sử dụng Layout, View bản, hộp thoại thông báo, Toast + Thao tác đƣợc sở liệu SQLite Android Năng lực tự chủ trách nhiệm + Cẩn thận, tỉ mỉ, tự giác học tập nghiên cứu III NỘI DUNG MÔ ĐUN Thời gian (gỉờ) Tên chƣơng, mục TT Bài 1: Thiết lập mơi trƣờng lập trình Android Bài 2: Layout View thƣờng dùng Android Thực hành, thí nghiệm, Lý Tổng số thuyết thảo luận, tập 4 20 11 Bài 3: Activity 16 12 Bài 4: Menu điều khiển tìm kiếm 16 12 Bài 5: Cơ sở liệu Android 16 11 Ôn tập 3 Cộng 75 20 53 Kiểm tra 1 BÀI 1: THIẾT LẬP MƠI TRƢỜNG LẬP TRÌNH ANDROID Mục tiêu: - Trình bày đƣợc cơng cụ hỗ trợ lập trình Android - Cài đặt đƣợc mơi trƣờng lập trình Android - Cài đặt đƣợc thiết bị chạy ứng dụng Android - Tạo đƣợc dự án Android Nội dung chính: I Giới thiệu hệ điều hành Android - Android gì? Google Android hệ điều hành mã nguồn mở (open-source) tảng phần mềm (software platform) cho thiết bị di động Các nhà phát triển chỉnh sửa code họ thơng qua thƣ viện Java Google - Lịch sử Android Tháng năm 2005, Google mua lại Android, Inc., công ty nhỏ thành lập có trụ sở Palo Alto, California, Mỹ Tháng 11 năm 2007, Liên minh thiết bị cầm tay mở rộng (Open Handset Alliance), bao gồm nhiều công ty nhƣ Texas Instruments, Tập đoàn Broadcom, Google, HTC, Intel, LG, Tập đoàn Marvell Technology, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel T-Mobile đƣợc thành lập Một tảng thiết bị di động đƣợc xây dựng dựa nhân Linux 2.6 II/ Cài đặt mơi trƣờng lập trình Android 1/ Giới thiệu Java JDK, Android SDK, Android Studio - Android SDK (Software Development Kit) JDK (Java Development Kit) hai cơng cụ cần thiết để lập trình nên ứng dụng Android Và tất nhiên bạn khơng muốn lập trình phần mềm soạn thảo văn cơng cụ lập trình IDE (Integrated development environment) hữu ích tiện lợi Eclipse đƣợc xem công cụ hỗ trợ tốt việc lập trình ứng dụng Android - Android SDK, JDK Eclipse có mặt số phiên hệ điều hành Windows, Mac OS Linux lập trình hệ điều hành mà quen sử dụng Thêm nữa, Android đƣợc thực thi máy ảo Dalvik nên việc phát triển ứng dụng nhƣ mơi trƣờng - Android Studio đƣợc Google thức phát hành phiên Android Studio 0.1 vào tháng 5/2013 (Phiên 1.2.1 – phát hành vào tháng 5/2015 phiên 1.3 đƣợc công bố Google I/O 2015) Là cơng cụ lập trình dựa IntelliJ, cung cấp tính mạnh mẽ ADT nhƣ: o Hỗ trợ xây dựng dự án dạng Gradle o Hỗ trợ sửa lỗi nhanh tái sử dụng cấu trúc phƣơng thức o Cung cấp cơng cụ kiểm tra tính khả dụng, khả họat động ứng dụng, tƣơng thích tảng… o Hỗ trợ bảo mật mã nguồn đóng gói ứng dụng o Trình biên tập giao diện cung cấp tổng quan giao diện ứng dụng thành phần, cho phép tuỳ chỉnh nhiều cấu hình khác o Cho phép tƣơng tác với Google Cloud - Với mục tiêu tạo môi trƣờng phát triển tất một, trải nghiệm nhanh mƣợt IDE khác, Android Studio không ngừng đời phiên cải tiến 2/ Thiết lập môi trƣờng phát triển: - Nhƣ nói trên, ứng dụng Android đƣợc thực thi máy ảo Dalvik nên lập trình nhiều phiên hệ điều hành Cụ thể nhƣ sau: o Microsoft® Windows® 8/7/Vista/2003 (32 or 64-bit) o GB RAM trở lên o Dung lƣợng ổ đĩa ứng cịn trống 400 MB o Ít GB cho Android SDK, emulator system images caches o Độ phân giảm tối thiểu 1280 x 800 o Java Development Kit (JDK) trở lên o Tùy chọn thêm cho accelerated emulator: hỗ trợ xử lý Intel® với phiên bản: Intel® VT-x, Intel® EM64T (Intel® 64), tính Execute Disable (XD) Bit - Để bắt đầu viết ứng dụng với Android Studio, cần tải cài đặt hai phần mềm sau: o Java JDK: http://java.sun.com/javase/downloads/index.jsp (Cài đặt trƣớc hết nên chọn phiên nhất) o Android Studio: http://developer.android.com/sdk/index.html - tải gói Android Studio, gói chứa thành phần: o Android Studio IDE o Android SDK tools o Android 5.0 (Lollipop) Platform o Android 5.0 emulator system image with Google APIs - Sau tải cài Android Studio thành công, chạy tập tin android studio - bundle để tiến hành cài đặt Android Studio → hình Welcome to Android Studio Setup xuất → Next: - Nếu hệ thống không phát JDK máy tính bạn, hộp thoại yêu cầu rõ đƣờng dẫn cài đặt JDK xuất hiện: Nếu có JDK tìm đƣờng dẫn đến nơi cài đặt Sau đó, nhấn Next Hộp thoại lựa chọn cấu hình cài đặt mở → chọn (check) đủ thành phần nhƣ hình bên dƣới → Next: Nếu có JDK tìm đƣờng dẫn đến nơi cài đặt Sau đó, nhấn Next Hộp thoại lựa chọn cấu hình cài đặt mở → chọn (check) đủ thành phần nhƣ hình bên dƣới → Next: Xuất hộp loại thông báo điều khoản số lƣu ý sử dụng Android Studio → chọn I Agree: Xuất hộp thoại yêu cầu chọn nơi cài đặt Android Studio Android SDK nhƣ sau: 10 super.onCreateContextMenu(menu, v, menuInfo); getMenuInflater().inflate(R.menu.context_menu, menu); } o Xử lý kiện Floating Context Menu cách override phƣơng thức oncontextItemSelected() @Override public boolean onContextItemSelected(MenuItem item) { AdpterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); switch (item.getItemId()) { case R.id.edit: editItem(info.id); break; case R.id.delete: deleteItem(info.id); break; } } o Khai báo sử dụng Contextual Action Mode (API level 11) Có kiểu khai báo:  Khai báo dành cho đối tƣợng View: khai báo biến ActionMode call back để khởi tạo hàm onCreateActionMode() private ActionMode.Callback mActionModeCallback = new ActionMode.Callback() { @Override public boolean onCreateActionMode(ActionMode mode, Menu menu) { MenuInflater inflater = mode.getMenuInflater(); inflater.inflate(R.menu.context_menu, menu); return true; } }  Thực override hàm onActionItemClicked() để nhận biết item menu đƣợc gọi thực @Override public boolean onActionItemClicked(ActionMode mode, MenuItem item) { switch (item.getItemId()) { case R.id.menu_share: 53 //Các hàm xử lý return true; default: return false; } } o Gọi thực hàm setOnLongClickListener() ngƣời dùng nhấn giữ lâu đối tƣợng (someView) someView.setOnLongClickListener(new View.OnLongClickListener() { // Called when the user long-clicks on someView public boolean onLongClick(View view) { if (mActionMode != null) { return false; } mActionMode= this.getActivity().startActionMode(mActionModeCallback); view.setSelected(true); return true; } }); o Khai báo dành cho đối tƣợng ViewGroup ListView listView = getListView(); listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); listView.setMultiChoiceModeListener(new MultiChoiceModeListener() { @Override public boolean onActionItemClicked(ActionMode mode, MenuItem item) { } III/ Menu điều khiển tìm kiếm Trong ứng dụng thực thao tác với khối liệu lớn, muốn truy xuất tức thời tập tin ngƣời dùng thƣờng hay bối rối nhiều thời gian để tìm chúng Phần hƣớng dẫn cách tích hợp điều khiển SearchView vào ứng dụng cho phép tìm kiếm dịng liệu ListView Tạo Project, thực kéo ListView vào tập tin activity_main.xml 54 Sau thƣ mục res/menu/ tạo tập tin search_view.xml thực khai báo nhƣ sau: Mở tập tin MainActivity.java, cho lớp MainActivity thực thi giao diện onQueryTextListener tiến hành khai báo biến cần thiết Vào hàm onCreate thực khởi tạo tham chiếu giá trị cho biến khai báo 55 Override phƣơng thức onCreateOptionMenu để thực thêm SearchView vào ActionBar Cuối thực thi hai phƣơng thức truy vấn liệu ngƣời dùng nhập khung SeachView, đơn giản ta gọi phƣơng thức filter để Adapter tự xếp liệu Thực chạy ứng dụng bấm vào biểu tƣợng tìm kiếm, EditText xuất hiện, tiến hành nhập liệu ListView tự động tìm kiếm xếp liệu cho Bài tập: Giao diện ứng dụng chạy 56 Thêm mơn thể thao Màn hình nhập tên mơn thể thao đƣợc hiển thị ngƣời dùng chọn Add 57 Xóa môn thể thao (long click vào tên môn thể thao muốn xóa -> chọn Delete) Thay đổi tên mơn thể thao (long click vào tên môn thể thao muốn thay đổi -> chọn Edit -> Hiển thị hình cho phép thay đổi tên) Lƣu ý tên môn thể thao mà ngƣời dùng chọn trƣớc đƣợc hiển thị hình thay đổi, tên mơn thể thao phải đƣợc nhập trƣơc chọn „Save & Exit‟, hiển thị hình xác nhận ngƣời dùng chọn xử lý „Delete‟ Nếu ngƣời dùng chọn „Yes‟, xóa tên môn thể thao đƣợc chọn 58 BÀI 5: CƠ SỞ DỮ LIỆU TRONG ANDROID Mục tiêu: - Trình bày đƣợc sở liệu SQLite - Sử dụng đƣợc SQLiteManager - Thực đƣợc truy vấn SQLite Android - Thực đƣợc truy vấn, thêm liệu, cập nhật liệu, xóa liệu SQLite Android Nội dung chính: I/ Giới thiệu SQLite SQLite sở liệu mở đƣợc viết dƣới dạng thƣ viện tích hợp nhúng vào Android, hỗ trợ đặc điểm quan hệ chuẩn sở liệu nhƣ cú pháp, transaction, câu lệnh SQLite đƣợc sử dụng rộng rãi ứng dụng di động Android, iOS, Mozilla Firefox sử dụng SQLite để lƣu trữ liệu cấu hình - Với thƣ viện đƣợc tích hợp sẵn SQLite giúp lập trình viên lƣu trữ phục hồi liệu lúc Tuy phiên rút gọn nhƣng SQLite đáp ứng đƣợc hầu hết nhu cầu xử lý liệu Tính linh động SQLite giúp ta thể kiểm soát đƣợc thông tin liệu - Sử dụng SQLite không yêu cầu thiết lập sở liệu đòi hỏi quyền admin - SQLite hỗ trợ kiểu liệu : TEXT, INTEGER, REAL - Đƣờng dẫn sở liệu: DATA/data//databases/FILENAME - Thể liệu dạng bảng quan hệ: o Cột: thể trƣờng liệu (hoặc thuộc tính liệu) o Dòng: thể liệu - Mặc định ứng dụng đƣợc cấp phát thƣ mục cho việc lƣu trữ sở liệu đƣợc dùng ứng dụng Nếu muốn chia sẻ liệu dùng chung ứng dụng ta sử dụng Content Provider II/ Cách sử dụng SQLiteManager 1/ Tao Cơ sở liệu - Tạo sở liệu thông qua lớp SQLiteOpenHelper o SQLiteOpenHelper lớp ảo, SQLiteOpenHelper giúp tạo sở liệu dùng SQLite (vì SQLite khơng hỗ trợ phƣơng thức khởi tạo sở liệu) Vậy để sử dụng đƣợc SQLiteOpenHelper? Vì SQLiteOpenHelper lớp ảo nên ta cần khai báo lớp khác kế thừa lớp o 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) o 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 59 - 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 đó: o Tạo Table có tên: COUNTRY o 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, " + COL_VI_NAME + " text not null);"; public MySQLiteHelper(Context context) { super(context, DB_NAME, null, 1); } } - Lƣu ý: Hàm khởi tạo có thơng số sau: o Context: Biến ngữ cảnh o DB_NAME: Tên sở liệu o 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 để 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) { 60 } 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 hiên 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/ Đóng Cơ sở liêu public void close() { myHelper.close(); } III/ Sao chép liệu SQLite vào hệ thống Với Android ứng dụng đƣợc cách ly vùng để lƣu liệu riêng (vùng không đƣợc truy cập ứng dụng khác), file liệu đƣợc hoạch định nên lƣu /data/data/applicationId/databases/ Trong applicationId ID ứng dụng thiết lập file build.gradle ứng dụng Ví dụ ứng dụng có ID net.xuanthulab.sqlitetutorial nơi lƣu CSDL là: /data/data/net.xuanthulab.sqlitetutoria/databases/ Đây cấu trúc chuẩn, nhiên bạn lƣu DB đâu miễn ứng dụng có quyền truy cập đến thƣ mục Nếu khơng chắn lƣu trữ đâu từ đối tƣợng Context (Activity) xác định vị trí lƣu trữ DB Giả sử DB bạn có tên mydb.db, gọi phƣơng thức sau có đƣợc đƣờng dẫn đầy đủ: String pathdb = getDatabasePath("mydb.db").getPath(); IV/ Truy vấn SQLite Android 1/ Truy vấn với câu lệnh SQL - 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 61 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: o 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} 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 đƣợc đị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) - 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;

Ngày đăng: 30/08/2022, 13:15

TỪ KHÓA LIÊN QUAN

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN