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ý.
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)
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
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.
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…
Mình ghét Fragment -_- nên từ đó mình chuyển qua dùng Dialog có setView
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.