Создайте модуль Java, который будет запускаться при запуске вашего приложения. Этот модуль будет расширять класс приложения Android и инициализировать любые глобальные переменные приложения, а также содержать служебные процедуры для всего приложения -
public class MyApplicationName extends Application {
private final String PACKAGE_NAME = "com.mysite.myAppPackageName";
public String getPackageName() { return PACKAGE_NAME; }
}
Конечно, это может включать логику для получения имени пакета из системы Android; однако приведенный выше код меньше, быстрее и чище, чем получение его из Android.
Обязательно поместите запись в файл AndroidManifest.xml, чтобы сообщить Android о необходимости запуска вашего модуля приложения перед выполнением каких-либо действий -
<application
android:name=".MyApplicationName"
...
>
Затем, чтобы получить имя пакета из любого другого модуля, введите
MyApp myApp = (MyApp) getApplicationContext();
String myPackage = myApp.getPackageName();
Использование модуля приложения также дает вам контекст для модулей, которые нуждаются, но не имеют контекста.
person
Earl Allen
schedule
26.12.2015