Tổng quan về các ứng dụng trên điện thoại di động

Một phần của tài liệu (LUẬN văn THẠC sĩ) kiểm chứng giao diện phần mềm bằng phương pháp mô hình hóa event b (Trang 38 - 42)

Chƣơng 1 GIỚI THIỆU

4.1. Tổng quan về các ứng dụng trên điện thoại di động

Sự bùng nổ về công nghệ thông tin và việc gia tăng sử dụng điện thoại di động, kèm với sự cạnh tranh mạnh mẽ trong lĩnh vực công nghệ điện thoại di động gần đây đã tạo ra bước phát triển cũng như là những hướng đi mới đó là lập trình trên thiết bị di động đã và đang trở thành một lĩnh vực đầy tiềm năng. Có rất nhiều nền tảng, các hệ điều hành khác nhau mà chúng ta có thể dựa trên đó để xây dựng ứng dụng như IOS, Android, Windows Phone, … Nhưng hiện nay đối với những nhà phát triển và các lập trình viên muốn xây dựng một ứng dụng di động một cách nhanh chóng, hiệu quả và có một thị trường tiềm năng thì Android là một lựa chọn tuyệt vời [10].

Android là một trong các hệ điều hành được ưa chuộng nhất hiện nay, có tính bảo mật cao, hỗ trợ nhiều công nghệ tiên tiến, tương thích với nhiều phần cứng và liên tục được cập nhật và phát triển bởi google. Với ưu thế là mã nguồn mở và được đông đảo cộng đồng yêu thích, Android đã thu hút rất nhiều nhà phát triển từ khắp mọi nơi trên thế giới và đang dần khẳng định vị thế. Nhờ Android mà hàng loạt các ứng dụng games, ứng dụng di động gia tăng một cách nhanh chóng.

Để phát triển ứng dụng trên nền Android thì người lập trình cần có kiến thức nền tảng về Java cùng với bộ công cụ hỗ trợ đi kèm tương đối mạnh có giao diện đồ họa dễ sử dụng và luôn được cập nhật như Eclipse, Android Studio, Genymotion, các bộ thư viện JDK, Android SDK,…, chúng được cung cấp một cách hoàn toàn miễn phí cho người phát triển và tất cả mọi người.

4.1.1. Các thành phần cơ bản của một ứng dụng Android

Các thành phần tạo nên một ứng dụng Android được chia làm 6 loại bao gồm [10]:

Activity đại diện cho một màn hình duy nhất với một giao diện người

dùng mà ở đó người dùng có thể quan sát và tương tác. Ví dụ như một ứng dụng email có một Activity hiển thị danh sách các email, một Activity khác cung cấp một giao diện để soạn thảo email, và một Activity khác nữa cung cấp một giao diện để đọc email,…

Service là thành phần chạy ẩn trong Android. Service sử dụng để update

dữ liệu, đưa ra các cảnh báo (Notification) và không bao giờ hiển thị cho người dùng thấy.

Content Provider kho dữ liệu chia sẻ. Content Provider được sử dụng để

quản lý và chia sẻ dữ liệu giữa các ứng dụng.

Intent nền tảng để truyền tải các thông báo. Intent được sử dụng để gửi

các thông báo đi nhằm khởi tạo 1 Activity hay Service để thực hiện công việc mong muốn. VD: khi mở 1 trang web, ta gửi 1 Intent đi để tạo 1 Activity mới hiển thị trang web đó.

Broadcast Receiver thành phần thu nhận các Intent bên ngoài gửi tới.

VD: nếu viết 1 chương trình thay thế cho phần gọi điện mặc định của Android, khi đó ta cần 1 Broadcast Receiver để nhận biết các Intent là các cuộc gọi tới.

Notification đưa ra các cảnh báo mà không làm cho các Activity phải

ngừng hoạt động.

4.1.2. Cơ chế quản lý các Activity

Actitvity là thành phần quan trọng nhất và đóng vai trò chính trong xây dựng ứng dụng Android. Hệ điều hành Android quản lý Activity theo dạng stack: khi một Activity mới được khởi tạo, nó sẽ được xếp lên đầu của stack và trở thành running activity, các Activity trước đó sẽ bị tạm dừng và chỉ hoạt động

trở lại khi Activity mới được giải phóng. Một Activity có thể khởi chạy các Activity khác. Mỗi lần một Activity mới được khởi chạy thì Activity trước đó bị stop và hệ thống sẽ lưu Activity stop này vào một back stack. Việc quay lại các Activity trước đó (khi người dùng nhấn vào nút back trên thiết bị chẳng hạn) thì hệ thống chỉ đơn giản lấy các Activity đã lưu trữ trong back stack, và Activity được lấy trong back stack này tiếp tục sẽ được hiển thị lên màn hình người dùng. Back stack kể trên được mô tả trong Hình 4.1, được tổ chức theo đúng tiêu chí của một stack, đó là “vào sau, ra trước” [10].

Hình 4.1 Cơ chế Back Stack [10].

Activity bao gồm 4 state [10]:

- active (running): Activity đang hiển thị trên màn hình (foreground).

- paused: Activity vẫn hiển thị (visible) nhưng không thể tương tác (lost focus). - stop: Activity bị thay thế hoàn toàn bởi Activity mới sẽ tiến đến trạng thái stop. - killed: Khi hệ thống bị thiếu bộ nhớ, nó sẽ giải phóng các tiến trình theo nguyên tắc ưu tiên hoặc khi kết thúc ứng dụng.

Một phần của tài liệu (LUẬN văn THẠC sĩ) kiểm chứng giao diện phần mềm bằng phương pháp mô hình hóa event b (Trang 38 - 42)