30/09/2018, 18:36

Tại sao phải dùng Fragment mà không chỉ dùng toàn Activity?

Em có một activity LoginActivity( có 2 nút đăng nhập đăng ký ). Khi click vào nut đăng ký thì nó start một activity khác là SignupActivity extends FragmentActivity. Lạ ở chỗ là file layout activity_signup.xml lại chỉ có như thế này

trong onCreate của SignupActivity nó làm như sau:

Đoạn code trên gọi đến một cái Fragment là Signup_fragment (có file signup_fragment.xml và chính cái file này nó mới hiển thị nội dung khi ta ấn nút đăng ký).
Tiếp theo fragment này nó lại gọi đến một fragment khác để điền thông tin cá nhân.
Vấn đề ở đây là tại sao ngta lại không dùng toàn là Activity mà lại phải dùng Fragment. Giao diện cũng không cần phân nhiều mảnh, vì nó đơn giản chỉ là các form đăng ký.

Thành Phạm viết 20:47 ngày 30/09/2018

Bạn đọc thêm ở đây nhá nói chung dùng fragment thì nó linh hoạt hơn với cả có tính đóng gói hơn là chỉ dùng activity (tính đóng gói sẽ giúp bạn phát triển thêm sau này dễ hơn)

techmaster.vn

10 Lỗi phổ biến của lập trình viên Android (phần 1)

Android là một nền tảng được nhiều người ưa thích, vừa miễn phí vừa dễ tùy biến nên đã nhanh chóng phát triển và có mặt trên nhiều loại thiết bị như điện thoại, máy tính bảng, đồng hồ thông minh, tivi, ô tô.


http://minhvt84.blogspot.com/2014/05/fragment.html

Lỗi thứ tư: không dùng Fragments
Một thời gian trước trên Honeycomb, Android giới thiệu khái niệm Fragments. Bạn có thể xem nó như là các khối được xây dựng riêng biệt với vòng đời riêng trong một Activity. Nó hỗ trợ rất nhiều trong việc tối ưu cho các loại màn hình, đồng thời dễ dàng được quản lý bởi activity cha, có thể sử dụng lại, kết hợp và bố trí theo ý muốn.

Chạy từng activity riêng cho mỗi màn hình ứng dụng sẽ có hiệu quả rất tệ khi hệ thống phải cố lưu trữ chúng trong bộ nhớ lâu hết mức có thể. Tắt một cái trong số đó cũng không giải phóng các tài nguyên được sử dụng bởi những cái còn lại.

http://techmaster.vn/fileman/Uploads/toptal-blog-image-1415711688418.png

Nếu bạn không muốn đào sâu nghiên cứu về core Android hay phản đối việc sử dụng fragment thì bạn nên dùng fragments bất cứ khi nào có thể. Cơ bản thì fragments và cursor loaders có mục đích tốt nhưng cách thực hiện thì khá thô.

caybang viết 20:36 ngày 30/09/2018

vậy tại sao 1 ngôi nhà mà dùng nhiều cái cửa mà không dùng 1 cửa thôi. ! hehe

bạn cứ làm nhiều ứng dụng lúc đó bạn sẽ hiểu Fragment nó có tác dụng ntn.

Hnib viết 20:44 ngày 30/09/2018

Thật ra theo mình thì đây là hạn chế của Android SDK. Android nên tối ưu Activity để nó có thể hoạt động giống như Fragment có nghĩa là có khảo năng linh hoạt khi thay đổi layout, giải phóng bộ nhớ này nọ…
Ngay cả việc handle xoay màn hình, Android cũng bắt lập trình viên phải khổ sở mà ko tự mình làm những công việc này.

Android nên tiến thêm một bước nữa…

Điệp viết 20:48 ngày 30/09/2018

Mình ghét Fragment -_- nên từ đó mình chuyển qua dùng Dialog có setView

Quân viết 20:47 ngày 30/09/2018

Thật ra Fragment bạn hiểu nó có vòng đời tương tự Activity nhưng 1 Activity có thể ghép nhiều Fragment lại với nhau hỗ trợ khả năng đa màn hình. Với màn hình to thì hiển thị thế này, với màn hình nhỏ thì hiển thị thế nọ. Việc nhận biết và thay đổi giao diện với các màn hình linh hoạt và có tính sử dụng lại.

Fragment cũng có những ưu điểm là tiết kiệm và tối ưu nhiều thứ như bạn @thanhmssl10 nói.

Nếu bạn đã học Java swing thì có thể coi nó tương tự như các JPanel vậy.

Bài liên quan
0