Video: Ứng dụng quay phim chuyên nghiệp trên điện thoại // Camera Apps 2025
Một cách để bắt đầu một hoạt động cụ thể trong ứng dụng Android của bạn là với ngữ cảnh. Một bối cảnh là một "giao diện với thông tin toàn cầu về môi trường ứng dụng. "(Sayeth các tài liệu Android.) Thông thường, bối cảnh là thông tin cơ bản mà bạn có thể muốn biết về những điều đang thực sự xảy ra.
Đối với ứng dụng Android, đối tượng Bối cảnh Java có thể bao gồm tên gói của ứng dụng, chủ đề, hình nền, tên của các tệp được liên kết với ứng dụng và trỏ tới các dịch vụ vị trí, đến các dịch vụ tài khoản người dùng và với các thông tin khác. Tất cả các công cụ này có sẵn theo chương trình bằng cách của một đối tượng Java Context.
Từ này lập trình mô tả điều gì đó mà bạn có thể truy cập (và thậm chí có thể sửa đổi) trong mã Java của dự án của bạn.
Hoạt động của Android chạy trong một ngữ cảnh nhất định. Điều đó có ý nghĩa. Nhưng đây là một ý tưởng rất khó để nắm lấy: Một hoạt động là một ngữ cảnh. Đó là một bối cảnh vì hai lý do (một là kỹ thuật, một là hơi trực quan):
Trong Android SDK, lớp Android. ứng dụng. Hoạt động là một phân lớp của android. Nội dung. Bối cảnh.
Một hoạt động có tất cả những thứ mà bất kỳ ngữ cảnh nào có - cụ thể là tên gói của ứng dụng, chủ đề, hình nền, tên của các tệp được liên kết với ứng dụng và các con trỏ đến các dịch vụ định vị, cho người dùng dịch vụ tài khoản, và các thông tin khác.
Trong đoạn mã bên dưới, một hoạt động gọi một hoạt động khác trong cùng một ứng dụng.
đóng gói của tôi. đóng gói; nhập khẩu android ứng dụng. Hoạt động; nhập khẩu android os. Bó; public class SomeActivity mở rộng hoạt động {// … mã của một số loại thuộc về ở đây Intent intent = new Intent (this, OtherActivity. class); startActivity (intention);}
Trong đoạn code này, hai câu cuối cùng thực sự nói, "Với bối cảnh riêng của hoạt động này, bắt đầu chạy một thể hiện của OtherActivity. "(Nếu mọi việc suôn sẻ, Class OtherActivity mở rộng lớp Hoạt động của Android, và bạn tốt lắm).
Trong ví dụ, constructor lớp Intent có hai tham số - một ngữ cảnh và một lớp Java. Từ này đại diện cho thể hiện SomeActivity kèm theo. Điều đó tốt, bởi vì tham số đầu tiên của nhà xây dựng là loại Context và lớp Activity của Android là lớp con của lớp Context trừu tượng.
Trong mã ví dụ ở trên, nhà xây dựng Intent nhận tên gói của OtherActivity từ này - bối cảnh của đối tượng SomeActivity.
Mỗi hoạt động là một phần của một ứng dụng, và một thể hiện của ứng dụng cũng là một ngữ cảnh.Vì vậy, trong nhiều chương trình, bạn có thể sử dụng bất kỳ cuộc gọi phương thức sau (thay vì điều này) để có được một thể hiện Context:
getContext () getApplicationContext () getBaseContext ()
Phương thức getApplicationContext và getBaseContext có giới hạn, trong các chương trình Android.
Trong đoạn mã bên dưới, một hoạt động từ một ứng dụng sử dụng ngữ cảnh để gọi hoạt động của một ứng dụng khác.
đóng gói của tôi. đóng gói; nhập khẩu android ứng dụng. Hoạt động; nhập khẩu android os. Bó; public class SomeActivity mở rộng hoạt động {// … mã của một số loại thuộc về ở đây thử {otherContext = createPackageContext ("other" pack, Context) CONTEXT_IGNORE_SECURITY | Bối cảnh CONTEXT_INCLUDE_CODE);} catch (NameNotFoundException e) {e. printStackTrace ();} Lớp otherClass = null; thử {otherClass = otherContext. getClassLoader (). loadClass ("other pack" OtherAppActivity ");} catch (ClassNotFoundException e) {e. printStackTrace ();} Intent intent = new Intent (otherContext, otherClass); startActivity (intention);}
Bộ mã thứ hai phức tạp hơn ví dụ đầu tiên bạn thấy ở đây. Nhưng hầu hết sự phức tạp đến từ cách Java tải các lớp học. Bằng cách này hay cách khác, mã này tạo ra ý đồ từ ngữ cảnh và tên lớp, và sau đó bắt đầu hoạt động của ý định.
