Curso202223/PMDM/apuntes_android.md

69 lines
2.2 KiB
Markdown

## Apuntes Android Studio (Generales)
### Archivo Manifest (AndroidManifest.xml)
El propósito de éste archivo es aportar información al compilador, al sistema operativo y a la tienda de aplicaciones. Su ubicación es en la raíz del proyecto.
Obligatoriamente debe contener:
- Componentes de la app (activities, services, etc)
- Intent-filter, le especifica al sistema como debe interactuar con esa activity, en función de [atributo](https://genol.es/andintent) que declaremos en el elemento action.
- [Permisos necesarios](https://genol.es/manperm)
- Hardware y software requeridos para su funcionamiento (API)
#### Ejemplo Manifest
> AndroidManifest.xml
```xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<!-- Componentes de la app -->
<application>
<activity>
<intent-filter>
<action/>
<category/>
</intent-filter>
</activity>
<service></service>
<receiver></receiver>
<provider></provider>
</application>
<!-- Permisos necesarios -->
<uses-permission android:name="PERMISSION-TO-GET"/>
<!-- Hardware requerido -->
<uses-feature android:name="HW-TO-USE" android:required="true"/>
<!-- Versiones de API en las que funciona la app -->
<uses-sdk android:[min|target|max]SdkVersion="1"/>
</manifest>
```
[Documentación oficial](https://genol.es/manifest)
### Placeholders
Para usar placeholders en lugar de hacer hardcode en la lógica de java, se usan ficheros de recursos. En ellos se codifican los strings incluyendo los placeholders.
Al llamar al método getString() de la clase abstracta [Context](https://genol.es/andcontext), se le pasa como argumento la referencia al recurso a usar, y el dato que va a sustituir el placeholder del recurso.
#### Ejemplo placeholder
> string.xml
```xml
<resources>
<string name="texto_completo">Ejemplo de %1$s</string>
</resources>
```
> code.java
```java
String sustituto_placeholder = "Programación";
System.out.println(getString(R.string.texto_completo, sustituto_placeholder));
```
> Salida
```
Ejemplo de Programación
```
[Documentacion oficial](https://genol.es/placeholders)