Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
info:cursos:cibernarium:android [04/10/2017 16:02] – [componentes] mateinfo:cursos:cibernarium:android [07/07/2018 10:41] (actual) – [Creación de aplicacions con Google Android] mate
Línia 1: Línia 1:
 = Creación de aplicacions con Google Android = Creación de aplicacions con Google Android
 +{{tag>android cursos}}
 == datos curso == datos curso
   * ONLINE ([[https://cibernarium.barcelonactiva.cat/web/guest/ficha-actividad?activityId=823431]])   * ONLINE ([[https://cibernarium.barcelonactiva.cat/web/guest/ficha-actividad?activityId=823431]])
Línia 53: Línia 54:
     * tiene asignada una vista (layout)     * tiene asignada una vista (layout)
     * java     * java
-    * cada una tiene su ciclo de vida (pausar, destruir, etc...) 
     * el sistema puede cerrar nuesta activity si necesita memoria     * el sistema puede cerrar nuesta activity si necesita memoria
   * Intents   * Intents
Línia 68: Línia 68:
     * UI's mostran las funcionalidades de nuestra app     * UI's mostran las funcionalidades de nuestra app
     * amigables     * amigables
 +    * cada una tiene su ciclo de vida (pausar, destruir, etc...)
   * Content Providers   * Content Providers
     * proveedores de contenido, comunicación con otras apps para hacer uso de los datos     * proveedores de contenido, comunicación con otras apps para hacer uso de los datos
Línia 103: Línia 104:
     * estricto!     * estricto!
     * estructura jerárquica (árbol)     * estructura jerárquica (árbol)
 +
 ===Activities ===Activities
   * la mayoria están formadas por activities   * la mayoria están formadas por activities
Línia 120: Línia 122:
     * onDestroy     * onDestroy
       * este método también es llamado con un cambio de orientación de pantalla       * este método también es llamado con un cambio de orientación de pantalla
 +
 === Intents === Intents
   * elementos de comunucación entre A   * elementos de comunucación entre A
Línia 147: Línia 150:
  
 == Modulo 3 == Modulo 3
 +=== Listeners
 +  * Ligados a la vista
 +  * 4 métodos
 +    - crear un elemento listener y definir la función *onClick* (método existente no implementado, uso de @Override)
 +    - la clase de la activity ejecute el *onClick*, haciendo un ''implements'' en la definición de la clase (no @Overrido)
 +    - crear nuestra propia clase Listener, heredando de Listener (para cosas muy específicas que no se puedan aprovechar de los existentes)
 +    - a través del XML, definiendo el valor de la función
 +
 +=== Activities (II)
 +  * Guardar el estado de las Activities (por cierre no controlado)
 +  * métodos proporcionados por Android
 +    * ''onSaveInstanceState'' -> llamnado antes del evento "onPause"
 +    * ''inRestoreInstaceState'' -> llamado después del evento "onCreate"
 +  * almacenar valores
 +    * parejas clave-valores
 +    * valores primitivos
 +    * ''putString'', ''putInteger'', ...
 +    * ''getString'',''getInteger'', ...
 +
 +=== Notificaciones
 +  * Toast
 +    * notificaciones fugaces
 +    * solo se muestra 1
 +    * se apilan
 +  * SnackBar
 +    * versión mejorada del Toast
 +    * permite añadir acciones
 +    * requiere de Android Design Support Library (no sirve versiones antiguas de Android)
 +  * StatusBar
 +    * acciones asociadas (ir a una activity de nuestra app)
 +    * se puede configurar su tiempo de vida
 +    * implementación
 +      * Instaciar ''NotificationManager''
 +      * inicializar nuestra notificación (builder) y inicializar el Intent Explícito
 +      * generar stack articial de activities y adjuntarle el Intent
 +      * generar la notificación de nuestro builder y hacer que se muestre.
 +
 +=== Almacenaje
 +  * interno:
 +    * privados para la aplicación
 +    * al desinstalar la app, se borran
 +    * se guardan en raw.res
 +    * funciones útiles:
 +      * ''getFilesDir()''
 +      * ''getDir()''
 +      * ''deleteFile()''
 +      * ''fileList()''
 +  * externo:
 +    * memoria que no pertenece a nuestro dispositivo
 +    * para que pueda acceder a la SD, hay que darle permisos (manifest)
 +    * todos los usuarios y apps tienen acceso a estos ficheros
 +  * shared preferences
 +    * guarda los datos de nuestra app
 +    * primitivos
 +    * clave-valor
 +    * se mantienen aunque se destruya la app
 +    * classe SharedPreferences()
 +
 +== modulo 4
 +=== SQL
 +  * información guardada en tablas
 +  * columnas, filas
 +  * SQLite Database
 +  * ''bd.query(argumentos)''
 +  * SQL
 +    * CREATE TABLE...
 +    * DROP TABLE...
 +    * SELECT...
 +    * INSERT...
 +    * UPDATE...
 +    * DELETE..
 +
 +=== SQLite Open Helper
 +  * ayuda para el SQL en Android
 +  * se puede usar para instrucciones SQL
 +  * o ejecutar los métodos al uso
 +  * CREATE... ''onCreate'', ''onUpgrade''
 +  * SELECT... ''getReadableDatabase'', ''db.query''
 +  * INSERT... ''getWritableDatabase'', ''db.insert'', ''values.put(par-valor)''
 +  * UPDATE... ''db.update'', similar a INSERT
 +  * DELETE... ''db.delete''
 +
 +=== Preparación para la venta de apps i AdMob
 +  * Cuenta desarrollador GooglePlay (25$) de por vida
 +  * Google Wallet para vender apps (gratuita), vincular cuenta bancaria (tarda 3-4 días en validarse)
 +  * AdMob, sistema anuncios, Paypal
 +    * permite colocar anuncios, Google gestiona los anuncios
 +    * 3000 visualizaciones, 1€
 +    * hay que llegar a 70€ para cobrar
 +  * crear aplicaciones útiles
 +  * entra por la vista
 +  * desarrolla el programa, mejora después
 +  * probar en muchos dispositivos
 +  * desarrolar muchas aplicaciones para ver cual triunfa
 +  * formas alternativas de financiamiento: anuncios, sin pagar por la app, y si con el tiempo funciona, de pago
  • info/cursos/cibernarium/android.1507158165.txt.gz
  • Darrera modificació: 04/10/2017 16:02
  • per mate