Curso Android, UMSA 2016

This course was created for the Computer Laboratory at the Universidad Mayor de San Andrés. Two versions were carried out in 2016.

Some resources are not available. The migration is taking place.

Módulo I

Sesión 1: Introducción

Instalar Android Studio en Windows

Ejecutar aplicaciones en dispositivo físico vía USB

Lecturas


Sesión 2: Dominando herramientas de desarrollo


Sesión 3: Creación y depuración de una aplicación

Proyecto “Aplicacion 1”


Sesión 4: Administración de recursos



Sesión 6: Material Design y componentes UI

Actualizar Google Repository y Android Support Repository

Para poder usar nuevas versiones la librería de soporte

SDKAndroid3

Aplicación “Formulario”

Primera parte de la aplicación realizada en clase.


Sesión 7: RecyclerView, CardView y menús

Dependencias para Material Design

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'

    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:design:23.4.0'
    compile 'com.android.support:cardview-v7:23.4.0'
    compile 'com.android.support:recyclerview-v7:23.4.0'
}

Ejemplo de RecyclerView de personas, CardView y menús

Código realizado en clase.

RecyclerView con listener



Módulo II

Sesión 8: Web, Pickers y Dialogs


Sesión 9: Almacenamiento de datos

Workshop: Mis Libros

Ejemplo uso de preferencias

Guardar

SharedPreferences preferences = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("puntaje", 77);
editor.putString("nombre", "Sin nombre");
editor.apply();

Leer

SharedPreferences preferences = getPreferences(Context.MODE_PRIVATE);
int puntaje = preferences.getInt("puntaje", 0);
String nombre = preferences.getString("nombre", "");

Sesión 10: Tratamiento XML, JSON y carga de imágenes

Tip: Acceso directo a un archivo en Google Drive

Colocar el ID del archivo.

https://docs.google.com/uc?export=download&id=ID_AQUI

Clase ParserXML

Ejercicio

URL del archivo JSON de ejemplo

https://docs.google.com/uc?export=download&id=0B5wCprFP-EBZTTB4TXVUenUwUXc

Método para obtener JSON desde URL (requiere permiso a Internet y estar en un AsyncTask)

public String getJsonFromUrl(String urlString) {
    StringBuilder result = new StringBuilder();
    HttpURLConnection urlConnection = null;
    try {
        URL url = new URL(urlString);
        urlConnection = (HttpURLConnection) url.openConnection();
        InputStream in = new BufferedInputStream(urlConnection.getInputStream());
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        String line;
        while ((line = reader.readLine()) != null) {
            result.append(line);
        }

    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        assert urlConnection != null;
        urlConnection.disconnect();
    }
    return result.toString();
}

Ejemplo uso GSON

// build.gradle
compile 'com.google.code.gson:gson:2.4'

Gson gson = new Gson();

// JSON a Objeto
Estudiante e = gson.fromJson(json, Estudiante.class);

// Objeto a JSON
Estudiante e = new Estudiante();
e.setNombre("Lidia Alvarez");
e.setPuntaje("42");
String json = gson.toJson(e);

Workshop: Noticias


Sesión 11: Web Services, APIs, Retrofit

OpenWeatherMap API

Aplicación Clima


Workshop: Películas


Sesión 12: SDKs, BAAS y Firebase

SDK de Facebook

Ver en YouTube

Firebase

Ver en YouTube

Recursos Extra


Módulo III

Sesión 13: Google Play Services y Localización

Proyectos

Documentación


Sesión 14: Google Maps & Google Places

Proyectos

Documentación


Práctica 1

Desarrollar una aplicación con un mapa de Google que tenga como marcadores al menos 5 puntos de agencias, sucursales o puntos de atención de una de las siguientes empresas:

  • Telecomunicaciones (Entel, Tigo o Viva)
  • Entidades financieras (BNB, BCP, BISA, etc)

La aplicación debe ser de una sola activity que contenga el mapa y cumplir las siguientes caracteristicas.

  • Tener un botón para ir al punto principal con animación
  • Todas las acciones y gestos deben estar habilitadas
  • Marcar con un círculo con 200 metros a la redonda a la agencia principal, con relleno de color semi transparente.
  • Los marcadores deben tener icono personalizado

Cualquier característica extra se toma en cuenta.


Sesión 15: Cámara, Galería, Google Photos

Proyectos

Documentación


Workshop: Planear Día


Sesión 16: Conectividad, Bluetooth

Proyecto


Sesión 17: Fragments, Navegación

Lecturas


Version 2

Módulo I

Prácticas


Módulo II

Developed Apps
5
Students
51
Duration
1 month(s)
Versions
2