Попытка объяснить контекст в Android другу - PullRequest
9 голосов
/ 25 марта 2011

Я пытаюсь объяснить контекст другу. Контекст, как написано в документации, заключается в том, что это интерфейс с системными ресурсами (датчиками, вибратором и т. Д.), Но означает ли это память, процессор и т. Д.?

А также, является ли контекст ссылкой на действие? Я имею в виду, можно ли сравнить, что контекст равен uiviewcontroller в программировании iOS, и контекст приложения является делегатом приложения? Я все еще изучаю Android, так что я не могу быть лучшим, чтобы ответить. Если кто-то может дать исчерпывающий ответ на этот вопрос, я был бы очень благодарен.

Не имеет отношения к носителю английского языка, поэтому я также хотел бы знать, что означает контекст в программировании.

Ответы [ 3 ]

6 голосов
/ 25 марта 2011

Я пытаюсь объяснить контекст друг. Контекст, как написано в документация в том, что это интерфейс к системным ресурсам (датчикам, вибратор и т. д.) но это будет означать память, процессор и т. д.

Нет, «интерфейс» к памяти и ЦП неявно обеспечивается моделью исполнения и памяти языка Java.

А также контекст ссылка на деятельность?

Действия являются своего рода контекстом. Вы можете получить полный список классов, которые наследуются от Context в документах в разделе "Косвенные подклассы".

Я имею в виду можно сравнить этот контекст равно контроллеру uiview в iOS контекст программирования и приложения делегат приложения? я до сих пор учусь Android, поэтому я не могу быть лучшим сделай ответ. Если кто-то может предоставить подробный ответ на это я бы очень благодарен.

Я думаю, что они совершенно разные. Вы можете проверить Задачи и Back Stack , чтобы узнать больше о Деяниях как слабосвязанных, отдельных единицах. Подкласс Application в вашем приложении может быть похож на делегат приложения в iOS.

С уважением, не носитель английского языка поэтому я также хотел бы знать, что контекст означает в программировании.

Английский определение может помочь:

2: ситуация, в которой что-то происходит: группа условий, которые существует там, где и когда что-то происходит

В программировании «контекст» довольно близок к этому определению. Контекст часто сообщает функции или объекту ответы на такие вещи, как:

  • Где я?
  • Где находится ресурс X?
  • Доступна ли функция Y?
  • Что я только что делал? (особенно часто встречается в случае C)

Честно говоря, я думаю, что вы можете продвинуться далеко вперед в программировании на Android, не понимая Context.

3 голосов
/ 25 марта 2011

Контекст в Android - это базовый интерфейс для доступа к нескольким вещам:

  1. Системные службы.Вибратор, датчики и т. Д., Как вы уже упоминали.
  2. Ресурсы (strings.xml, общие настройки и т. Д.).
  3. Представления, принадлежащие контексту.

Контекст может быть описан как среда программирования для вашего кода.Это контекст, в котором выполняется ваш код.

Контекст не может быть связан только с действием, приложение, диалог, служба и другие также реализуют его.

Контекст в этой конкретной ситуации может бытьпредставлены в виде облака объектов и вещей, к которым вы можете получить доступ, которые видны вам.Из деятельности вы можете получить доступ к представлениям, услугам и ресурсам.В контексте приложения нет представления, но все же вы видите ресурсы и услуги.И так далее.

1 голос
/ 04 сентября 2012

Как следует из названия, это контекст текущего состояния приложения / объекта. Это позволяет вновь созданным объектам понять, что происходит. Обычно вы вызываете его, чтобы получить информацию о другой части вашей программы (мероприятие, пакет / приложение)

Вы можете получить контекст, вызвав getApplicationContext (), getContext (), getBaseContext () или this (в классе активности).

Типичное использование контекста:

Создание новых объектов: создание новых представлений, адаптеров, слушателей:

TextView tv = new TextView(getContext());
ListAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), ...);

Доступ к стандартным общим ресурсам: такие службы, как LAYOUT_INFLATER_SERVICE, SharedPreferences:

context.getSystemService(LAYOUT_INFLATER_SERVICE)   
getApplicationContext().getSharedPreferences(*name*, *mode*);

Неявный доступ к компонентам: в отношении поставщиков контента, трансляций, намерений

getApplicationContext().getContentResolver().query(uri, ...);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...