Câu hỏi 'Context' trên Android là gì?


Trong lập trình Android, chính xác là gì Context và nó được sử dụng để làm gì?

Tôi đọc về nó trên trang web của nhà phát triển, nhưng tôi không thể hiểu rõ nó.


1581
2017-08-26 06:12


gốc


Có quan hệ với câu hỏi này - Christopher Perry
Ngoài câu trả lời tuyệt vời của @ SourabSharma (thật không may, nó không phải là một trong những chấp nhận), bài đăng blog này đánh giá bối cảnh thông qua lăng kính của nguyên tắc trách nhiệm duy nhất: techyourchance.com/single-responsibility-principle - Vasiliy


Các câu trả lời:


Đặt nó đơn giản:

Như tên cho thấy, đó là ngữ cảnh của trạng thái hiện tại của ứng dụng / đối tượng. Nó cho phép các đối tượng mới được tạo ra hiểu được những gì đang diễn ra. Thông thường bạn gọi nó để có được thông tin liên quan đến một phần khác của chương trình của bạn (hoạt động và gói / ứng dụng).

Bạn có thể lấy bối cảnh bằng cách gọi getApplicationContext(), getContext(), getBaseContext() hoặc là this (khi ở trong một lớp học kéo dài từ Context, chẳng hạn như các lớp Ứng dụng, Hoạt động, Dịch vụ và IntentService).

Sử dụng ngữ cảnh điển hình:

  • Tạo đối tượng mới: Tạo chế độ xem, bộ điều hợp, trình nghe mới:

    TextView tv = new TextView(getContext());
    ListAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), ...);
    
  • Truy cập tài nguyên chung tiêu chuẩn: Các dịch vụ như LAYOUT_INFLATER_SERVICE, SharedPreferences:

    context.getSystemService(LAYOUT_INFLATER_SERVICE)
    getApplicationContext().getSharedPreferences(*name*, *mode*);
    
  • Truy cập các thành phần ngầm: Về nhà cung cấp nội dung, chương trình phát sóng, mục đích

    getApplicationContext().getContentResolver().query(uri, ...);
    

1244
2017-08-26 06:32



Trong ví dụ của bạn context.getSystemService(LAYOUT_INFLATER_SERVICE), ở đâu và như thế nào context được xác định? - Dennis
Nó cũng được giải thích lý do tại sao chúng ta cần bối cảnh trong khi tự động tạo ra một khung nhìn văn bản. Nhưng trong khi tự động tạo mảng các khung nhìn văn bản, chúng ta không phải đề cập đến bất kỳ ngữ cảnh nào. Tại sao vậy? TextView [] textview = TextView mới [10]; - Abhinav Arora
@AbhinavArora khi xác định mảng, bạn không thực sự xây dựng một thể hiện của bất kỳ khung nhìn văn bản nào (về cơ bản bạn chỉ đang tạo không gian cho chúng đi vào). Tại thời điểm bạn đến để đặt bất kỳ giá trị vào mảng đó, bạn sẽ cần phải tạo ra TextViews, hoặc cần một Context để cho phép bạn tạo chúng. - mc1arke
Tại sao các khung nhìn cần ngữ cảnh? Ví dụ, TextView sẽ không thể làm gì nếu nó không có ngữ cảnh? - dinosaur
Một đoạn mã không có "Ngữ cảnh" có thể chạy trên mỗi hệ điều hành có JVM. Nhưng nếu có ngữ cảnh, nó sẽ chạy trên Android. Nếu bạn muốn sử dụng những thứ cụ thể của Android (truy cập vị trí thiết bị, chụp ảnh, chạy dịch vụ nền, v.v.), bạn cần ngữ cảnh Mặc dù bạn không cần nếu bạn thực hiện yêu cầu http. Bối cảnh có thể được coi là cầu nối giữa Java và Android. - Faruk Toptas


Định nghĩa của Context ::

  • Ngữ cảnh đại diện cho dữ liệu môi trường
  • Nó cung cấp quyền truy cập vào những thứ như cơ sở dữ liệu

Điều kiện đơn giản ::

  • Xem xét Person-X là CEO của một công ty phần mềm khởi nghiệp.

  • Có một kiến ​​trúc sư trưởng hiện diện trong công ty, kiến ​​trúc sư trưởng này thực hiện tất cả công việc trong công ty có liên quan đến cơ sở dữ liệu, giao diện người dùng v.v.

  • Bây giờ CEO thuê một nhà phát triển mới.

  • Đó là Kiến trúc sư, người nói với trách nhiệm của người mới được thuê người dựa trên các kỹ năng của người mới cho dù anh ta sẽ làm việc trên Cơ sở dữ liệu hoặc Giao diện người dùng, v.v

