Vòng đời ứng dụng

Một phần của tài liệu Ngôn ngữ lập trình dart cơ bản (Trang 120 - 123)

Vòng đời ứng dụng Flutter có thể hiểu là một chu trình quản lý trạng thái (State) của một màn hình ứng dụng.

Một ứng dụng Flutter có nhiều màn hình khác nhau và mỗi màn hình đều có sự thiết lập chu trình quản lý trạng thái(State).

Như vậy khái niệm vòng đời của ứng dụng Flutter, chính là vòng đời của trạng thái(State)

Vì là quản lý theo trạng thái (State) nên chúng ta chia làm hai loại có State (Stateful) và không có State(Stateless)

Vì chỉ sử dụng StatelessWidget, màn hình ứng dụng chỉ đơn thuần là nhận và hiển thị dữ liệu, không liên quan đến State nên không có vòng đời.

Việc ghi đè(@Override) phương thức build là dùng để render Graphic UI( user Interface), hiển thị lên màn hình cho người dùng.

Vòng đời ứng dụng chỉ dùng StatefulWidget

Xây dựng màn hình ứng dụng StatefulWidget tức là liên quan đến việc quản lý State. Vì nó cần chu trình quản lý trạng thái.

Trong một vòng đời có 7 trạng thái đó là: createState, initState, didChangeDependences, build, didUpdateWidget, dective, dispose.

+ CreateState: Khi tạo class kế thừa StatefulWidget, hàm khởi tạo sẽ được yêu cầu gọi

đầu tiên, bằng cách ghi đề phương thức createState.

@override

_MyHomePageState createState() => _MyHomePageState();

Hoặc: @override

// TODO: implement createState return _MyHomePageState(); }

+ initState()

Hàm này được gọi ngay khi widget được tạo. Nếu bạn đã lập trình native Android thì nó tương tự như OnCreate().

+ didChangeDependencies()

Hàm được gọi ngay sau khi hàm initState() và được gọi lại khi dependency của State thay đổi.

+ build()

Hàm này được gọi sau khi didChangeDependencies(). Tất cả graphic UI(User Interface) sẽ được render trong này.

Hàm này được gọi khi widget configuration thay đổi. Sau khi hàm này được gọi thì

hàm build sẽ được gọi, như vậy hàm setState được sử dụng trong hàm didUpdateWidget sẽ bị bỏ qua.

+ deactivate()

Hàm này được gọi khi State bị gỡ khỏi cay widget nhưng nó thể xác nhận lại trước khi quá trình xóa kết thúc.

+ dispose()

Hàm này được gọi khi State bị gỡ ngay lập tức khỏi cây widget và khi đó State không bao giờ đươc build trở lại.

6. Những điều cần nhớ :

- Các màn hình ứng dung Flutter được tạo bởi các Widget

- Hàm setState trong class kế thừa StatefulWidget, giúp set lại State và build lại màn hình mỗi khi được gọi đến.

- StatelessWidget - class kế thừa widget này, chỉ nhận và hiển thị dữ liệu đơn thuần không liên quan đến state và không có vòng đời. (adsbygoogle = window.adsbygoogle || []).push({});

- StatefulWidget - class kế thừa widget này để tạo màn hình ứng dụng có vòng đời gồm 7 trạng thái là: createState(), initState(),didChangeDependencies, build,didUpdateWidget, deactive, dispose.

Một phần của tài liệu Ngôn ngữ lập trình dart cơ bản (Trang 120 - 123)