Taller de Desarrollo en Android

¿Que es Android?

  • Es un SO para móviles (originalmente).
  • "competencia" directa de iOS, Symbian y Blackberry OS.
  • Desarrollado por Android inc. pero luego comprado por Google.

  • Basado en GNU/Linux, de Codigo Libre (Kernel Linux).
    • "Gratuito": ni el fabricante ni los desarrolladores pagan por el.
     

    Un poco de historia



    ¿Open Handset Alliance?

    Fabricantes, desarrolladores de hardware, software y operadores de compañías

    2008-2009 


    2010-2011


    2012-2013






    ¿Dónde lo encontramos?

    Smartphones

    Tablets

     

    "Smartbooks" / Netbooks

     

    Ebook Readers (Kindle)


    Relojes Inteligentes

    Televisores Inteligentes (SmarTV's)


    Consolas (Ouya)

    JXD

    iPhone (proyecto iDroid)


    Audífonos


    Microondas


    Lavadoras y Centrifugas 


    Multifuncionales


    Telefonos de Hogar


    Refrigeradores


    Cocina


    Android en Números


    En el Q2 2013

    • 9mil millones (9,000,000,000) de dispositivos activos (15 de Mayo).
    • Población mundial: 7mil millones de personas.
    • Se activan diariamente 1,500,000 dispositivos.
       

    Google play store

    • Total aplicaciones según appbrain.com: 866.470.
    • Total aplicaciones según android.com: 975,000+.
    • 50 mil millones (50,000,000,000) de descargas.

    Android en Números

    Ventas Mundiales de equipos y participación en el mercado

    Fuente: www.tech-thoughts.net/2013/08/smartphone-market-share-trends-by-country-q2-2013.html

    Android en Números

    El 79,5% de todos los Smartphones vendidos en el mundo el 2013 vienen con Android incluido.
    En España hasta el 93% de los Smartphones tienen Android

    fuente: http://androidcommunity.com/android-bags-80-of-global-smartphone-shipments-in-q2-2013-20130804

    ¿Qué vamos a hacer hoy?



    Vamos a hacer nuestra primera aplicación. Ohhh!!



    Utilizaremos Android como plataforma
    Java como lenguaje
    Eclipse como IDE


    ¿Porque desarrollar en Android?


    Gran porcentaje de usuarios/clientes en múltiples idiomas.


    Ganar dinero con la venta (70% del precio para el desarrollador) o publicidad.


    Resolver una necesidad particular.


    Bajo costo de desarrollo (cuenta en el market, licencias de software, hardware especifico, etc.)

    Herramientas de desarrollo


    Java JDK 1.6+ (Java Developers Tools)


    Eclipse IDE

    Android SDK Tools


    ADT (Android Development Tools)


    Un equipo con Android (USB drivers)

    o un emulador (incluido en ADT)

    ¿En que versión desarrollar?



    Distribución entre varias versiones de Android
    fuente http://developer.android.com/about/dashboards/index.html



    ¡¡Manos a la Obra!!

    Los que tengan un teléfono + cable

    Ajustes
    Opciones de desarrollo
    Depuración de USB (activo)

    Ajustes
    Seguridad
    Fuentes desconocidas

    Los que no tengan un teléfono

    Crear una máquina virtual

    Objetivos


    Calculadora de Dólares (link aca)

    Transformar de Dólares a Pesos
    Transformar de Pesos a Dólares

    Promedio de Notas (si hay tiempo)

    Ingresar notas y porcentajes
    Ver que nota necesito para un 4.0
    Calcular promedio a final de semestre

    Proyecto Terminado


    Paso 1: Crear la interfaz Gráfica


    Paso 2: Asignar una acción a los botones


    Obtener el recurso de un botón

    Button btn_uno = (Button) findViewById( R.id.button1); 

    Asignar un “Escuchador de Eventos”
    btn_uno.setOnClickListener( new View.OnClickListener(){
      public void onClick(View v) {
        Toast.makeText(getApplicationContext(), "hola mundo", Toast.LENGTH_SHORT).show();
      }
    }); 

    Paso 3: Leer el numero de un campo y mostrarlo

    Obtener el recurso EditText del valor ingresado
    entrada_dolar = (EditText) findViewById(R.id.entrada_en_dolar); 

    Obtener el texto del recurso
    String  dolar_str = entrada_dolar.getText().toString();
    if(dolar_str.length()==0)
            dolar_str = "0"; 
    Convertir el texto a un numero
    float dolar = Float.parseFloat(dolar_str); 
    Mostrar el valor que el usuario ingreso
    Toast.makeText(getApplicationContext(), "los dolares que quiere convertir son: "+dolar_str, Toast.LENGTH_SHORT).show(); 

    Paso 4: un poco de matemáticas con Java

    Anteriormente obtuvimos el valor del dólar
    float dolar = Float.parseFloat(dolar_str); 
    Suma, resta, multiplicación, división
    float resultado = dólar + 10;
    float resultado = dólar - 4;
    float resultado = dólar/2;
    float resultado = (dólar+1)/(2*2);
    Toast.makeText(getApplicationContext(), “resultado: "+resultado, Toast.LENGTH_SHORT).show(); 
    ¿Cómo Aproximar un numero?
    float pi = 3.14159265359f;
    float pi_aproximado = Math.round(pi); 

    Paso 5: Convertir de dólar a pesos

    Equivalencia:
    1 Dólar = 503 Pesos
    2 Dólar = 1006 Pesos
    3 Dólar = 1509 Pesos
    Pesos = Dólar * 503 
    En Java:
    float pesos = dolar*503; 

    Paso 6: Finalmente mostrar el resultado!!


    Obtener el recurso EditText del resultado
    salida_en_pesos = (EditText) findViewById(R.id.salida_en_pesos); 
    Cambiar el texto del recurso
    salida_en_pesos.setText(""+pesos); 

    Paso 7: Terminar segunda funcionalidad, convertir de Pesos a Dólar


    1. Obtener los recursos del botón y los campos.
    2.  Asignar un evento al botón de convertir.
    3.  Leer el numero del campo y guardarlo.
    4.  Calcular los dólares que corresponden.
    5.  Mostrar el resultado.

    Paso 8: Mejorando la aplicación, calcular el valor a medida que se escribe

    Cambiar el evento setOnClickListener por el evento addTextChangedListener
    entrada_en_pesos.addTextChangedListener(new TextWatcher() {
      public void onTextChanged(CharSequence s, int start, int before, int count) {
        // convertir y asignar el resultado
      }
      public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
      public void afterTextChanged(Editable s) {}
    }); 

    Paso final:


    La aplicación esta lista

    ¿Ahora que?... 


    A LUCRAR!


    ¿Como?
    Marker + publicidad = $$$



    ¿Preguntas?



    ¡Gracias!

    Made with Slides.com