Так я получаю доступ к ресурсам из статических методов.Может быть, не идеал, но.
Сначала я расширяю Application и устанавливаю некоторые открытые статические поля и создаю метод для их инициализации:
public class MyApp extends Application {
// static resources
public static String APP_NAME;
public static void initResources(Context context) {
APP_NAME = context.getResources().getString(R.string.app_name);
}
}
И в моем манифесте я регистрируюсьрасширенное приложение:
<application
android:name=".MyApp"/>
В своей стартовой деятельности (MainActivity) я звоню для инициализации статических ресурсов:
@Override
protected void onCreate(Bundle savedInstanceState) {
MyApp.initResources(this);
}
Затем в любом месте вашего проекта после MainActivity.onCreate.(Пакет b) запущен, вы можете вызывать статические методы, которые обращаются к указанным вами статическим ресурсам:
public static void printAppName() {
Log.w("tag", "my app name: " + MyApp.APP_NAME);
}