martes, 11 de octubre de 2016

Consejos para las pruebas Aplicaciones Móviles

El mundo de las aplicaciones móviles es muy competitivo. Además de muchas empresas mover sus aplicaciones de negocio a las plataformas móviles, también hay más de 2 millones de aplicaciones en App Store de Apple y de Google Play Store ofrece más de 2,2 millones de aplicaciones. El número medio de presentaciones por día en el App Store ha mantenido en alrededor de 2.000 en lo que va de año, según -PocketGamer. Para cualquier aplicación de destacar de la multitud, que tiene que ser de calidad superior, y que requiere un diseño cuidadoso y pruebas.

Aquí hay 10 consejos prácticos para los equipos de desarrollo de móviles que tratan de construir una aplicación móvil del stand-out:

1. Prueba de la plataforma de la derecha

Dependiendo de la plataforma de su aplicación se ha creado para nativo, basado en la Web, o un híbrido de los dos-su estrategia de prueba será diferente. Una aplicación nativa ofrece el mayor control sobre la experiencia, pero se necesita mucho más esfuerzo para mantenerlo a prueba en múltiples plataformas debido a la diversidad del hardware del dispositivo y el sistema operativo. las pruebas de aplicación basada en la web tiene sus propios desafíos. Tendrá que hacer frente a varios tipos de navegadores (de forma nativa integrada para el dispositivo o los navegadores estándar), pruebas de rendimiento / carga, y quizás lo más importante, cómo la aplicación funciona con diferentes tamaños de pantalla del dispositivo en la era de la Web sensible y adaptable diseño. Cualquiera que sea la plataforma se prueba, debes contar con la experiencia relevante en las pruebas de su equipo.

2. Conocer a los usuarios finales

Para construir una aplicación móvil con éxito, se necesita una gran cantidad de datos acerca de sus usuarios finales. Sólo se pueden tomar decisiones de negocios, definir su política de apoyo, priorizar el desarrollo, y perfeccionar la experiencia del usuario si se sabe cómo el usuario final se relaciona con su aplicación. Trabajar con su equipo de desarrollo para construir mecanismos de análisis en la aplicación. La medición de los datos del usuario final es fundamental, no sólo para la identificación de estrategia de prueba relevante, sino también para tomar decisiones de negocio en el futuro.

3. En primer lugar Funcionalidad

La funcionalidad principal es la principal atracción para cualquier aplicación y tiene que ser sólido como una roca. La gente busca aplicaciones para realizar funciones específicas. funcionalidad incompleta o inadecuada dará lugar a abandono, así que asegúrese de que las principales funciones son totalmente implementados y probados antes de seguir adelante.

4. La experiencia del usuario Segunda

Las aplicaciones móviles tienen que ser accesibles y resbaladiza. Si la interfaz de usuario está mal diseñado, o la funcionalidad no fluye de manera intuitiva, es necesario rehacerlo. Probadores deben tener en cuenta la facilidad de uso y destacar cualquier problema. No espere hasta que la aplicación está lista para la prueba para evaluar la experiencia del usuario. Puede empezar a probar la experiencia del usuario al principio del ciclo de desarrollo, tan pronto como el prototipo o maqueta de diseño está listo.

5. No se olvide de compromiso emocional

El juego móvil recientemente publicado "Pokémon GO" ilustra la importancia del compromiso emocional para aplicaciones móviles. En la era móvil, hay cientos de aplicaciones que sirven las mismas ideas de negocio, pero sólo una parte puñado dominan el mercado. Incluso si usted puede conseguir a alguien para descargar e instalar la aplicación, no hay garantía de que van a utilizar con regularidad. Muchas aplicaciones son abandonados después de un solo uso. ganchos de construcción y estrategias para alentar a la gente de vuelta es importante. Pruebe el compromiso emocional de su aplicación con un grupo representativo de usuarios finales fuera del equipo de desarrollo.

