2012-10-25 45 views
5

Nếu tôi cần thực hiện 10 hoạt động tương tự, tốt hơn tôi nên làm:Android: tốt hơn để thực hiện nhiều hoạt động hay 1 hoạt động thay đổi khi đang bay?

  • 10 hoạt động và bố cục 10?
  • 1 hoạt động và 10 bố cục?
  • 1 hoạt động và thay đổi giao diện người dùng có khả năng hiển thị biến mất/hiển thị?

Tôi cần một câu trả lời cho:

  1. hiệu suất
  2. thức
+0

Có thể sẽ dễ dàng mã hóa nhiều hoạt động hơn và bạn có thể nhận được lợi ích từ các sự kiện như OnResume(). – user1032613

Trả lời

6

Nếu bạn sử dụng nhiều hoạt động, bạn sẽ nhận được lợi thế của việc sử dụng cơ chế hoạt động ngăn xếp android. Vì vậy, nếu bạn muốn người dùng của mình có thể điều hướng bằng nút quay lại thì đó là đặt cược tốt nhất.

Ngoài ra, nếu hoạt động của bạn rất giống nhau, bạn có thể triển khai mã chung trong lớp trừu tượng và làm cho 10 hoạt động của bạn mở rộng lớp phổ biến này, do đó chia sẻ một số mã.

public abstract class CommonBehaviorActivity extends Activity { 
    protected void buildCommonThings() { 
     ((TextView)findViewById(R.id.title)).setText(getTitle()); 
     ((ImageView)findViewById(R.id.image)).setDrawable(...); 
     } 

    abstract protected String getTitle(); 
} 

public class MyActivity1 extends CommonBehaviorActivity { 
    ... 
    protected String getTitle() { 
     return "Title 1"; 
     } 
} 

và vân vân ...

Edit: gia tăng một số mẫu mã để hiển thị như thế nào để chia sẻ những điều mà bạn muốn xem trong mỗi tiểu hoạt động. Ví dụ, nếu bạn có một danh sách trong mỗi hoạt động, thì bạn có thể xác định một bộ điều hợp cụ thể trong các hoạt động phụ trong phương thức getAdapter() và liên kết danh sách của bạn với bộ điều hợp này trong CommonBehaviorActivity cũng như định cấu hình nó. trên ...)


Mặt khác, nếu bạn muốn chuyển đổi nhanh giữa các hoạt động và bạn không cần phải "quay lại" bằng nút, thì có thể nhìn thấy/đi xem có lẽ tốt hơn.

+0

cho hoạt động là tất cả rõ ràng .. nhưng để bố trí? khi tôi làm bố trí xml tôi có thể làm một "tiêu đề + phần biểu tượng" bố trí rằng nó là như nhau cho mỗi bố trí? tôi đang hiểu rằng đây là những điều mảnh vỡ, phải không? (xin lỗi vì tiếng anh của tôi :() – Atomico

+0

ok tôi đã tìm thấy nó ..có để sử dụng phần xml khác .. ty – Atomico

1

Thực hiện một số hoạt động sẽ làm cho mã của bạn dễ đọc hơn và dễ gỡ lỗi hơn vì bạn sẽ không đối phó với các điều kiện quá mức nếu có. Sẽ không có chi phí hoạt động: Các hoạt động tải nhanh và Android quản lý backstack và giải phóng ký ức bằng cách giết chết các hoạt động bị tạm dừng khi cần (điều này sẽ không xảy ra với trường hợp duy nhất).

Nếu hoạt động của bạn tương tự nhau, bạn có thể đặt các tính năng trong các lớp riêng biệt và sử dụng lại chúng trên các hoạt động. Idem cho bố trí, bạn có thể thiết kế chúng để bạn có thể tái sử dụng các phần phổ biến.

+0

làm thế nào tôi có thể sử dụng một phần chung? ví dụ .. nếu mỗi bố cục có cùng một tiêu đề + hình ảnh, làm thế nào tôi có thể sử dụng này cho mỗi bố trí? – Atomico

+0

Tôi đã sửa đổi câu trả lời của mình ở trên bằng mã mẫu cho biết cách chia sẻ các hành vi phổ biến trong lớp cha. –

1

Bạn cũng có thể sử dụng phân đoạn nếu muốn hiển thị giao diện người dùng động. Bạn có thể thay đổi nội dung theo phân đoạn động hoặc bạn có thể thay đổi phân đoạn đó. Bạn luôn có thể giữ một đoạn nào đó hiển thị và những phần khác không hoạt động. Trong trường hợp này, bạn sẽ chỉ cần một hoạt động và nhiều mảnh.

Nó sẽ phụ thuộc vào cách bạn muốn vẽ giao diện người dùng của ứng dụng. Các ví dụ về phân đoạn có sẵn là Here

+0

nó âm thanh mát mẻ .. nhưng tôi biết mảnh không hoạt động trong Android 2.3, phải không? – Atomico

+0

No..Fragment hoạt động với Android 1.6 trở lên. Bạn có thể sử dụng thư viện hỗ trợ. Xem bài đăng này trên blog Android: [** Fragments For All **] (http://android-developers.blogspot.com/2011/03/fragments-for-all.html) – AnkitSomani

Các vấn đề liên quan