Разработка мобильного приложения для развивающего образовательного центра



Pdf көрінісі
бет18/26
Дата29.05.2022
өлшемі1,62 Mb.
#35872
түріРеферат
1   ...   14   15   16   17   18   19   20   21   ...   26
public
class
SplashActivity
extends
BaseActivity 
{
private
static
final
int
DELAY_SEC 
=
0
*
1000
;
@Override
protected
int
getLayoutId
()
{
return
R
.
layout
.
activity_splash
;
}
@Override
protected
void
onAction
()
{
new
Handler
().
postDelayed
(()
->
{
ViewFactory
.
create
(
ViewFactory
.
MAIN_VIEW
).
show
(
this
,
null
);
finish
();
},
DELAY_SEC
);
}
}
Код 5. Окно загрузки приложения 
В методе onAction мы создаем обработчик с задержкой на одну секунду 
для отображения окна приложения. После того как пройдет время, будет 
выполнен фрагмент кода в блоке который выполнен с применением 
замыканий[31] из синтаксиса Java 8. Произойдет запуск главного окна и 
закрытие текущего. 


56 
Не менее важным классом представления является BaseViewActivity 
который является родительским для остальным представлений реализующих 
интерфейс BaseView: 
public
abstract
class
BaseViewActivity
<

extends
BasePresenter
>
extends
BaseActivity 
implements
BaseView 
{
private
P mPr
;
@Override
public
void
show
(
@NonNull
final
Context pContext
,
@Nullable
final
Bundle 
pArguments
)
{
Intent intent 
=
new
Intent
(
pContext
,
getClass
());
if
(
pArguments 
!=
null
)
intent
.
putExtras
(
pArguments
);
pContext
.
startActivity
(
intent
);
}
@Override
public
void
hide
()
{
moveTaskToBack
(
true
);
}
@Override
public
void
close
()
{
finish
();
}
@Override
protected
void
onAction
()
{
onSetup
();
mPr 
=
PresenterFactory
.
create
(
this
);
mPr
.
onCreate
();
}
protected

pr
()
{
return
mPr
;
}
protected
abstract
void
onSetup
();
}
Код 6. Базовое представление 
Реализованный метод show данного класса реализует стандартную 
логику отображения Activity в экосистеме Android, метод hide прячет окно 


57 
приложения, close закрывает окно, но остается в стеке приложений, onAction 
вызывает абстрактный метод onSetup и далее создает Presenter и вызывает 
его метод onCreate для его инициализации, метод pr возвращает Presenter
С данного класса начитает работать пользовательского паттерн 
MVP[32].
MVP — шаблон проектирования пользовательского интерфейса, который 
был разработан для облегчения автоматического модульного тестирования и 
улучшения разделения ответственности в презентационной логике 
(отделения логики от отображения): 

Модель (англ. Model) — предоставляет данные для 
пользовательского интерфейса. 

Представление (англ. View) — реализует отображение 
данных (Модели) и маршрутизацию пользовательских 
команд или событий Presenterʼу. 

Presenter — управляет Моделью и Представлением. 
Например, извлекает данные из Модели и форматирует их 
для отображения в Представлении. 
Обычно экземпляр Представления создаёт экземпляр Presenterʼа, передавая 
ему ссылку на себя. При этом Presenter работает с Представлением в 
абстрактном виде, через его интерфейс. Когда вызывается событие 
Представления, оно вызывает конкретный метод Presenterʼа, не имеющего ни 
параметров, ни возвращаемого значения. Presenter получает необходимые для 
работы метода данные о состоянии пользовательского интерфейса через 
интерфейс Представления и через него же передаёт в Представление данные 
из Модели и другие результаты своей работы. 
После рассмотрения архитектуры паттерна MVP мы можем 
представить базовый класс нашего презентера: 


Достарыңызбен бөлісу:
1   ...   14   15   16   17   18   19   20   21   ...   26




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет