1
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
2
DIALOG
EXCEPTION
TOAST
NOTIFICATION
TOAST NOTIFICATION
TỔNG QUAN
Là một dạng popup message hiển thị
trên màn hình.
Tùy thuộc vào message mà popup toast
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
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
Toast có thể được tùy biến giao diện:
LayoutInflater li = getLayoutInflater();
View v = li.inflate(R.layout.
toast_layout, (ViewGroup)findViewById(R.id.my_toast_layout_root));
Toast t = new Toast(getApplicationContext());
t.setView(v);
t.setDuration(Toast.
LENGTH_LONG);
t.setGravity(Gravity.
CENTER_VERTICAL, 0, 0);
t.show();
5
TOAST NOTIFICATION
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
Để 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
ALERTDIALOG
Giao diện hiển thị của nó gồm nhiều thành phần
như sau:
Tiêu đề.
Thông điệp thông báo.
Buttons.
Danh sách chứa các CheckBox hay Radio
Button.
8
DIALOG
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
10
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)
11
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)
PROGRESSDIALOG
ProgressDialog là loại Dialog dùng để hiển thị
tiến độ thực hiện một công việc nào đó.
Dạng Dialog này được tạo ra từ lớp cha là
AlertDialog.
Ngoài những tính chất riêng, nó cũng kế thừa
nhiều thuộc tính từ lớp cha AlertDialog như:
Tiêu đề, Thông điệp, Buttons.
12
DIALOG
PROGRESSDIALOG
Có 2 dạng ProgressDialog:
Dạng Spin
Dạng Horizontal
13
Spin progressDialog Horizontal ProgressDialog
DIALOG
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
DATEPICKERDIALOG
DatePickerDialog dùng để chọn ngày tháng.
Phương thức khởi tạo DatePickerDialog như
sau:
DatePickerDialog(Context context,
DatePickerDialog.OnDateSetListener callback, int year,
int monthOfYear, int dayOfMonth)
15
DIALOG
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
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
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
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:
dlg = new Dialog(context): cấp phát bộ nhớ cho Dialog.
dlg.setContentView(R.layout.IdDialog): chỉ định giao diện
cho Dialog.
dlg.setTitle(): thiết lập tiêu đề cho Dialog.
19
DIALOG
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
EXCEPTION
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
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
23
XỬ LÝ NGOẠI LỆ
try
{
// đoạn mã có khả năng gây ra ngoại lệ
}
catch(Exception e1)
{
// Nếu các lệnh trong khối ‘try’ tạo ra ngoại lệ có loại e1, thì thực hiện //xử lý
ngoại lệ nếu không
}
EXCEPTION
24
catch(Exception e2)
{
// Nếu các lệnh trong khối ‘try’ tạo ra ngoại lệ có loại e2, thì thực hiện //xử lý
ngoại lệ nếu không chuyển xuống khối 'catch' tiếp theo
}
catch(Exception eN)
{
// Nếu các lệnh trong khối ‘try’ tạo ra ngoại lệ có loại eN, thì thực hiện //xử lý
ngoại lệ nếu không chuyển xuống khối 'catch' tiếp theo
}
EXCEPTION
finally
{
// 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