Diferencia entre revisiones de «PDM UD1 Bibliotecas de compatibilidade»
Ir a la navegación
Ir a la búsqueda
Imaxe obtida desta web
| Línea 14: | Línea 14: | ||
| + | <br /> | ||
| + | =Exemplo de uso= | ||
| + | |||
| + | * Un exemplo de uso sería o uso do ActionBar: | ||
| + | |||
| + | [[Imagen:PDM_Biblioteca_compat_1.jpg|500px|center]] | ||
| + | <small><center>Imaxe obtida [http://www.hermosaprogramacion.com/2014/09/android-action-bar/ desta web]</center></small> | ||
| + | |||
| + | |||
| + | * Dende a versión 3.0 (API 11) todas as activity´s poden levar unha ActionBar (de feito ven no theme por defecto). Pero a medida que foron xurdindo novas versións da API, engadíronse novas funcionalidades. | ||
| + | : Por exemplo, a partires da versión API 21 (Android 5) engadíronse novas opcións para modificar o deseño e adaptalo á filosofía do [https://developer.android.com/design/material/?hl=es-419 Material Design]. | ||
| + | : Unha destas propiedades novas é a elevación, que ven ser un efecto como se o compoñente estivera colocado 'por enriba' doutro. No caso da barra de acción (a partires de Android 5 denomínase '''App Bar''') dito método é [https://developer.android.com/reference/android/app/ActionBar.html#setElevation(float) setElevation] e a guía de Material Design indica que debe estar a 4dp. | ||
| + | |||
| + | |||
| + | |||
| + | * Se creamos un novo proxecto cun target_SDK por enriba do 21 e un min_SDK tamén por enriba do 21, poderemos facer uso de dito método: | ||
| + | <gallery caption="Proxecto creado cunha API 28" widths="350" heights="300px" perrow="2"> | ||
| + | Image:PDM_Biblioteca_compat_2.jpg| Proxecto compilado coa API 28 | ||
| + | Image:PDM_Biblioteca_compat_3.jpg| MinSDK e TargetSDK coa API 28 | ||
| + | Image:PDM_Biblioteca_compat_4.jpg| Podemos comprobar como podemos facer uso do método '''setElevetion'''. | ||
| + | Image:PDM_Biblioteca_compat_5.jpg| Resultado da execución. | ||
| + | </gallery> | ||
| + | |||
| + | |||
| + | |||
| + | <br /> | ||
| + | * Agora fagamos un proxecto para unha API 19. | ||
| + | <gallery caption="Proxecto creado cunha min_SDK API 19" widths="350" heights="300px" perrow="2"> | ||
| + | Image:PDM_Biblioteca_compat_6.jpg| Poñemos un minSDK de API 19. | ||
| + | Image:PDM_Biblioteca_compat_7.jpg| Comprobamos como a chamada ao método provoca un erro xa que dito método foi incorporado na versión API 21. | ||
| + | Image:PDM_Biblioteca_compat_8.jpg| Como se pode comprobar a biblioteca de compatibilidade appcompact-v7 permite facer uso das funcionalidades da ActionBar (ToolBar a partires da API 21). '''Importante:''' Na imaxe aparece a <u>versión 24.2.0</u>. Este número ten que corresponder coa versión do '''Compile Sdk'''. | ||
| + | Image:PDM_Biblioteca_compat_9.jpg| As API´s que aparecen no 'Conpile Sdk' son as que están descargadas dende o SDK Manager. | ||
| + | Image:PDM_Biblioteca_compat_10.jpg| Para incorporar unha biblioteca de compatibilidade só temos que escribir <b>implementation 'nome_biblioteca:version'</b> no arquivo '''build.gradle''' do módulo. No noso exemplo é: implementation 'com.android.support:appcompat-v7:27.0.0' Non debemos empregar a API 28 xa que cambia o funcionamento. | ||
| + | Image:PDM_Biblioteca_compat_11.jpg| Agora existen varias formas de engadir un ToolBar-ActionBar. Unha delas é a de poñer un Theme que incorpore unha barra de acción. No noso exemplo: Theme.AppCompat.Light.DarkActionBar | ||
| + | Image:PDM_Biblioteca_compat_12.jpg| Temos que modificar a activity e agora vai ser unha subclase da clase AppCompactActivity. O action bar a obtemos chamando ao método 'getSupportActionBar()'. Podemos ver como xa podemos facer uso de método 'setElevation()'. Indicar que esta forma sería a recomendada para facer uso do ActionBar en calquera versión de Android. Así nos aseguramos que todas van funcionar igual. Se non o facemos así e usamos as ActionBar que foron aparecendo en cada versión das Api´s estaremos limitados as método e propiedades da MinSDK indicada. | ||
| + | </gallery> | ||
Revisión del 21:52 27 sep 2018
Introdución
- Como xa comentamos anteriormente, as bibliotecas de compatibilidade son creados por Android para dar soporte a versións antigas do S.O. Android e que estas poidan executar novas funcionalidades que apareceron en versións posteriores.
- Podedes consultar as melloras a nivel xeral que ofrecen ditas bibliotecas neste enlace.
- Podedes consultar as funcións que incorporan cada unha das bibliotecas de compatibilidade neste enlace.
- Podedes consultar como configurar o Android Studio para descargar e utilizar ditas bibliotecas neste enlace
Exemplo de uso
- Un exemplo de uso sería o uso do ActionBar:
- Dende a versión 3.0 (API 11) todas as activity´s poden levar unha ActionBar (de feito ven no theme por defecto). Pero a medida que foron xurdindo novas versións da API, engadíronse novas funcionalidades.
- Por exemplo, a partires da versión API 21 (Android 5) engadíronse novas opcións para modificar o deseño e adaptalo á filosofía do Material Design.
- Unha destas propiedades novas é a elevación, que ven ser un efecto como se o compoñente estivera colocado 'por enriba' doutro. No caso da barra de acción (a partires de Android 5 denomínase App Bar) dito método é setElevation e a guía de Material Design indica que debe estar a 4dp.
- Se creamos un novo proxecto cun target_SDK por enriba do 21 e un min_SDK tamén por enriba do 21, poderemos facer uso de dito método:
- Proxecto creado cunha API 28
- Agora fagamos un proxecto para unha API 19.
- Proxecto creado cunha min_SDK API 19
Temos que modificar a activity e agora vai ser unha subclase da clase AppCompactActivity. O action bar a obtemos chamando ao método 'getSupportActionBar()'. Podemos ver como xa podemos facer uso de método 'setElevation()'. Indicar que esta forma sería a recomendada para facer uso do ActionBar en calquera versión de Android. Así nos aseguramos que todas van funcionar igual. Se non o facemos así e usamos as ActionBar que foron aparecendo en cada versión das Api´s estaremos limitados as método e propiedades da MinSDK indicada.
-- Ángel D. Fernández González -- (2018).