Điều kiện đơn giản ::

  • Nó giống như truy cập hoạt động Android vào tài nguyên của ứng dụng.

  • Nó tương tự như khi bạn ghé thăm một khách sạn, bạn muốn ăn sáng, ăn trưa & ăn tối trong thời gian phù hợp, phải không?

  • Có nhiều thứ khác bạn thích trong thời gian lưu trú. Bạn thế nào lấy những thứ này?

  • Bạn yêu cầu người phục vụ phòng mang những thứ này cho bạn.

  • Ở đây người phục vụ phòng là bối cảnh xem xét bạn là hoạt động đơn lẻ và khách sạn là ứng dụng của bạn, cuối cùng là bữa sáng, bữa trưa & bữa ăn tối phải là nguồn lực.


Những điều liên quan đến ngữ cảnh là:

  1. Đang tải tài nguyên.
  2. Khởi chạy một hoạt động mới.
  3. Tạo chế độ xem.
  4. có được dịch vụ hệ thống.

Ngữ cảnh là lớp cơ sở cho Hoạt động, Dịch vụ, Ứng dụng .... vv

Một cách khác để mô tả điều này: Hãy xem xét ngữ cảnh như TV và kênh truyền hình từ xa là các nguồn tài nguyên, dịch vụ, sử dụng ý định… - - Ở đây hoạt động từ xa như một truy cập để truy cập tất cả các tài nguyên khác nhau vào nền trước.

  • Vì vậy, từ xa có quyền truy cập vào các kênh như tài nguyên, dịch vụ, sử dụng ý định, v.v.
  • Tương tự như vậy ..... Bất cứ ai có quyền truy cập từ xa tự nhiên đều có quyền truy cập vào tất cả những thứ như tài nguyên, dịch vụ, sử dụng ý định, v.v.

Các phương pháp khác nhau mà bạn có thể nhận được ngữ cảnh

  • getApplicationContext()
  • getContext()
  • getBaseContext()
  • hoặc là this (khi ở trong lớp hoạt động)

Thí dụ:

TextView TV=new TextView(this);

this -> đề cập đến bối cảnh của hoạt động hiện tại.


410
2017-08-20 05:25



Ok, do đó, lớp bắt nguồn từ Activity IS là một bối cảnh. Đó là lý do tại sao bằng cách chuyển nó đến các khung nhìn mới được tạo ra, chúng ta chuyển ngữ cảnh. - Oleg
Tôi tự hỏi nếu đó là một quyết định thiết kế tốt để có bối cảnh có thể truy cập từ rất nhiều nơi khác nhau? Một getContext tĩnh () trong ứng dụng sẽ là đủ theo quan điểm của tôi. - Trilarion
@Trilarion ... Nó phụ thuộc vào cách bạn muốn sử dụng ngữ cảnh getApplicationContext(), getContext(),getBaseContext() ..... Tham khảo này -> (stackoverflow.com/a/10641257) - Devrath
Chỉ cần mở rộng đoạn cuối cùng bằng cách tạo một bản xem văn bản: Trong một số trường hợp, có thể cần phải gọi SomeActivityName.this. Trong một chủ đề cho một cá thể, this đề cập đến chủ đề và không phải là hoạt động - Zoe


Nguồn


Chủ đề của Bối cảnh trong Android dường như gây nhầm lẫn cho nhiều người. Mọi người chỉ biết rằng bối cảnh là cần thiết khá thường xuyên để làm những điều cơ bản trong Android. Đôi khi mọi người hoảng hốt vì họ cố gắng thực hiện một số hoạt động đòi hỏi Bối cảnh và họ không biết cách "lấy" bối cảnh phù hợp. Tôi sẽ cố gắng làm sáng tỏ ý tưởng về Ngữ cảnh trong Android. Việc xử lý toàn bộ vấn đề nằm ngoài phạm vi của bài đăng này, nhưng tôi sẽ cố gắng đưa ra tổng quan chung để bạn có ý thức về ngữ cảnh và cách sử dụng ngữ cảnh đó. Để hiểu ngữ cảnh là gì, hãy xem mã nguồn:

https://github.com/android/platform_frameworks_base/blob/master/core/java/android/content/Context.java