6. Prueba inteligente equilibrada

Mantener un cuidadoso equilibrio entre las pruebas basadas en guión y pruebas exploratorias. Recuerde que las pruebas basadas en la escritura no ayudará a evaluar el compromiso emocional, y este tipo de pruebas que normalmente toma más tiempo para alcanzar el nivel deseado de cobertura. Las pruebas basadas en sesión es más eficaz para la detección de problemas de los usuarios de experiencia, escenarios de casos de borde, y las condiciones de uso especiales. Obtener el derecho de mezcla para asegurar que la cobertura es tan completa como sea posible.

7. Definir su Política de asistencia

Es imposible probar todas las combinaciones de los navegadores, plataformas y dispositivos. Definir su política de apoyo desde el principio y volver a visitar cada tres meses más o menos para mantenerse al día con el ritmo del mercado de telefonía móvil. Emplear datos del usuario final y estudios de mercado para identificar los dispositivos de destino y versiones de la plataforma. La mayoría de las pruebas se debe centrar en la combinación que representa el mayor número de usuarios finales.

8. Utilice un servicio de nube para probar en más dispositivos

Puede utilizar emuladores durante el desarrollo, pero con el tiempo su aplicación debe ser probado en dispositivos reales. No es práctico mantener un inventario completo de todos los dispositivos móviles. Considere el uso de una plataforma de gestión de dispositivos basada en la nube que le dará todo el equipo fácil acceso a una amplia gama de dispositivos y versiones de la plataforma.

9. definir mejor y optimizar

Hay unos pocos tipos de pruebas específicas que funcionan muy bien para aplicaciones móviles para refinar y optimizarlos. Como de costumbre, considerar la prueba de alfa / beta de los hitos clave de entrega. Usar las pruebas A / B para averiguar lo que los usuarios finales prefieren y las decisiones finales de base en la retroalimentación. Utilice las pruebas de optimización para la toma de decisiones en simples cambios pequeños y la interfaz de usuario y funcionalidad. prueba falsa puertas también se puede utilizar para determinar qué nuevas características de gama usuarios están más interesados ​​en en una etapa temprana de desarrollo.

10. No se olvide de Pruebas de Rendimiento

Los dispositivos móviles operan en una gama de diferentes condiciones y esto se olvida fácilmente cuando se prueba. Utilizar dispositivos reales para averiguar cómo su aplicación se encarga de diferentes intensidades de señal, multitarea con otras aplicaciones en ejecución, el cambio entre las funciones básicas del teléfono, y en ejecución en diferentes soportes. Es necesario mirar a una gran cantidad de diferentes escenarios para detectar todos los posibles problemas de rendimiento.

Conclusión

No es fácil desarrollar una aplicación móvil con éxito, pero con la estrategia correcta para pruebas móviles, puede realmente aumentar sus posibilidades.

lunes, 19 de septiembre de 2016

Usando Android Intents

Usando Intents en Android 

 Después de escribir una sola actividad, se llega a una necesidad de hacer la transición a otra actividad para realizar otra tarea, ya sea con o sin información de la primera actividad. plataforma Android permite la transición por medio de la interfaz de Intent.

En este ejemplo hay dos actividades - IntentA.java y IntentB.java que tanto extender la actividad de superclase.

No se olvide de declarar cualquier nueva actividad en el AndroidManifest.xml con permiso. He introducido botones tanto en las actividades que tienen un oyente para permitir un intento de transición de una intent de la otra actividad y vis-versa.

ejemplo intent sencillo: Tenga en cuenta que el paso opcional 2 no se utilizó en nuestro ejemplo.

Paso 1: Intent i = new Intent(context, NameOfClassToTransitionTo.class)

Paso 2:(Optional)Intents pueden adoptar diversas formas que hacen que sea incluso transportar datos en pares clave / name es decir, i.putExtra("key1", "My first Info") i.putExtra("key2", "My second Info")

Paso 3: startActivity(i)

 IntentA.java

package com.thenewcircle.com;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class IntentActionDemo extends Activity implements OnClickListener {
    /** Called when the activity is first created. */
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Button button = (Button) findViewById(R.id.intentButton);
        button.setOnClickListener(this);
         
    }

    @Override
    public void onClick(View src) {
      Intent i = new Intent(this, IntentA.class);
      startActivity(i);
    }
}


IntentB.java

package com.thenewcircle.com;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class IntentA extends Activity implements OnClickListener{

    @Override
    public void onClick(View src) {
      Intent i = new Intent(this, IntentActionDemo.class);
      startActivity(i);
    }
    
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.intenta);
        
        Button button = (Button) findViewById(R.id.ButtonIntentA);
        button.setOnClickListener(this);
    }
}


Creando una Actividad en Android

Creado una Actividad en Android

Mantener el ciclo de vida de la actividad en mente, echar un vistazo a una actividad en el proyecto de ejemplo. MainActivity abierta, verá que onCreate se ve así:








protected void onCreate(Bundle savedInstanceState) {
  // 1
  super.onCreate(savedInstanceState);
 
  // 2 
  getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
    WindowManager.LayoutParams.FLAG_FULLSCREEN);
 
  // 3
  setContentView(R.layout.activity_main);
 
  // 4
  mDateTimeTextView = (TextView) findViewById(R.id.dateTimeTextView);
  final Button addTaskBtn = (Button) findViewById(R.id.addTaskBtn);
  final ListView listview = (ListView) findViewById(R.id.taskListview);            
  mList = new ArrayList();
 
  // 5
  mAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, mList);
  listview.setAdapter(mAdapter);
 
  // 6
  listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView adapterView, View view, int i, long l) {
 
    }
  });
}


Aquí está la descripción de cada punto:

1-Usted llama onCreate () de la superclase; recuerde que esto siempre es lo primero que se debe hacer en un método de devolución de llamada.

2-Usted le dice al WindowManager para hacer la pantalla de la ventana de su actividad.

3-Se establece el punto de vista contenido de su actividad con el recurso de archivo de diseño correspondiente.

4-Aquí inicializar todas las variables de interfaz de usuario y datos. En este caso, se utiliza un TextView para mostrar la fecha y hora actuales, un botón para agregar a su lista de tareas, un ListView para mostrar su lista, y un ArrayList para mantener sus datos. Puede encontrar la aplicación de todos estos elementos de interfaz de usuario en el archivo activity_main.xml.

5-Aquí inicializar y configurar el adaptador que se encargará de los datos para su ListView.

6-Se establece un OnItemClickListener () para el ListView para capturar el grifo del usuario en la lista de entradas individuales.

Ciclo de Vida de una Actividad en Android

Ciclo de Vida de una Actividad en Android

Antes de comenzar, sumérjase en un poco de teoría, las actividades son los cimientos sobre la construcción de pantallas para su aplicación.

Abarcan múltiples componentes que el usuario puede interactuar, y es probable que su aplicación va a tener varias actividades para manejar las diversas pantallas que se crean.

Tener todas estas actividades que hacen cosas diferentes hace que suene que el desarrollo de una aplicación para Android es una tarea complicada.

Afortunadamente, Android se encarga de esto con los métodos de devolución de llamada específicos que inician código sólo cuando es necesario. Este sistema se conoce como el ciclo de vida de la actividad.

El manejo de las diferentes etapas del ciclo de vida de sus actividades es crucial para crear una aplicación robusta y fiable.

El ciclo de vida de una actividad se ilustra mejor como una pirámide escalonada de las diferentes etapas unidas por los métodos de devolución de llamada núcleo: El ciclo de vida en la acción en su trayecto a través de su código.

Echar un vistazo más de cerca a cada una de las devoluciones de llamada:

