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.