AsierFox / diverjoy-android

Android game

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DiverJoy

This is an Android game.

Software architecture

The following architecture is used in this application.

UI Layout: The layouts of the application, where the view components are created using xml.

Activities: The activities are the representation of the UI, this class is going to manage the different actions and contents of the view.

Presenters: The presenters are classes that wrap the logic of the activities and calls to the services to execute specific actions.

Listeners: The listeners (using interfaces) are the actions that can be performed by the activities and the presenters.

Adapters: The adapters are the classes that adapt the RecyclerViews to a list.

Utils: The utils are stateless classes (usually with static methods) for util general operations.

Services: The services are for general logic operations, also they can use managers to make some specific tasks.

Managers: The managers are the classes that perform a specific logic of an ambit of a service. With this classes we are going to avoid the accumulation of logic in a single service.

Async Tasks: The async tasks are classes to make the logic of the application avoiding the UI thread. In this way we will use the UI thread only for the UI actions. The async tasks use the managers to call to the respective operations and also manages the listener to throw its event when the operation has finished.

Repositories: The repositories are the classes that are connected to the database to throw the respective queries. This classes are used by the managers.

Entities: The entities are the representation of the database into a programming classes. In this case, each entity is a RealmObject, representing the class as the table, its attributes as columns and each object instantiation as an registry. The entities are connected directly to the database.

Value objects: The value objects represent the data of the database, to use it through the whole application.

DDBB: The database where the data is located, in this app the database is in SQLite using Realm as ORM.

About

Android game

License:Apache License 2.0


Languages

Language:Java 100.0%