29
BÁO CÁO ANDROID 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

slide bao cao android

  • Upload
    vo-van

  • View
    43

  • Download
    0

Embed Size (px)

DESCRIPTION

slide bao cao android

Citation preview

1

BÁO CÁO ANDROID

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

2NỘI DUNG

DIALOG

EXCEPTION

TOAST NOTIFICATIO

N

3TOAST 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.

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

TOAST NOTIFICATION

5

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();

TOAST NOTIFICATION

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ờ.

DIALOG

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).

DIALOG

8

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.

DIALOG

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()

DIALOG

10DIALOG

ALERTDIALOG

Mục đích Phương thức/Đối tượngTạ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)

11DIALOG

ALERTDIALOGMục đích Phương thức/Đối tượngThiế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)

12

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.

DIALOG

13

PROGRESSDIALOGCó 2 dạng ProgressDialog: Dạng Spin Dạng Horizontal

Spin progressDialog

Horizontal ProgressDialog

DIALOG

14

PROGRESSDIALOGKhở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().

DIALOG

15

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)

DIALOG

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.

DIALOG

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)

DIALOG

18

TIMEPICKERDIALOGTrong đó:

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.

DIALOG

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: 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.

DIALOG

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.

DIALOG

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.

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.

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

25

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.

}

EXCEPTION

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

EXCEPTION

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

EXCEPTION

28

DEMO

29

CẢM ƠN THẦY VÀ CÁC BẠN ĐÃ CHÚ Ý LẮNG NGHE!