December 5, 2012


Crear un nuevo tipo de pantalla (Android)


Si necesita crear un nuevo tipo de pantalla porque ninguna de las existentes se adapta a sus necesidades, puede crear una nueva siguiendo los pasos que se muestran a continuación:


Paso 1: Tipo de actividad

Añadir nuevo caso al enumerado ActivityType dentro del paquete com.emobc.android. El nuevo caso es el nuevo tipo de pantalla.


ACTIVITY_NAME_ACTIVITY

Paso 2: Crear y definir un XML

Es necesario definir el xml para el nuevo tipo de pantalla. Tendría que incluir todos los datos necesarios para poder construir la pantalla. Es posible reutilizar alguno existente.


Paso 3: Crear datos de la aplicación

Crear los datos que se usarán en tiempo de ejecución por la aplicación. Estos datos serán clases que almacenan toda la información contenida en los xml previamente definidos.
Las clases de datos están almacenadas en neurowork.mobile.android.fw.levels.impl.

<NAME>LevelDataItem.java
<NAME>DataItem.java

Paso 4: Añadir parser

  • Crear un nuevo método dentro de ParseUtils.java para parsear el archivo xml del nuevo tipo de pantalla.

private static Map<String, Object> parse<ACTIVITY_NAME>LevelDataFile(XmlPullParser xpp)

  • Añadir el nuevo caso dentro del método parseLevelDataFile en ParseUtils.java para que devuelva el nuevo parser creado ante el nuevo tipo de pantalla.

Paso 5: Añadir Activity

  • Si fuera necesario, crear una nueva activity para el nuevo tipo de pantalla que herede de createMenus.

<ActivityName>Activity.java


Es posible reutilizar una activity previamente creada si se adapta a las necesidades del nuevo tipo de pantalla.
IMPORTANTE: Si se crea una nueva Activity, es necesario declararla en Manifest.xml
  • Añadir el nuevo caso al método getActivityClass en AppLevel.java dentro del paquete neurowork.mobile.android.fw.levels donde se devolverá la clase de la actividad creada o la que se reutilizará.
  • Crear el layout correspondiente al nuevo tipo de pantalla.

<activity_type>_layout.xml

Paso 6: Crear ActivityGenerator

  • Crear el nuevo generador de pantalla para el nuevo tipo de pantalla dentro del paquete net.neurowork.mobile.fw.activities.generators

<ActivityName>Generator.java


En esta pantalla incluimos toda la lógica que queremos que tenga nuestra aplicación.
El generator utilizará el tipo de datos del paso 3 para configurar el layout del paso 5.


  • Incluir este nuevo generator en la clase ActivityGeneratorFactory, en el método createActivityGenerator(), añadiendo un nuevo caso.


    Aitor García 
    Equipo eMobc

No comments:

Post a Comment