Nếu bạn nói về Activity
, AppcompactActivity
, ActionBarActivity
vv vv ..
Chúng ta cần nói về các lớp Cơ sở mà chúng đang mở rộng, Đầu tiên chúng ta phải hiểu thứ bậc của các siêu lớp.
Tất cả mọi thứ được bắt đầu từ Ngữ cảnh là siêu hạng cho tất cả các lớp này.
Bối cảnh là một lớp trừu tượng có triển khai được cung cấp bởi hệ thống Android. Nó cho phép truy cập vào các tài nguyên và các lớp dành riêng cho ứng dụng, cũng như các cuộc gọi lên cho các hoạt động ở cấp ứng dụng như các hoạt động khởi chạy, phát sóng và nhận ý định, v.v.
Context
được theo sau hoặc mở rộng bởi ContextWrapper
Các ContextWrapper là một lớp mà mở rộng Context lớp mà chỉ đơn giản đại biểu tất cả các cuộc gọi của mình cho bối cảnh khác. Có thể được phân lớp để sửa đổi hành vi mà không thay đổi Ngữ cảnh gốc.
Bây giờ chúng tôi đạt đến Activity
Các Hoạt động là một lớp học kéo dài ContextThemeWrapper đó là một duy nhất, điều tập trung mà người dùng có thể làm. Hầu như tất cả các hoạt động đều tương tác với người dùng, vì vậy lớp Activity đảm nhiệm việc tạo một cửa sổ cho bạn
Các lớp bên dưới bị hạn chế gia hạn nhưng chúng được mở rộng bởi nội bộ của chúng và cung cấp hỗ trợ cho Api cụ thể
Các SupportActivity là một lớp mà mở rộng Hoạt động đó là một lớp cơ sở cho việc soạn thảo chức năng tương thích với nhau
Các BaseFragmentActivityApi14 là một lớp học kéo dài SupportActivity
đó là một lớp cơ sở này bị hạn chế lớp nhưng nó được mở rộng bởi
BaseFragmentActivityApi16 để hỗ trợ các chức năng của V14
Các
BaseFragmentActivityApi16 là một lớp học kéo dài
BaseFragmentActivityApi14 đó là một lớp cơ sở cho {@code
FragmentActivity } để có thể sử dụng v16 API. Nhưng nó cũng bị hạn chế lớp nhưng nó được mở rộng bởi FragmentActivity để hỗ trợ chức năng của V16.
bây giờ FragmentActivty
Các FragmentActivity là một lớp học kéo dài
BaseFragmentActivityApi16 và muốn sử dụng sự hỗ trợ dựa trên Fragment và Loader API.
Khi sử dụng lớp này trái ngược với hỗ trợ phân đoạn và bộ nạp tích hợp của nền tảng mới, bạn phải sử dụng các phương thức getSupportFragmentManager()
và getSupportLoaderManager()
phương thức tương ứng để truy cập các tính năng đó.
ActionBarActivity là một phần của Thư viện hỗ trợ. Thư viện hỗ trợ được sử dụng để cung cấp các tính năng mới hơn trên các nền tảng cũ hơn. Ví dụ: ActionBar được giới thiệu trong API 11 và là một phần của Hoạt động theo mặc định (tùy thuộc vào chủ đề thực sự). Ngược lại, không có ActionBar trên các nền tảng cũ hơn. Vì vậy, các thư viện hỗ trợ thêm một lớp con của hoạt động ( ActionBarActivity ) mà cung cấp của ActionBar chức năng và giao diện người dùng
Năm 2015 ActionBarActivity bị phản đối trong phiên bản 22.1.0 của Thư viện hỗ trợ. AppCompatActivity nên được sử dụng thay thế.
Các AppcompactActivity là một lớp học kéo dài
FragmentActivity đó là cơ sở lớp học cho các hoạt động sử dụng các tính năng thư viện Action Bar hỗ trợ.
Bạn có thể thêm ActionBar vào hoạt động của mình khi chạy trên API cấp 7 trở lên bằng cách mở rộng lớp này cho hoạt động của bạn và đặt chủ đề hoạt động thành Theme.AppCompat
hoặc một chủ đề tương tự
Tôi giới thiệu hai , một , hai
FragmentActivity
ies. Bạn chỉ lưu trữFragment
s. Trên các phiên bản Android mới hơn,Activity
lớp này đã được cập nhật để lưu trữ chúng trực tiếp. Để hỗ trợ các phiên bản cũ hơnFragmentActivity
đã được giới thiệu.