Chính xác ngữ cảnh là gì? 

Vâng, bản thân tài liệu cung cấp một lời giải thích khá đơn giản: Lớp Ngữ 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”.

Bản thân lớp Ngữ cảnh được khai báo là lớp trừu tượng, có hệ điều hành Android được thực hiện. Tài liệu tiếp tục cung cấp ngữ cảnh “… cho phép truy cập vào các tài nguyên và lớp ứng dụng cụ thể, cũng như các cuộc gọi lên cho các hoạt động cấp ứng dụng như khởi chạy các hoạt động, phát sóng và nhận các ý định, v.v.”.

Bạn có thể hiểu rất rõ, bây giờ, tại sao tên là Bối cảnh. Đó là vì nó chỉ là vậy. Bối cảnh cung cấp liên kết hoặc móc nối, nếu bạn muốn, cho một Hoạt động, Dịch vụ hoặc bất kỳ thành phần nào khác, qua đó liên kết nó với hệ thống, cho phép truy cập vào môi trường ứng dụng toàn cầu. Nói cách khác: Bối cảnh cung cấp câu trả lời cho các câu hỏi thành phần của "nơi tôi đang liên quan đến ứng dụng nói chung và làm thế nào để tôi truy cập / giao tiếp với phần còn lại của ứng dụng?" Nếu điều này có vẻ hơi khó hiểu, một cách nhanh chóng xem xét các phương thức được tiếp xúc bởi lớp Ngữ cảnh cung cấp một số manh mối khác về bản chất thực sự của nó.

Dưới đây là một mẫu ngẫu nhiên của các phương pháp đó:

  1. getAssets() 
  2. getResources()
  3. getPackageManager()
  4. getString()
  5. getSharedPrefsFile()

Tất cả những phương pháp này có điểm gì chung? Tất cả đều cho phép bất kỳ ai có quyền truy cập vào Bối cảnh để có thể truy cập tài nguyên trên toàn ứng dụng.

Bối cảnh, nói cách khác, móc các thành phần có một tham chiếu đến nó với phần còn lại của môi trường ứng dụng. Ví dụ, tài sản (tư duy '/ tài sản' thư mục trong dự án của bạn) có sẵn trên ứng dụng, với điều kiện là Hoạt động, Dịch vụ hoặc bất kỳ điều gì biết cách truy cập các tài nguyên đó. Cùng đi cho getResources() cho phép làm những việc như getResources().getColor() sẽ đưa bạn vào colors.xml tài nguyên (không bao giờ là aapt cho phép truy cập vào tài nguyên thông qua mã java, đó là một vấn đề riêng).

Kết quả là Context là những gì cho phép truy cập vào tài nguyên hệ thống và những gì nó gắn các thành phần vào "ứng dụng lớn hơn". Hãy xem các lớp con của Context, các lớp cung cấp triển khai tóm tắt Context lớp học. Lớp rõ ràng nhất là Activity lớp học. Activitykế thừa từ ContextThemeWrapper, được kế thừa từ ContextWrapper, được kế thừa từ Context chinh no. Những lớp học này rất hữu ích để xem xét để hiểu mọi thứ ở mức độ sâu hơn, nhưng hiện tại, điều đó là đủ để biết rằng ContextThemeWrapper và ContextWrapper có vẻ khá giống với âm thanh của họ. Họ thực hiện các yếu tố trừu tượng của Context tự lớp bằng cách "gói" một ngữ cảnh (ngữ cảnh thực tế) và ủy nhiệm các hàm đó cho ngữ cảnh đó.  Một ví dụ hữu ích - trong ContextWrapper lớp, phương pháp trừu tượng getAssets từ Context lớp được thực hiện như sau:

@Override
    public AssetManager getAssets() {
        return mBase.getAssets();
    }

mBase chỉ đơn giản là một trường được thiết lập bởi hàm tạo cho một ngữ cảnh cụ thể. Một ngữ cảnh được bao bọc và ContextWrapper ủy quyền thực thi phương thức getAssets cho ngữ cảnh đó. Hãy quay lại để kiểm tra Activity lớp mà cuối cùng kế thừa từ Context để xem cách tất cả hoạt động.

