Получение установок системы Android, не имея никакого контекста

Я не волновался бы об эффективности загрузки модуля впереди слишком много. Память, поднятая модулем, не будет очень большой (предположение, что это является достаточно модульным), и стоимость запуска будет незначительна.

В большинстве случаев Вы хотите загрузить модули во главе исходного файла. Для кого-то читающего Ваш код, это делает намного легче сказать, какая функция или объект прибыли из какой модуль.

Одно серьезное основание импортировать модуль в другое место в коде состоит в том, если это используется в отладочном операторе.

, Например:

do_something_with_x(x)

я мог отладить это с:

from pprint import pprint
pprint(x)
do_something_with_x(x)

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

я не волновался бы об эффективности загрузки модуля впереди слишком много. Память, поднятая модулем, не будет очень большой (предположение, что это является достаточно модульным), и стоимость запуска будет незначительна.

12
задан Segfault 4 March 2010 в 17:33
поделиться

3 ответа

Вы должны послать ему Контекст - не пытайтесь сбежать от своих обязанностей. :) Ваш служебный класс должен вызываться Activity или Service на каком-то уровне, и вы собираетесь передавать этот Context на всем протяжении строки, через каждый вызов метода. Я знаю, что это раздражает, мне приходилось делать подобные вещи самому. Считайте это стимулом к ​​тому, чтобы ваш код оставался простым и требовал как можно меньше вызовов методов для достижения чего-либо.

7
ответ дан 2 December 2019 в 23:51
поделиться

I use the following Hack: http://www.hasemanonmobile.com/2009/10/05/quick-and-very-dirty-android-development-trick/

Essentially you stash off a context pointer as a static variable inside your Activity. I'd only recommend this ugly hack if you're on a tight deadline.

Further, if you're writing a utility class, you should probably require (as many Android utilities require) that the calling application provide you with a context as part of your constructor.

-1
ответ дан 2 December 2019 в 23:51
поделиться

Можно создать контекст:

Context myContext = createPackageContext("com.example", 0);
-3
ответ дан 2 December 2019 в 23:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: