miércoles, 26 de abril de 2017

Mercado de aplicaciones móviles

Una de las batallas con menos impacto mediático general pero más importantes para el futuro de una plataforma es la de generación de ingresos. Para Android, iOS o cualquier sistema operativo que se base en que desarrolladores externos creen apps para el mismo el que haya un retorno económico es clave

Durante años iOS se ha mantenido en el primer puesto a la hora de generar dinero para los programadores que elegían su sistema operativo aunque eso parece que cambiará en 2017.




Según los analistas de App Annie este año será el primero en el que las aplicaciones Android generen más ingresos que las de iOS.

Hay que dejar claro que no estamos enfrentando al Google Play Store contra la AppStore ya que en el conjunto de ingresos generados por el sistema del androide verde se incluyen las principales tiendas de aplicaciones, no sólo la oficial.
Los ingresos de apps Android incluyen todas las tiendas grandes, como las de los fabricantes
El tener esto en cuenta es importante ya que según la misma fuente las tiendas propias de empresas como Tencent, Baidu, Xiaomi o Huawei dieron más de 10.000 millones de dólares el año pasado y este se estima que generarán más de 20.000 millones para los desarrolladores que apuesten por poner aplicaciones en sus tiendas.




Lo que parece que no cambiará es el Top 5 de los países donde más ingresos se generan. En 2016 fueron China, Estados Unidos, Japón, Corea del Sur y Reino Unido. Dentro de cinco años se estima que sigan siendo los mismos. Es más, su importancia subirá. Actualmente suponen el 75% del total de los ingresos generados y en 2021 se estima que sea el 85%.


Tomado de https://elandroidelibre.elespanol.com/2017/03/android-dinero-desarrolladores-ios-2017.html

lunes, 19 de marzo de 2012

Taller Android UTPL: SQLite

Durante la presentación del taller. Uno de los temas revisados fue la utilización de SQLite dentro de aplicaciones Android para poder almacenar y consultar información, además de aprender a utilizar las herramientas ADB para manejar la base de datos desde la consola.

martes, 13 de marzo de 2012

Taller Android UTPL: Estilos y Diálogos

Siguiendo con el Taller Android UTPL (Marzo 2012) adjuntamos el slide pertenenciente a la parte del Taller sobre Estilos y Diálogos.


Mostrar en PC tu Android

Hola en ésta entrada les voy a mostrar cómo podemos mostrar la pantalla de nuestra tablet o smartphone ANDROID en el monitor de nuestra PC.

Es muy fácil con Android Screen Cast que es desarrollado por el grupo de Google.

Para ello vamos a explicar los pasos mostrados en la documentación oficial que se puede seguir desde aqui.

1. Tener instalado nuestro SDK de android. (Si no lo tienes puedes seguir los pasos aqui)

2. Conectamos nuestro dispositivo ANDROID al puerto USB del computador y luego vamos desde consola a donde tenemos instalado nuestro android-sdk y luego a la carpeta plataform-tools. En mi caso escribo lo siguiente

Y luego comprobamos que nuestro dispositivo sea reconocido escribimos lo siguiente: adb devices y damos enter.
Deberá salirte algo parecido a esto:

(NOTA: Se deberá descargar el driver del dispositivo si no es reconocido el dispositivo)

3. Deberás tener instalado Java Runtime Environnement 5 o posterior en tu equipo

4. Descargamos AndroidScreenCast
Una vez descargado vemos que es un archivo .jar por lo que procedemos a abrirlo desde consola

Vamos a ir al directorio donde se encuentra descargado; para comodidad y buscarlo rápidamente en otras ocaciones yo lo voy a mover a la carpeta plataform-tools y escribimos lo siguiente:  javaws androidscreencast.jnlp y damos enter.

 Nos va a salir la siguiente advertencia de seguridad y marcamos confiar el contenido

Y listo.
Nos aparecera en nuestra monitor del PC lo que se muestre en nuestro dispositivo ANDROID



Espero que haya sido de su ayuda ésta entrada
Saludos

lunes, 12 de marzo de 2012

Taller Android UTPL (Marzo 2012)

Como parte de nuestro proyecto, durante esta semana se realiza el siguiente curso básico para estudiantes de la carrera Sistemas Informáticos UTPL 2012. A continuación se adjunta el slide de la primera parte del taller. Taller android parte1 - Android Developers Loja Group

sábado, 3 de marzo de 2012

Tips para programar en Android

