34

Lo nuevo de Android Oreo. Solo para desarrolladores

23549Puntos

hace 4 años

Android Oreo es la nueva versión anunciada por Google, una versión llena de nuevos e interesantes features que como usuario pronto tendrás a tu alcance y notarás de inmediato.

Quiero hablarte de los cambios más importantes que nos interesan como desarrolladores Android, sobre todo los cambios que vienen en el SDK, nuevas características que podremos integrar a nuestros proyectos y se encargarán de enamorar a nuestros usuarios, recuerda usuarios enamorados son usuarios fieles.

Picture-in-Picture (Multitasking de Apps)

También se conoce como PIP y es una forma de visualizar dos aplicaciones al mismo tiempo y esto es colocando una de las apps en una ventana flotante al frente de la otra. Esta característica está enfocada en aplicaciones que manejan contenido multimedia principalmente video.

Captura de pantalla 2017-08-22 a la(s) 18.48.52.png

A nivel de código la forma en que funciona es que cuando una actividad está en modo PIP en su ciclo de vida se encuentra en el método onPause() entonces lo que debemos hacer es controlar ahí lo que queremos que siga fluyendo y en el método onStop() ejecutar la detención.

Tendremos una nueva clase PictureInPictureParams que nos ayudará a manejar el aspecto del activity y como último detalle especificar en el Manifest que esta debe comportarse como tal android:supportsPictureinPicture

Notificaciones

Los usuarios podrán administrar sus notificaciones mediante categorías o channels en donde pueden configurar el grado de importancia, el sonido, la luz, vibración, etc.

Captura de pantalla 2017-08-22 a la(s) 16.08.02.png

Esto a través de la muy conocida clase NotificationManager y con ayuda de NotificationChannel configuramos estos settings.

NotificationChannel mChannel = new NotificationChannel(chanId, title, importance);

También tenemos las insignias de notificación o básicamente indicadores que nos muestran las apps que tienen notificaciones en la pantalla de inicio. Estos en inglés los podrás ubicar como Notification Dots y la forma de aplicarlo es sobre el mismo objeto nChannel con su método setShowBadge(true)

Otro feature interesante es la posibilidad de Posponer una notificación es muy común tener notificaciones acumuladas en la barra superior, por eso ahora se podrá hacer que una notificación reaparezca en un tiempo determinado en la cual pueda ser atendida. Esto es propio del SO Android Oreo.

Hay más características como poner color de fondo, asignar tiempos de espera, asignar contenido en la forma contraída y desplegada, etc.

Tipos de fuente y soporte para fuentes descargables

Roboto ya no será la única fuente que podíamos usar de forma sencilla en Android, ahora como desarrolladores tenemos un proveedor de fuentes que nos permite descargarlas en el momento en vez de incluirlas en el APK (generando apps gorditas).

Captura de pantalla 2017-08-22 a la(s) 16.33.50.png

Además de esto podemos ahora usar fuentes como recursos en las etiquetas XML. Básicamente con el asistente de Android Studio debemos generar la carpeta font y ahí dentro colocar nuestro archivo ttf / otf / etc. Y así el compilador hará que estén disponibles a través del archivo R de esta forma R.font.helvetica (para manejar la fuente desde el código java debes manejarla como un objeto TypeFace) y desde un layout con la propiedad: android:fontFamily="@font/helvetica".

Captura de pantalla 2017-08-22 a la(s) 16.41.20.png

TextView con tamaño automático

Ahora es mucho más sencillo definir el tamaño de texto dependiendo de la proporción de la pantalla. Tenemos tres formas:

  • Default
  • Granularmente
  • Tamaño predefinido

Default: en esta forma hacemos que el tamaño del texto se defina uniformemente ya sea de forma horizontal o vertical dependiendo de cómo se esté visualizando la app. Simplemente hay que poner en el TextView la siguiente propiedad android:autoSizeTextType="uniform"

Granularmente funciona similar al anterior solamente que se definen los límites mínimos y máximos que debe tener el texto, como se muestra:

<TextViewandroid:layout_width="match_parent"android:layout_height="200dp"android:autoSizeTextType="uniform"android:autoSizeMinTextSize="12sp"android:autoSizeMaxTextSize="100sp"android:autoSizeStepGranularity="2sp" />

Tamaño predefinido siguiendo la misma línea del anterior podemos definir todos los posibles valores que puede tener el texto al autoescalarse o reajustarse.

Definimos un array con los datos y lo setteamos al TextView:

<resources><arrayname="autosize_text_sizes"><item>10sp</item><item>12sp</item><item>20sp</item><item>40sp</item><item>100sp</item></array></resources>
<TextViewandroid:layout_width="match_parent"android:layout_height="200dp"android:autoSizeTextType="uniform"android:autoSizePresetSizes="@array/autosize_text_sizes" />

findViewById()

Todos recordamos la enorme línea de código para declarar nuetros view’s en Java:

Ahora en Android O pasaremos de esto:

TextView textView = (TextView) findViewById(R.id.texview);

A esto:

TextView textView = findViewById(R.id.texview);

Al cast se ha ido!!

Audio de baja latencia

Nuevamenta para esas aplicaciones que manejan contenidos multimedia. En Android era muy notorio un delay o retraso cuando utilizábamos aplicaciones que simulaban algún instrumento esto en comparación con iOS que lo hace casi instantáneo.

Se ha creado una API nativa para manejar el audio desde bajo nivel en el NDK que evitará esos delays en las apps dando una experiencia casi real-time.

Básicamente todos estos datos de audio las manejaremos como streams muy similar a como lo maneja java con la entrada de texto, tenemos las siguientes ingredientes:

  • AAudio_createStreamBuilder para definir el stream
  • AAudioStreamBuilder_openStream para abrir el stream
  • AAudioStream_requestStart para leer el stream
  • AAudioStream_write para escribir el stream
  • AAudioStream_close para cerrar el stream

Recuerda todo esto es a bajo nivel con el NDK de Android.

Hay muchos más _features _que vienen a esta nueva versión Android Oreo y por supuesto en Platzi te enseñaremos a usarlos 💚

Mira este enlace donde vienen varios repositorios de Github donde puedes ver ejemplos de todo lo que acabamos de platicar.

¿Cuándo tendré Android Oreo en mi celular?

Ann
Ann
anncode

23549Puntos

hace 4 años

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
4
41280Puntos

Hola profesora Anahí, muchas gracias por tu interesante artículo. ¿Sabe qué características serán compatibles con versiones anteriores? Saludos.

0
23549Puntos
4 años

Hola! por el momento no todas, pero poco a poco Google va añadiendo librerías de soporte para versiones anteriores a Oreo 😃

2
5074Puntos

Muy buen articulo Profe 😄

0
23549Puntos
4 años

Gracias! tenemos un video también búscalo en el Curso Definitivo de Android 😃

2
18908Puntos

Wow que padre Anahí, esperemos pronto el nuevo Android Oreo

0
23549Puntos
4 años

Así es! 😄

1
1309Puntos

Que buenas están las novedades, gracias por compartirlas.

0
23549Puntos
4 años

Gracias por escribirnos! 🙂

1
7805Puntos

Excelente artículo Anahí! Como siempre con lo último.
Gracias!

0
23549Puntos
4 años

A la orden! 😄

0
8111Puntos

soy nuevo en esto, pregunto ahora si tengo que comprar un celular nuevo donde este incluido el android oreo o se puede actualizar ya que yo tengo android 5.1?

1
4098Puntos
4 años

mira el video de android oreo… que se trasmitio en platzi live ahi explica en que celulares … se podra actualizar