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
- Slides
- IntelliJ IDEA Keymap (Atajos de teclado para Android Studio)
- Windows, Linux
- Mac
Sesión 3: Creación y depuración de una aplicación
Proyecto “Aplicacion 1”
Sesión 4: Administración de recursos
- Slides
- Paleta de colores Material Design
- Conversión de códigos de colores Hexadecimal a RGB y viceversa
- Iconos Material Design
Sesión 6: Material Design y componentes UI
- Slides
- Material Design website
- Material Up (diseños, apps, iconos, herramientas y otros)
- Historial de versiones de la librería de soporte
- Aplicación de rápido acceso a colores Material Design para Mac
Actualizar Google Repository y Android Support Repository
Para poder usar nuevas versiones la librería de soporte
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.
- Workshop (fix)
Módulo II
Sesión 8: Web, Pickers y Dialogs
- Slides
- Código aplicación ejemplo uso de WebView y Chrome Custom Tabs
- Código aplicación ejemplo uso de Picker 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
- Guía de uso (fix)
Aplicación Clima
Workshop: Películas
Sesión 12: SDKs, BAAS y Firebase
SDK de Facebook
Firebase
Recursos Extra
Módulo III
Sesión 13: Google Play Services y Localización
Proyectos
Documentación
Sesión 14: Google Maps & Google Places
- Slides (Google Maps)
- Slides (Google Places)
- Google Maps
Proyectos
- Proyecto de ejemplo realizado en clases (Google Maps)
- Proyecto de ejemplo realizado en clases (Google Places)
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
- Proyecto de ejemplo realizado en clase (Cámara, Galeria, Firebase Storage)
Documentación
Workshop: Planear Día
Sesión 16: Conectividad, Bluetooth
Proyecto
Sesión 17: Fragments, Navegación
Lecturas
Version 2
Módulo I
- Sesión 1: Introducción
- Sesión 2: Views & ViewGroups
- Sesión 3: Gestión de recursos
- Sesión 4: Activities & Intents
- Sesión 5: Material Design y componente UI
- Sesión 6: RecyclerView, CardView
- Workshop 1 (extra)