Bạn có thể biết Hoạt động là gì, nhưng để xem xét - về cơ bản đó là 'một điều duy nhất mà người dùng có thể làm. Nó sẽ chăm sóc cung cấp một cửa sổ để đặt giao diện người dùng mà người dùng tương tác với '. Các nhà phát triển quen thuộc với các API khác và thậm chí không phải nhà phát triển cũng có thể nghĩ về nó như một “màn hình”. Về mặt kỹ thuật không chính xác, nhưng điều đó không quan trọng cho mục đích của chúng tôi. Vậy làm thế nào Activity và Context tương tác và chính xác những gì đang xảy ra trong mối quan hệ thừa kế của họ?

Một lần nữa, thật hữu ích khi xem các ví dụ cụ thể. Chúng ta đều biết cách khởi động Hoạt động. Với điều kiện bạn có "ngữ cảnh" mà bạn đang bắt đầu Hoạt động, bạn chỉ cần gọi startActivity(intent), trong đó Intent mô tả bối cảnh mà từ đó bạn bắt đầu Hoạt động và Hoạt động bạn muốn bắt đầu. Đây là người quen thuộc startActivity(this, SomeOtherActivity.class).

Và cái gì this? this là Hoạt động của bạn vì Activity lớp thừa kế từ Context. Các muỗng đầy đủ là như thế này: Khi bạn gọi startActivity, cuối cùng là Activity lớp thực hiện một cái gì đó như thế này:

Instrumentation.ActivityResult ar =
                mInstrumentation.execStartActivity(
                    this, mMainThread.getApplicationThread(), mToken, this,
                    intent, requestCode);

Vì vậy, nó sử dụng execStartActivity từ Instrumentation lớp (thực sự từ một lớp bên trong trong Instrumentation gọi là ActivityResult).

Tại thời điểm này, chúng tôi đang bắt đầu để có được một peek tại internals hệ thống.

Đây là nơi hệ điều hành thực sự xử lý mọi thứ. Vậy phương thức Instrumentation bắt đầu hoạt động chính xác như thế nào? Vâng, các param this bên trong execStartActivity phương pháp trên là Hoạt động của bạn, tức là Ngữ cảnh và execStartActivity sử dụng ngữ cảnh này.

Tổng quan 30.000 là: lớp Instrumentation lưu các bản nhạc của danh sách Hoạt động mà nó đang theo dõi để thực hiện công việc. Danh sách này được sử dụng để điều phối tất cả các hoạt động và đảm bảo mọi thứ hoạt động trơn tru trong việc quản lý luồng hoạt động.

Có một số hoạt động mà tôi chưa xem xét đầy đủ các vấn đề về quy trình và chuỗi tọa độ. Cuối cùng, ActivityResult sử dụng hoạt động gốc - ActivityManagerNative.getDefault().startActivity() trong đó sử dụng Context mà bạn đã vượt qua khi bạn gọi startActivity. Ngữ cảnh mà bạn truyền vào được sử dụng để hỗ trợ trong “độ phân giải ý định” nếu cần. Độ phân giải ý định là quá trình mà hệ thống có thể xác định mục tiêu của ý định nếu nó không được cung cấp. (Xem hướng dẫn tại đây để biết thêm chi tiết).

Và để Android thực hiện điều này, nó cần quyền truy cập vào thông tin được cung cấp bởi Context. Cụ thể, hệ thống cần truy cập vào ContentResolver do đó, nó có thể "xác định loại MIME của dữ liệu của mục đích". Toàn bộ điều này về cách startActivity làm cho việc sử dụng ngữ cảnh hơi phức tạp một chút và tôi không hoàn toàn hiểu chính bản thân mình. Điểm chính của tôi là chỉ minh họa cách truy cập tài nguyên trên toàn bộ ứng dụng để thực hiện nhiều thao tác cần thiết cho ứng dụng. Context là những gì cung cấp quyền truy cập vào các tài nguyên này.  Một ví dụ đơn giản hơn có thể là Chế độ xem. Tất cả chúng ta đều biết bạn tạo Chế độ xem tùy chỉnh bằng cách mở rộng RelativeLayout hoặc một số khác View lớp, bạn phải cung cấp một hàm tạo Context như một đối số. Khi bạn khởi tạo Chế độ xem tùy chỉnh, bạn vượt qua trong ngữ cảnh.  Tại sao? Vì Chế độ xem cần có khả năng truy cập vào chủ đề, tài nguyên và các chi tiết cấu hình khác của Chế độ xem. Xem cấu hình thực sự là một ví dụ tuyệt vời. Mỗi bối cảnh có các tham số khác nhau (các trường trong Context'S triển khai) được thiết lập bởi chính hệ điều hành cho những thứ như kích thước hoặc mật độ của màn hình. Thật dễ dàng để biết tại sao thông tin này lại quan trọng để thiết lập Chế độ xem, v.v.

Một từ cuối cùng:  Đối với một số lý do người mới sử dụng Android (và thậm chí cả những người không quá mới) dường như hoàn toàn quên đi lập trình hướng đối tượng khi nói đến Android. Vì một số lý do, mọi người cố gắng bẻ cong phát triển Android của mình thành các mô hình được hình thành trước hoặc các hành vi đã học.

Android có mô hình riêng của nó và một mẫu nhất định thực sự khá nhất quán nếu buông bỏ các khái niệm được hình thành trước của bạn và chỉ cần đọc tài liệu hướng dẫn và hướng dẫn phát triển. Điểm thực của tôi, tuy nhiên, trong khi "có được bối cảnh đúng" đôi khi có thể khó khăn, mọi người bất bình thường vì họ chạy vào một tình huống mà họ cần bối cảnh và nghĩ rằng họ không có nó. Một lần nữa, Java là một ngôn ngữ hướng đối tượng với một thiết kế kế thừa.

Bạn chỉ "có" ngữ cảnh bên trong Hoạt động của bạn vì bản thân hoạt động của bạn kế thừa từ Ngữ cảnh. Không có phép thuật cho nó (ngoại trừ tất cả những thứ mà hệ điều hành tự thực hiện để thiết lập các thông số khác nhau và để định cấu hình chính xác ngữ cảnh của bạn). Vì vậy, đặt vấn đề bộ nhớ / hiệu suất sang một bên (ví dụ như giữ tham chiếu đến ngữ cảnh khi bạn không cần hoặc thực hiện nó theo cách có hậu quả tiêu cực đối với bộ nhớ, v.v.) Bối cảnh là một đối tượng như bất kỳ khác và nó có thể được truyền xung quanh giống như bất kỳ POJO (Plain Old Java Object). Đôi khi bạn có thể cần phải làm những điều thông minh để lấy bối cảnh đó, nhưng bất kỳ lớp Java thông thường nào kéo dài từ không có gì khác ngoài chính Object có thể được viết theo cách có quyền truy cập vào ngữ cảnh; chỉ đơn giản là phơi bày một phương thức công khai mà có một bối cảnh và sau đó sử dụng nó trong lớp đó khi cần thiết. Điều này không được coi là một phương pháp điều trị toàn diện đối với nội dung Bối cảnh hoặc Android, nhưng tôi hy vọng sẽ hữu ích trong việc làm sáng tỏ bối cảnh một chút.


258
2018-04-30 13:44



Đây là một câu trả lời tuyệt vời. Tốt hơn nhiều so với cái được chấp nhận, mà chỉ nói những gì mọi người đều biết một cách trực giác. - Honza Kalfus
đây là câu trả lời dài mà bạn đang tìm kiếm! cũng giải thích - Nick Jian
Tuyệt vời ans! Nghiêm túc ! - ZeekHuge
Hmmm, đối với tôi, tất cả đều giống như những gì mà chúng ta đã sử dụng để gọi các biến toàn cầu, mà đã bị cau mày khi định hướng đối tượng bước vào cảnh 8-) - Ulf Edholm
Đây sẽ là câu trả lời được chấp nhận. - AymenDaoudi


Bối cảnh là một xử lý cho hệ thống; nó cung cấp các dịch vụ như giải quyết tài nguyên, có được quyền truy cập vào cơ sở dữ liệu và sở thích, v.v. Ngữ cảnh giống như một xử lý đối với môi trường mà ứng dụng của bạn hiện đang chạy. Đối tượng hoạt động kế thừa đối tượng Context.

Để biết thêm thông tin, hãy xem Giới thiệu về phát triển Android với Android Studio - Hướng dẫn.


100
2017-08-26 06:33



Nội dung của liên kết dường như đã thay đổi. Hãy thử mục "5.8. Bối cảnh". Nhưng không có nhiều thông tin ở đó. - avenmore
Đã 2 năm kể từ khi tôi viết câu trả lời này. Nó đã được chuyển đến mục 5.4. Đã cập nhật câu trả lời của tôi để phản ánh .. - giulio
Tôi nghĩ rằng bây giờ là 7.4. Tôi sẽ chỉnh sửa câu trả lời nếu không có ký tự tối thiểu. - ecbrodie
Khi các phiên bản mới cho Android xuất hiện, các tính năng mới, v.v., Google sẽ trộn các tài liệu xung quanh. Cảm ơn các cập nhật. - giulio
"Ứng dụng Android có các hoạt động" - Dòng này không phù hợp với câu trả lời của bạn. - Abhishek Jain


