Toast trong lúc hiển thị, không ảnh hưởng đến activity khác và không bắt các sự kiện của người dùng... TỔNG QUAN Dialog là một cửa sổ nhỏ hiển thị trên activity hiện hành, dùng để t
Trang 11
TOAST NOTIFICATION – DIALOG – EXCEPTION
TRONG ANDROID
GVHD: HỒ NGỌC TÚ SVTH: NHÓM 6
• NGUYỄN TẤN CHÂU
• PHẠM PHI HOÀNG
Trang 3TOAST NOTIFICATION
TỔNG QUAN
Là một dạng popup message hiển thị
trên màn hình
sẽ có kích cỡ tương ứng khi hiển thị
Toast tự động hiển thị trong thời gian
được cho trong duration
Toast trong lúc hiển thị, không ảnh
hưởng đến activity khác và không bắt các sự kiện của người dùng
3
Trang 4 CÁCH SỬ DỤNG
Để hiển thị một toast, đơn giản như sau:
Toast makeText ( this , "Your download has resumed." , Toast LENGTH_LONG ) show() ; Trong đó:
context: application context
message: Nội dung message
duration: Thời gian hiển thị
show(): Hàm hiển thị Toast
4
TOAST NOTIFICATION
Trang 5Toast có thể được tùy biến giao diện:
Trang 6 TỔNG QUAN
Dialog là một cửa sổ nhỏ hiển thị trên activity hiện hành, dùng để thông báo hay cung cấp một vài chức năng nhỏ đến người sử dụng
Các loại Dialog:
AlertDialog: hiển thị thông báo đến người dùng, có chứa một số đối tượng điều khiển như: Button, CheckBox, Radio Button, v.v…
ProgressDialog: hiển thị tiến độ một công việc nào đó
DatePickerDialog: cho phép người dùng chọn lịch ngày
TimePickerDialog: cho phép người dùng chọn giờ
6
DIALOG
Trang 7 Để tạo Dialog, Android hỗ trợ 2 cách sau:
Tạo trong sự kiện onCreateDialog(int)
Tạo khi cần hiển thị Dialog
Android khuyến khích sử dụng sự kiện
onCreate(int)
7
DIALOG
Trang 9 ALERTDIALOG
Để khởi tạo AlertDialog, ta phải sử dụng lớp con là
AlertDialog.Builder:
AlertDialog.Builder build = new AlertDialog.Builder(context)
Sau khi build xong, thì gọi create để tạo object của
AlertDialog từ builder đó:
AlertDialog ad = build.create()
9
DIALOG
Trang 1010
DIALOG
ALERTDIALOG
Mục đích Phương thức/Đối tượng
Tạo đối tượng để xây dựng AlertDialog AlertDialog.Builder builder = new AlertDialog.Builder(this);
Thiết lập tiêu đề setTitle(CharSequence title) hoặc setTitle(int titleId)
Thiết lập thông điệp setMessage(CharSequence message) hoặc setMessage(int
messageId)
Thiết lập Icon setIcon(Drawable icon) hoặc setIcon(int iconId)
Thiết lập danh sách setItems(CharSequence[] items,
DialogInterface.OnClickListener listener) hoặc setItem(int itemsId, DialogInterface.OnClickListener listener)
Thiết lập danh sách chứa Radio Buttons setSingleChoiceItems(CharSequence[] items, int
checkedItem, DialogInterface.OnClickListener listener) hoặc setSingleChoiceItems(int itemsId, int checkedItem,
DialogInterface.OnClickListener listener)
Trang 1111
DIALOG
ALERTDIALOG
Mục đích Phương thức/Đối tượng
Thiết lập danh sách chứa CheckBox setMultiChoiceItems(CharSequence[] items, boolean[]
checkedItems, DialogInterface.OnClickListener listener) hoặc setMultiChoiceItems(int itemsId, boolean checkedItems, DialogInterface.OnClickListener listener)
Thiết lập Positive Button setPositiveButton(CharSequence text,
DialogInterface.OnClickListener listener) hoặc setPositiveButton(int textId, DialogInterface.OnClickListener listener)
Thiết lập Negative Button setNegativeButton(CharSequence text,
DialogInterface.OnClickListener listener) hoặc setNegativeButton (int textId,
DialogInterface.OnClickListener listener)
Thiết lập Neutral Button setNeutralButton(CharSequence text,
DialogInterface.OnClickListener listener) hoặc setNeutralButton (int textId, DialogInterface.OnClickListener listener)
Trang 1212
DIALOG
Trang 14 PROGRESSDIALOG
Khởi tạo ProgressDialog như sau:
ProgressDialog mProgressDialog = new ProgressDialog(this);
Các phương thức dùng để thiết lập ProgressDialog:
setProgressStyle():
ProgressDialog.STYLE_SPINNER/ProgressDialog.STYLE_HORIZONTAL
setTitle(): là phương thức dùng để thiết lập tiêu đề cho ProgressDialog
setMessage(): là phương thức dùng để thiết lập thông điệp cho ProgressDilog
Riêng đối với Horizontal ProgressDialog, chúng ta phải thiết lập thêm chiều dài thanh ngang trong Dialog thông qua phương thức setMax()
14
DIALOG
Trang 1515
DIALOG
Trang 16 DATEPICKERDIALOG
Trong đó:
context: là ngữ cảnh hiển thị Dialog Trong trường
hợp này là Activity hiện hành
callback: dùng để thiết lập sự kiện khi người dùng
thay đổi ngày trên Dialog
year: thiết lập năm trên Dialog
monthOfYear: thiết lập tháng trên Dialog
dayOfMonth: thiết lập ngày trên Dialog
16
DIALOG
Trang 17 TIMEPICKERDIALOG
TimePickerDialog dùng để chọn ngày tháng
Phương thức khởi tạo DatePickerDialog như sau:
TimePickerDialog(Context context ,
DatePickerDialog.OnDateSetListener callback , int hourOfDay ,
int minute , boolean is24HourView )
17
DIALOG
Trang 18 TIMEPICKERDIALOG
Trong đó:
context: là ngữ cảnh hiển thị Dialog Trong trường hợp này
là Activity hiện hành
callback: dùng để thiết lập sự kiện khi người dùng thay đổi
giờ phút trên Dialog
hourOfDay: thiết lập giờ trên Dialog
minute: thiết lập phút trên Dialog
is24HourView: chỉ định giờ hiển thị theo dạng 24h hay 12h
18
DIALOG
Trang 19 CUSTOM DIALOG
Là dạng Dialog có giao diện theo thiết kế của người lập trình,
có thể bao gồm cả ImageView, TextView, EditText, v.v…
Các phương thức để thiết lập Custom Dialog:
cho Dialog
19
DIALOG
Trang 20 XỬ LÝ SỰ KIỆN TRÊN DIALOG
Các Button, Item trên Dialog cũng được xử lý như các Button, Item bình thường
20
DIALOG
Trang 21EXCEPTION
GIỚI THIỆU
Exception là một loại lỗi đặc biệt, lỗi này xuất hiện
vào lúc thực thi chương trình
Các trạng thái không bình thường xảy ra trong khi
thi hành chương trình tạo ra các exception
Những trạng thái này không được biết trước trong
khi ta đang xây dựng chương trình
Nếu không xử lý các trạng thái này thì chương
trình có thể bị kết thúc đột ngột
21
Trang 22 MỤC ĐÍCH CỦA VIỆC XỬ LÝ NGOẠI LỆ
Một chương trình nên có cơ chế xử lý ngoại lệ thích hợp Nếu không, chương trình sẽ bị ngắt khi một ngoại lệ xảy ra
Tránh lãng phí tài nguyên hệ thống
22
EXCEPTION
Trang 25{
// khối lệnh nay luôn được thực hiện cho dù ngoại lệ có
xảy ra hay không.
}
25
EXCEPTION
Trang 26 MỘT SỐ EXCEPTION THÔNG DỤNG
RuntimeException Lớp cơ sở cho nhiều ngoại lệ java.lang
ArthmeticException Trạng thái lỗi về số, ví dụ như ‘chia cho 0’
IllegalAccessException Lớp không thể truy cập
IllegalArgumentException Phương thức nhận một đối số không hợp lệ
ArrayIndexOutOfBoundsExeption Kích thước của mảng lớn hơn 0 hay lớn hơn kích thước thật sự của mảng
NullPointerException Khi muốn truy cập đối tượng null
SecurityException Việc thiết lập cơ chế bảo mật không được hoạt động
26
EXCEPTION
Trang 27 MỘT SỐ EXCEPTION THÔNG DỤNG
ClassNotFoundException Không thể nạp lớp yêu cầu
NumberFormatException Việc chuyển đối không thành công từ chuỗi sang số thực
AWTException Ngoại lệ về AWT
IOException Lớp cha của các ngoại lệ I/O
FileNotFoundException Không thể định vị tập tin
EOFException Kết thúc một tập tin
NoSuchMethodException Phương thức yêu cầu không tồn tại
InterruptedException Khi một luồng bị ngắt
27
EXCEPTION
Trang 28DEMO
28
Trang 29CẢM ƠN THẦY VÀ CÁC BẠN ĐÃ CHÚ Ý LẮNG NGHE!