1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng Lập trình di động

528 4 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

Định dạng
Số trang 528
Dung lượng 11,71 MB

Nội dung

LẬP TRÌNH DI ĐỘNG Bài 1 Nhập Môn Nội dung 1 Giới thiệu môn học 2 Công cụ học tập 3 Giới thiêu về ngôn ngữ java  Ngôn ngữ lập trình Java  Lập trình hướng đối tượng  Công cụ phát triển Java  Các loạ[.]

LẬP TRÌNH DI ĐỘNG Bài 1: Nhập Mơn Nội dung Giới thiệu môn học Công cụ học tập Giới thiêu ngôn ngữ java       Ngơn ngữ lập trình Java Lập trình hướng đối tượng Công cụ phát triển Java Các loại chương trình Java “Hello, World!” – phiên Java Quá trình thực thi ứng dụng Java TRƯƠNG XUÂN NAM Phần Giới thiệu môn học TRƯƠNG XUÂN NAM Mơn học “lập trình di động”  Tên mơn học xác phải “làm quen với lập trình cho thiết bị di động”  Ta làm quen chút thơi, muốn lập trình thực cần học nhiều  Nên có thiết bị android để thử  Số tín chỉ: (3 lý thuyết)  Tại khơng có thực hành? Vì lý thuyết nhiều, chí tín chưa đủ  Giảng viên: Trương Xuân Nam, khoa CNTT  Email: truongxuannam@gmail.com TRƯƠNG XUÂN NAM Tài liệu học tập  Bài giảng môn học + demo + tài liệu đọc thêm  Tài liệu tham khảo:  Raymond Gallardo, Scott Hommel, Sowmya Kannan, Joni Gordon, Sharon Biocca Zakhour The Java Tutorial: A Short Course on the Basics, 6th edition Online version: https://docs.oracle.com/javase/tutorial/  Dave MacLean, Satya Komatineni, Grant Allen Pro Android Apress, 2015  Online: giảng, tài liệu đọc thêm, điểm số, thông báo,… đưa lên website http://txnam.net, mục BÀI GIẢNG TRƯƠNG XUÂN NAM Kiến thức yêu cầu / nên biết  Kiến thức lập trình C/C++  Kiến thức lập trình hướng đối tượng (cơ bản)  Kiến thức SQL (cơ bản)  Kiến thức XML (cơ bản)  Kiến thức kiến trúc máy tính (đặc biệt thiết bị di động)  Kiến thức hệ điều hành  Đã sử dụng thiết bị di động TRƯƠNG XUÂN NAM Đánh giá kết  Điểm môn học = ĐQT x 40% + ĐTCK x 60%  Điểm trình:  Điểm danh  Thảo luận  Mini project  Điểm thi cuối kỳ:  Vấn đáp trắc nghiệm  Không có giới hạn nội dung thi TRƯƠNG XUÂN NAM Học mơn có lợi gì?  Có kiến thức lập trình cho thiết bị di động  Có hiểu biết sâu sắc hoạt động thiết bị di động phần mềm thiết bị đó, khai thác tốt thiết bị  Có khả viết chương trình đơn giản cho thiết bị di động  Có thêm lựa chọn cho đề tài làm tốt nghiệp  Có điểm mơn học trường TRƯƠNG XUÂN NAM Nội dung môn học (1/2)  Cơ ngôn ngữ lập trình Java  Một số chủ đề chọn lọc lập trình Java  Giới thiệu lập trình di động Android  Activity  Layout điều khiển  Xử lý kiện Tại phải học java? Lập trình android dùng java TRƯƠNG XUÂN NAM Nội dung môn học (2/2)  Intent, Notification Menu  Lưu trữ, SQLite content provider  Dịch vụ Broadcast Receiver  Xử lý đa luồng  Khai thác dịch vụ di động mạng  Các chủ đề nâng cao Tại chọn android? Dễ, thông dụng, thiết bị rẻ TRƯƠNG XUÂN NAM 10 Kinh nghiệm làm việc với sensor  Nhất thiết phải giải phóng sensor khơng cần thiết, không ứng dụng hao pin  Hệ thống không tự động tắt sensor kể tắt hình  Chú ý làm việc với thơng số 3D: chiều bị hốn đổi vị trí người sử dụng đặt thiết bị theo chiều âm (ví dụ: máy bị lật úp)  Nên kiểm thử thiết bị thật hiệu chỉnh độ nhạy  Kết hợp nhiều sensor để thiết bị “nhạy cảm” TRƯƠNG XUÂN NAM 26 Kinh nghiệm làm việc với sensor TRƯƠNG XUÂN NAM 27 Phần 2.1 Giới thiệu animation TRƯƠNG XUÂN NAM 28 Animations – nguyên tắc  Animation: tập hợp API cho phép biến đổi view thời gian ngắn (từ android 3.0)  Tạo animation theo nhiều cách:  Định nghĩa XML (folder “res/anim/”) nạp câu lệnh AnimationUtils.loadAnimation  Tạo code: tạo biến đối tượng phù hợp  Các animation ghép với thành để thực nhiều hiệu ứng (gọi AnimationSet)  (advanced) Tự tạo animation: kế thừa Animation viết lại applyTransformation 29 Animations – nguyên tắc  Các animation cung cấp Android  AlphaAnimation: Thay đổi độ suốt đối tượng • Fade In / Fade Out • Blink  RotateAnimation: Xoay đối tượng  ScaleAnimation: Thay đổi kích thước • Zoom In / Zoom Out • Slide Up / Slide Down • Bounce  TranslateAnimation: Dịch chuyển đối tượng  Bằng cách điều chỉnh tham số ta tạo animation khác 30 Phần 2.2 Tạo animation XML Code TRƯƠNG XUÂN NAM 31 Animations – XML vs Code  Ví dụ XML: res/animator/fadein.xml // nạp animation từ XML để sử dụng Animation ani = AnimationUtils.loadAnimation(this, R.animator.fadein);  Ví dụ tạo animation code: Animation ani = new AlphaAnimation(1, 0); ani.setInterpolator(new AccelerateInterpolator()); ani.setDuration(1000);  Sử dụng animation: myView.startAnimation(ani); 32 Animations – XML vs Code Một số thuộc tính quan trọng  android:duration: thời gian chạy hiệu ứng (ms)  android:startOffset: thời điểm bắt đầu chạy (ms)  android:fillAfter: có giữ lại trạng thái sau hiệu ứng khơng (true/false)  android:repeatCount: số lần lặp lại hiệu ứng  android:repeatMode: chế độ lặp (RESTART | REVERSE)  android:interpolator: kiểu diễn biến hiệu ứng • "@android:anim/accelerate_interpolator“ • “@android:anim/ accelerate_decelerate_interpolator” •… 33 Animations – XML vs Code Có thể xử lý kiện hiệu ứng bắt đầu, kết thúc lặp lại AnimationListener rotAni.setAnimationListener(new AnimationListener() { // kết thúc hiệu ứng public void onAnimationEnd(Animation arg0) { layerImage.setVisibility(View.INVISIBLE); layerButtons.setVisibility(View.VISIBLE); } // chuẩn bị lặp lại hiệu ứng public void onAnimationRepeat(Animation arg0) { } // bắt đầu hiệu ứng public void onAnimationStart(Animation arg0) { } }); 34 Animations – Interpolator  Interpolator: trình điều khiển trình thực hiệu ứng  Một số Interpolator thông dụng:      AccelerateDecelerateInterpolator: chậm-nhanh-chậm AccelerateInterpolator: nhanh dần DecelerateInterpolator: chậm dần CycleInterpolator: lặp lại animation theo chu kì LinearInterpolator: tuyến tính, khơng đổi  Có thể tự viết interpolator riêng muốn (phải tìm hiểu thêm Interpolator.Result) TRƯƠNG XUÂN NAM 35 Animations – set of animations 36 Animations – example public class MainActivity extends Activity { Animation x; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); x = AnimationUtils.loadAnimation(this, R.animator.abc); } public void btnAni(View v) { View t = findViewById(R.id.editText1); t.startAnimation(x); } } TRƯƠNG XUÂN NAM 37 Phần 2.3 Drawable animation TRƯƠNG XUÂN NAM 38 Drawable Animation  kiểu animations Android:  Property animation: gốc animation  View animation: animation view sử dụng image  Drawable animation: animation view sử dụng dãy image  Drawable Animation: hoạt hình dãy ảnh TRƯƠNG XUÂN NAM 39 Drawable Animation: ví dụ AnimationDrawable rocketAnimation; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image); rocketImage.setBackgroundResource(R.drawable.rocket_thrust); rocketAnimation = (AnimationDrawable) rocketImage.getBackground(); } public boolean onTouchEvent(MotionEvent event) { if (event.getAction() != MotionEvent.ACTION_DOWN) return super.onTouchEvent(event); rocketAnimation.start(); return true; } TRƯƠNG XUÂN NAM 40

Ngày đăng: 02/10/2023, 13:39

w