Miễn là bạn sẽ suy nghĩ, hãy nghĩ lớn.

Giao diện thông tin toàn cầu về môi trường ứng dụng. Đây là lớp trừu tượng có hệ thống Android cung cấp triển khai.

Nó cho phép truy cập vào các tài nguyên và các lớp ứng dụng cụ thể, cũng như các cuộc gọi lên cho các hoạt động cấp ứng dụng như khởi chạy các hoạt động, phát sóng và nhận các ý định, v.v.

Activity diagram


65
2017-12-28 08:05



Bạn có thể vui lòng giải thích biểu đồ hoặc chia sẻ một số tài nguyên giải thích giống nhau không. - Prateek
Câu hỏi đã được trả lời. Ý tưởng về đồ thị sau đây là để cho thấy rằng lớp Ngữ cảnh là điểm bắt đầu của cấu trúc phân cấp lớn dẫn đến lớp Hoạt động. - Dmytro Danylyk
Tôi sẽ đồng ý với @Prateek, trong khi tôi có thể suy ra một số điều từ biểu đồ, mà không có bất kỳ tham chiếu hoặc giải thích thêm nào, biểu đồ này chỉ giúp những người đã hiểu rõ những gì Context Là. - Mike Williamson
Vâng, Là một người không hiểu họ một phút trước, nó thực sự đã giúp tôi làm như vậy. - Behrooz
Đây là một câu trả lời sai lầm. Có nhiều hơn nữa để bối cảnh hơn là chỉ là một tổ tiên của hoạt động. Bên cạnh thực tế là bạn không giải thích gì về những gì một bối cảnh thực sự là, 'câu trả lời' này là nhiều nhất 25% kể từ khi bạn quên về các dịch vụ và ứng dụng cũng là ngữ cảnh-es - Tim Castelijns


ANDROID VÀ TIẾP THEO

Nếu bạn xem qua các API Android khác nhau, bạn sẽ chú ý rằng nhiều người trong số họ có android.content.Context đối tượng như một tham số. Bạn cũng sẽ thấy rằng Hoạt động hoặc Dịch vụ thường được sử dụng như một Bối cảnh. Điều này làm việc vì cả hai lớp này đều mở rộng từ Ngữ cảnh.

Nội dung chính xác là gì?

Theo tài liệu tham chiếu của Android, đó là thực thể đại diện cho các dữ liệu môi trường khác nhau. Nó cung cấp quyền truy cập vào địa phương các tệp, cơ sở dữ liệu, trình tải lớp liên quan đến môi trường, dịch vụ bao gồm các dịch vụ cấp hệ thống và hơn thế nữa. Trong suốt cuốn sách này, và trong ngày của bạn mã hóa ngày với Android, bạn sẽ thấy bối cảnh được truyền đi thường xuyên. Từ: cuốn sách "Android in Practice".


57
2018-04-28 10:14





Android Bối cảnh là một Giao diện cho phép truy cập vào các tài nguyên và lớp học cụ thể của ứng dụng và thông tin về môi trường ứng dụng.

Nếu ứng dụng Android của bạn là ứng dụng web,   bối cảnh của bạn sẽ là một cái gì đó   tương tự như ServletContext (Tôi không thực hiện so sánh chính xác ở đây)

Các hoạt động và dịch vụ của bạn cũng mở rộng Ngữ cảnh để họ kế thừa tất cả các phương thức đó để truy cập thông tin môi trường mà ứng dụng đang chạy.


36
2017-08-26 06:40



AS cho Android 4.1 Ngữ cảnh là một lớp trừu tượng, cung cấp nhiều phương thức khác nhau để truy cập vào môi trường ứng dụng. - Rakesh
Theo bối cảnh API cấp 1 là một lớp trừu tượng không phải là 4.1 - Sankar V
Đó là một lớp trừu tượng ... - Luis Pena
Mọi người, khi tôi trích dẫn "giao diện", tôi không có nghĩa là một giao diện java, nhưng giao diện theo nghĩa chung. - naikus
Rõ ràng, một số người mới chỉ không hiểu một "giao diện" là gì. Họ chỉ nghĩ rằng nó là một giao diện java. Để tham khảo, tôi đã thêm một liên kết. Hãy suy nghĩ trước khi bạn downvote - naikus