onCreate (): Cuando se crea una actividad, también se llama a este método. Esto también donde inicializar los elementos de interfaz de usuario u objetos de datos. También tiene la savedInstanceState de la actividad que contiene su estado previamente guardado, y se puede utilizar para volver a crear ese estado.

onStart (): Justo antes de presentar al usuario con una actividad, se llama a este método. Siempre ha seguido por onResume () y muy raramente por onStop (). Aquí, por lo general, debe comenzar animaciones de interfaz de usuario, contenido basado en audio o cualquier otra cosa que requiere el contenido de la actividad para estar en pantalla.

onResume (): Antes de poner una actividad de nuevo a primer plano, se llama a este método. Aquí tienes un buen lugar para reiniciar las animaciones, actualizar elementos de la interfaz, reinicie vistas previas de la cámara, reanudar la reproducción de audio / vídeo o inicializar los componentes que libera durante onPause ().

onPause (): Antes de caer en el fondo, se llama a este método. Aquí se debe detener cualquier visuales o de audio asociados con la actividad, tales como animaciones de interfaz de usuario, la reproducción de música o la cámara. Este método es seguido por onResume () si la actividad vuelve al primer plano o por onStop () si se convierte en oculto.

onStop (): se llama a este método justo después onPause (), pero antes de la actividad pasa a un segundo plano, y es un buen lugar para guardar los datos que desea comprometerse con el disco. Es seguido por cualquiera onRestart (), si esta actividad se va a volver al primer plano, o OnDestroy () si está siendo liberado de la memoria.

onRestart (): Después de detener una actividad, pero justo antes de comenzar de nuevo, se llama a este método. Siempre ha seguido por onStart ().

OnDestroy (): Esta es la última llamada de retorno que recibirá del sistema antes se destruye la actividad. Una llamada a la meta () es una manera de destruir la actividad, o puede ser activado por el sistema cuando se van a recuperar la memoria. Si su actividad incluye todos los hilos de fondo u otros recursos de larga duración, la destrucción podría conducir a una pérdida de memoria si no son puestos en libertad, por lo que es necesario recordar detener estos procesos aquí también.

jueves, 8 de septiembre de 2016

Crear un Splash de Android en 5 pasos

Crear un SPLASH en Android Studio





1-.Crear un proyecto con un template en blanco.

2-.Agregar un archivo en los layout con el nombre de "splash.xml" y agregamos lo siguiente:



LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:background="@drawable/splash_image"
 android:orientation="vertical"

/LinearLayout


3-.Crear un Clase en el paquete con lo siguiente:

package com.coderefer.androidsplashscreenexample;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

/**
 * Created by vamsikrishna on 12-Feb-15.
 */
public class SplashScreen extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash);

        Thread timerThread = new Thread(){
            public void run(){
                try{
                    sleep(3000);
                }catch(InterruptedException e){
                    e.printStackTrace();
                }finally{
                    Intent intent = new Intent(SplashScreen.this,MainActivity.class);
                    startActivity(intent);
                }
            }
        };
        timerThread.start();
    }

    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        finish();
    }

}


4-.En el archivo de AndroidManifest.xml agregar lo siguiente:



 application
 android:allowBackup="true"
 android:icon="@mipmap/ic_launcher"
 android:label="@string/app_name"
 android:theme="@style/AppTheme" 

 activity
 android:name=".SplashScreen"
 android:label="@string/app_name" 
 intent-filter
 action android:name="android.intent.action.MAIN" /

 category android:name="android.intent.category.LAUNCHER" /
 /intent-filter
 /activity

 activity
 android:name=".MainActivity"
 android:label="@string/app_name" 
 intent-filter>
 action android:name="com.coderefer.androidsplashscreenexample.MAINACTIVITY" /

 category android:name="android.intent.category.DEFAULT" /
 /intent-filter
 /activity
 /application




5-.Por ultimo compilamos y ejecutamos el apps.

Con estos cinco pasos ya tenemos nuestr primer Splash.