Tôi biết rằng nó Activities
được thiết kế để đại diện cho một màn hình duy nhất của ứng dụng của tôi, trong khi Fragments
được thiết kế để bố trí UI có thể sử dụng lại với logic được nhúng bên trong chúng.
Cho đến cách đây không lâu, tôi đã phát triển một ứng dụng vì nó nói rằng chúng nên được phát triển. Tôi đã tạo một Activity
để thể hiện một màn hình ứng dụng của mình và sử dụng Fragment cho ViewPager
hoặc Google Maps
. Tôi hiếm khi tạo một ListFragment
hoặc một giao diện người dùng khác có thể được sử dụng lại nhiều lần.
Gần đây tôi tình cờ thấy một dự án chỉ có 2 Activities
cái là một SettingsActivity
và cái khác là cái MainActivity
. Bố cục của MainActivity
được điền với nhiều đoạn UI toàn màn hình ẩn và chỉ có một đoạn được hiển thị. Trong Activity
logic có nhiều FragmentTransitions
giữa các màn hình khác nhau của ứng dụng.
Điều tôi thích về cách tiếp cận này là vì ứng dụng sử dụng một ActionBar
, nó vẫn nguyên vẹn và không di chuyển với hoạt hình chuyển đổi màn hình, đó là những gì xảy ra với Activity
việc chuyển đổi. Điều này mang lại cảm giác trôi chảy hơn cho những chuyển đổi màn hình.
Vì vậy, tôi đoán những gì tôi đang hỏi là chia sẻ cách phát triển hiện tại của bạn về chủ đề này, tôi biết nó có thể giống như một câu hỏi dựa trên ý kiến từ cái nhìn đầu tiên nhưng tôi xem nó như một câu hỏi về thiết kế và kiến trúc Android ... Không thực sự là một câu hỏi ý kiến dựa trên một.
CẬP NHẬT (01.05.2014): Theo bài thuyết trình này của Eric Burke từ Square , (mà tôi phải nói là một bài thuyết trình tuyệt vời với rất nhiều công cụ hữu ích cho các nhà phát triển Android. Và tôi không liên quan đến Square)
http://www.infoq.com/presentations/Android-Design/
Từ kinh nghiệm cá nhân của tôi trong vài tháng qua, tôi thấy rằng cách tốt nhất để xây dựng các ứng dụng của mình là tạo các nhóm các mảnh vỡ để thể hiện một dòng chảy trong ứng dụng và trình bày tất cả các đoạn đó trong một Activity
. Vì vậy, về cơ bản, bạn sẽ có cùng số lượng Activities
trong ứng dụng của mình với số lượng luồng. Bằng cách đó, thanh hành động vẫn nguyên vẹn trên tất cả các màn hình của luồng, nhưng đang được tạo lại khi thay đổi luồng có ý nghĩa rất lớn. Như Eric Burke tuyên bố và như tôi đã nhận ra, triết lý sử dụng càng ít Activities
càng tốt không thể áp dụng cho tất cả các tình huống vì nó tạo ra một mớ hỗn độn trong cái mà ông gọi là hoạt động "Thượng đế".