En ésta corta entrada voy a enseñarles 4 tips que nos serán útiles al momento de estar escribiendo nuestras aplicaciones en Android desde Eclipse.

Vamos a referirnos al siguiente código del ejemplo de Hola Mundo (parte 2)
package android.developers.loja.group.HolaMundo;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class HolaMundoActivity extends Activity {
 /** Called when the activity is first created. */

 // Inicializamos las variables con su tipo de recurso
 EditText obtenerNombre;
 Button saludar;
 TextView mostrarSaludo;

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  // Obtenemos el recurso y lo guardamos en cada variable a la que
  // pertenezca
  obtenerNombre = (EditText) findViewById(R.id.ediTxtNombre);
  saludar = (Button) findViewById(R.id.btnSaludar);
  mostrarSaludo = (TextView) findViewById(R.id.txtMuestra);

  // Se lanza un evento al presionar el boton
  saludar.setOnClickListener(new OnClickListener() {
   public void onClick(View v) {
    // Se muestra el mensaje y el nombre que hemos escrito
    // setText() coloca un texto en el TextView
    // getText() obtiene el nombre que ingresamos en el EditText
    mostrarSaludo
      .setText("Bienvenido a Android Developers Loja Group: "
        + obtenerNombre.getText().toString());
   }
  });
 }
}

1. Primeramente el clásico CTRL+ SPACE ésto nos desplegará palabras reservadas que queramos utilizar con su respectivo significado
Por ejemplo en la linea 15 podemos empezar a escribir Edi y presionamos CTRL+SPACE se nos muestra lo siguiente:
Una vez que queramos la palabra reservada que queramos la seleccionamos y damos ENTER y listo.


2. Para comentar/descomentar varias lineas es muy fácil, seleccionamos lo que queremos comentar/descomentar y presionamos CTRL+SHIFT+C
Por ejemplo voy a comentar todo el método onCreate, desde la linea 19 a la 41.


3. Para ordenar nuestro código respetando las alineaciones es muy fácil, seleccionamos el texto que queramos alinear y presionamos CTRL+SHIFT+F
Por ejemplo voy a desordenar el método OnCreate y luego al presionar CTRL+SHIFT+F se va a ordenar automáticamente


@Override
 public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

  // Obtenemos el recurso y lo guardamos en cada variable a la que
  // pertenezca
obtenerNombre = (EditText) findViewById(R.id.ediTxtNombre);
  saludar = (Button) findViewById(R.id.btnSaludar);
 mostrarSaludo = (TextView) findViewById(R.id.txtMuestra);

  // Se lanza un evento al presionar el boton
 saludar.setOnClickListener(new OnClickListener() {
  public void onClick(View v) {
    // Se muestra el mensaje y el nombre que hemos escrito
    // setText() coloca un texto en el TextView
    // getText() obtiene el nombre que ingresamos en el EditText
  mostrarSaludo.setText("Bienvenido a Android Developers Loja Group: "+ obtenerNombre.getText().toString());
} }); }


@Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  // Obtenemos el recurso y lo guardamos en cada variable a la que
  // pertenezca
  obtenerNombre = (EditText) findViewById(R.id.ediTxtNombre);
  saludar = (Button) findViewById(R.id.btnSaludar);
  mostrarSaludo = (TextView) findViewById(R.id.txtMuestra);

  // Se lanza un evento al presionar el boton
  saludar.setOnClickListener(new OnClickListener() {
   public void onClick(View v) {
    // Se muestra el mensaje y el nombre que hemos escrito
    // setText() coloca un texto en el TextView
    // getText() obtiene el nombre que ingresamos en el EditText
    mostrarSaludo
      .setText("Bienvenido a Android Developers Loja Group: "
        + obtenerNombre.getText().toString());
   }
  });
 }




4. Cuando creamos una actividad tiene ciclos como podemos ver en la siguiente imagen tomada desde la página oficial de Android



Android por defecto nos crea el método onCreate con sus respectivos componentes, si nosotros queremos agregar algún otro método del ciclo de vida de la actividad realizamos lo siguiente para no estar tipeando algo:


Voy a crear el método onStop(), hacemos en cualquier parte donde escribimos el código CLIK DERECHO y luego seguimos los siguientes pasos como muestra la imagen:


Como podemos darnos cuenta ahí podemos buscar muchos métodos que podemos implementar de acuerdo a las necesidades de lo que se esté desarrollando.

Presionamos ok y se nos generará el nuevo método que hemos creado.

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

Espero que les haya sido de utilidad ésta entrada..
Saludos



