Используя Класс приложений
В зависимости от того, что Вы делаете в своей инициализации, Вы могли рассмотреть создание нового класса, который расширяется Application
и перемещение Вашего кода инициализации в переопределенный onCreate
метод в том классе.
public class MyApplicationClass extends Application {
@Override
public void onCreate() {
super.onCreate();
// TODO Put your application initialization code here.
}
}
onCreate
в классе приложений только назван, когда целое приложение создается, таким образом, перезапуски Действия на ориентации или изменениях видимости клавиатуры не инициируют его.
Это - хорошая практика для представления экземпляра этого класса как одиночный элемент и представление переменных приложения, Вы инициализируете методов get использования и методы set.
ПРИМЕЧАНИЕ: необходимо будет определить название нового Класса приложений в декларации для него, чтобы регистрироваться и использоваться:
Реакция на Изменения конфигурации [ОБНОВЛЕНИЕ: это удерживается от использования начиная с API 13; видят рекомендуемую альтернативу ]
Как дальнейшая альтернатива, у Вас может быть свое приложение, прислушиваются к событиям, которые вызвали бы перезапуск †“как ориентация, и видимость клавиатуры изменяет †“, и обработайте их в рамках своего Действия.
Запускаются путем добавления android:configChanges
узел к явному узлу Действия
или для [1 112] (Уровень API 13) Android 3.2 и более новый :
Тогда в рамках Действия переопределяют onConfigurationChanged
метод и вызов setContentView
, чтобы вынудить расположение GUI быть восстановленным в новой ориентации.
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.myLayout);
}
Prism очень хороша для MVVM в WPF и Silverlight
паттерны, которые они используют паттерны в библиотеке составных приложений
Целью был бы проект Spring Batch .
Как я его выбрал? Судя по техническому долгу, как видно на примере Nemo Sonar , Spring Batch имеет самое низкое соотношение долга / строк для проектов, размер которых превышает 10 тыс. Строк кода.
Вы имеете в виду Весна ? Или проекты, в которых он используется?
ОБНОВЛЕНИЕ: WebWork, Guice и Spring Security подходят под шаблон.
Большая часть проекта GNU написана очень хорошо, за очень долгий период времени, с строгими правилами .
Когда я впервые взглянул на исходный код DotNetBlogEngine , я был впечатлен тем, насколько хорошо он организован. И он не связывает ни один из своих компонентов с интерфейсом, что делает его чрезвычайно гибким.
Это тоже не такой уж и огромный проект, как попытки перекомпилировать собственное ядро Linux или что-то в этом роде. Так что вы можете быстро нырнуть и повеселиться.
Вы можете попробовать эту книгу - Красивый код
Автор собрал несколько статей по обмену опытом по проектам с открытым исходным кодом. например, реализация словаря Python, редактор Delta Editor в Subversion и т. д.