martes, 28 de febrero de 2012

Componetes principales de una aplicación Android

En esta publicación hablaré sobre los componentes principales de las aplicaciones Android.

Cuando desarrollamos aplicaciones Android contamos con los siguientes elementos básicos:
  • Activities
  • Intents
  • Services
  • Manifest

Activities

Una activity es un componente muy importante dentro de una aplicación Android, ya que representa a una ventana. Algo similar a las ventanas de las aplicaciones de escritorio. Por ejemplo una aplicación de correo electrónico puede tener una activity para presentar los correos recibidos, otra activity para presentar los correos enviados, etc. En la siguiente figura se muestra una activity de una aplicación para mejor comprensión.

Cabe indicar que una activity debe estar asociada a un archivo de Layout para poder ser mostrada en la pantalla.

¿Como crear una actividad?

Para crear una activity, se debe crear una clase que instancie a la clase Activity e implementar los métodos necesarios. El método más importante que se debe implementar es:
  • onCreate(): El sistema llama a este método al crear la activity. Dentro de la implementación, se deben inicializar los componentes necesarios de la activity. Lo mas importante dentro de este método es asociar el layout utilizando el método setContentView().
La siguiente porción de código nos muestra la creación de una Activity
public class GastosApplicationActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Algo muy importante que hay que recordar, es que, cuando se crea una actividad, esta debe ser agregada al archivo AndroidManifest.xml para poder se accedida por el sistema. Mas adelante se dará una explicación de este archivo.

Intents

Los Intents son mensajes que permiten a los componentes como actvities, services, etc; comunicarse entre si. Por ejemplo se puede llamar de una activity a otra a través de los intents. Algo importante que se debe tener en cuenta que con los intents también se puede enviar datos de una activity a otra. En la siguiente figura se muestra la estructura de varias activies a través de Intents.


Existen 2 tipos de intents que se pueden utilizar:
  • Intents Explicitos: En los intents explícitos se nombra explícitamente valga la redundancia, a la clase del componente que va a ser llamado. Este nombramiento se lo hace instanciando a la clase Intent. En el siguiente codigo de ejemplo se crea un intent y se envía datos a través del mismo.

Intent intent1 = new Intent(this, Activity2.class);
intent1.putExtra("nombres", nombres);
intent1.putExtra("apellidos", apellidos);
startActivity(intent1);
  • Intents Implicitos: En los intents implicitos no se especifica la clase de componente que va a ser llamado. En vez de ello se especifica la acción que se debe realizar y opcionalmente especificar una URI que se debe utilizar para dicha acción. Por ejemplo
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
Services

Los servicios son componentes que no cuentan con una interfaz gráfica, pero que realizan operaciones importantes y continuación corriendo en modo silencio. Por ejemplo un servicio puede manejar transacciones de red, tocar musica, etc; todo esto lo hace de forma silenciosa e invisible para los usuarios.

Un servicio solamente puede tener 2 formas:
  • Started o Iniciado: Un servicio está "iniciado" cuando un componente de la aplicación (por ejemplo una activity) lo inicia llamando al método startService(). Una vez iniciado el servicio, este se puede ejecutar de forma indefinida, incluso si el componente que lo llamo es destruido. Por lo general, un servicio realiza una sola operación y no devuelve un resultado al componente que lo llama. Por ejemplo, un servicio puede descargar un archivo a través de la red. Cuando la operación se realiza, el servicio debe detenerse.
  • Bind u obligado: Un servicio está "obligado" cuando un componente de la aplicación se une a el llamando al método bindService(). Un servicio obligado ofrece una interfaz de cliente-servidor que permite a los componentes interactuar con el servicio, enviar solicitudes, obtener resultados, etc. Un servicio obligado sólo se ejecuta mientras otro componente de la aplicación está obligado a el. Varios componentes se pueden enlazar con el servicio a la vez, pero cuando todos ellos se termina, el servicio se destruye.
Al igual que las activities son declaradas en el archivo manifest.xml, los servicios también deben ser declarados.

Manifest

El archivo manifest es un elemento muy importante dentro de Android, ya que en el se declaran todos los componentes como activities, intents o services que serán utilizados dentro de todas las aplicaciones que realizemos.

Cabe indicar que este es un archivo xml en el cual se agregan todos los componentes. El siguiente código nos muestra el archivo manifest de una aplicación para una mayor comprensión.

































Con esto terminamos de hablar sobre los componentes básicos para desarrollar aplicaciones Android.