Diferencia entre revisiones de «Usuario:ManuelRomero/Manifest»
De WikiEducator
(→El fichero Manifest) |
(→El fichero Manifest) |
||
Línea 40: | Línea 40: | ||
*Cada proyecto tiene un fichero AndroidManifext.xml | *Cada proyecto tiene un fichero AndroidManifext.xml | ||
− | * | + | *Definiremos información sobre nuestra aplicación |
− | *Sirve para que el sistema antes de ejecutar la aplicación concozca los componentes que va a | + | #Datos de versionado y nombre de nuestra aplicacion |
− | + | #Los componentes de nuestra aplicación y como reaccionan. | |
− | + | #Permisos | |
− | + | #Perfiles de Hardware | |
+ | #Veriones de Android que soporta | ||
+ | *Sirve para que el sistema antes de ejecutar la aplicación concozca los componentes que va a tener cargados | ||
+ | *Es un fichero XML, por lo tanto tendrá elementos, atributos y valores para los atributos | ||
+ | Sólo se pueden incluir elementos | ||
+ | Al menos debe tener una etiqueta '''''manifest''''' y una ''''aplication''''' y éstas sólo pueden estar una vez | ||
+ | <source lang=xml> | ||
+ | <manifest .... atributos=valor > | ||
+ | .... | ||
+ | <application ...atributos=valor > | ||
+ | ... otros elementos... | ||
+ | |||
+ | </application> | ||
+ | </manifest> | ||
+ | </source> | ||
+ | |||
+ | ====manifest==== | ||
+ | *es el nodo raiz del fichero manifest.xml | ||
+ | *Sintaxis | ||
+ | <source lang=xml> | ||
+ | <manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||
+ | package="string" | ||
+ | android:sharedUserId="string" | ||
+ | android:sharedUserLabel="string resource" | ||
+ | android:versionCode="integer" | ||
+ | android:versionName="string" | ||
+ | android:installLocation=["auto" | "internalOnly" | "preferExternal"] > | ||
+ | . . . | ||
+ | </manifest> | ||
+ | <source> | ||
+ | |||
+ | =====atributos del elemento manifest===== | ||
+ | |||
+ | ;xmlns | ||
+ | :'''''xml''''' '''''n'''''ame'''''s'''''pace | ||
+ | :Define el namesapace de android y siempre debe tener el valor "http://schemas.android.com/apk/res/android" | ||
+ | |||
+ | #'''''pakage''''' | ||
+ | Nombre del paquete raiz | ||
+ | #versionCode | ||
+ | ##Número que se debe incrementar cada vez que actualizamos nuestra aplicacion en el market | ||
+ | ##Este número es seguido por el market para ver la evolución de nuestro desarrollo | ||
+ | #versionName | ||
+ | ##Es lo que se muestra en el market | ||
+ | ##Podemos poner lo que queramos | ||
+ | #installLocation | ||
+ | ##Donde debe ser instalada nuestra aplicación | ||
+ | ##solo funcionan en versiones 2.2 o superior las anteriores las ignora | ||
+ | ##con valor preferExternal para instalarlo en la targeta SD | ||
<Source lang=xml> | <Source lang=xml> | ||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | <manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||
package="com.example.ciclovidaactividad" | package="com.example.ciclovidaactividad" | ||
android:versionCode="1" | android:versionCode="1" | ||
− | android:versionName="1.0" > | + | android:versionName="1.0" |
− | </ | + | android:installLocation="preferExternal"> |
+ | </manifest> | ||
+ | </source> | ||
+ | |||
+ | Componentes de la aplicacion | ||
+ | Permisos | ||
+ | Perfiles de Hardware | ||
+ | Veriones de Android que soprtea | ||
*Versiones de android admitidas, mediante el elemento '''uses-sdk''' | *Versiones de android admitidas, mediante el elemento '''uses-sdk''' | ||
<Source lang=xml> | <Source lang=xml> | ||
Línea 93: | Línea 148: | ||
- Permisos de usuario | - Permisos de usuario | ||
- Librerías externas que usamos | - Librerías externas que usamos | ||
+ | |||
+ | ===Lista de atributos=== | ||
+ | En este ficheros sólo pueden aparecer los siguientes elementos | ||
+ | <source lang=xml> | ||
+ | <action> | ||
+ | <activity> | ||
+ | <activity-alias> | ||
+ | <application> | ||
+ | <category> | ||
+ | <data> | ||
+ | <grant-uri-permission> | ||
+ | <instrumentation> | ||
+ | <intent-filter> | ||
+ | <manifest> | ||
+ | <meta-data> | ||
+ | <permission> | ||
+ | <permission-group> | ||
+ | <permission-tree> | ||
+ | <provider> | ||
+ | <receiver> | ||
+ | <service> | ||
+ | <supports-screens> | ||
+ | <uses-configuration> | ||
+ | <uses-feature> | ||
+ | <uses-library> | ||
+ | <uses-permission> | ||
+ | <uses-sdk> | ||
+ | </source> | ||
+ | |||
+ | |||
+ | ===Diagrama general=== | ||
+ | <source lang=xml> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | |||
+ | <manifest> | ||
+ | |||
+ | <uses-permission /> | ||
+ | <permission /> | ||
+ | <permission-tree /> | ||
+ | <permission-group /> | ||
+ | <instrumentation /> | ||
+ | <uses-sdk /> | ||
+ | <uses-configuration /> | ||
+ | <uses-feature /> | ||
+ | <supports-screens /> | ||
+ | <compatible-screens /> | ||
+ | <supports-gl-texture /> | ||
+ | |||
+ | <application> | ||
+ | |||
+ | <activity> | ||
+ | <intent-filter> | ||
+ | <action /> | ||
+ | <category /> | ||
+ | <data /> | ||
+ | </intent-filter> | ||
+ | <meta-data /> | ||
+ | </activity> | ||
+ | |||
+ | <activity-alias> | ||
+ | <intent-filter> . . . </intent-filter> | ||
+ | <meta-data /> | ||
+ | </activity-alias> | ||
+ | |||
+ | <service> | ||
+ | <intent-filter> . . . </intent-filter> | ||
+ | <meta-data/> | ||
+ | </service> | ||
+ | |||
+ | <receiver> | ||
+ | <intent-filter> . . . </intent-filter> | ||
+ | <meta-data /> | ||
+ | </receiver> | ||
+ | |||
+ | <provider> | ||
+ | <grant-uri-permission /> | ||
+ | <meta-data /> | ||
+ | </provider> | ||
+ | |||
+ | <uses-library /> | ||
+ | |||
+ | </application> | ||
+ | |||
+ | </manifest> | ||
+ | </source> |
Revisión de 11:15 2 nov 2012
Componentes en una aplicación Android
- ACTIVITY
- INTENT
- SERVICE
- BROADCAST RECEIVER
- CONTENT PROVIDER
- VIEW
- WIDGET
- Los cuantro primeros son muy importantes
- Casi siempre van a estar presente en una aplicación o desarrollo
Activity
- Componente principal de la interfaz gráfica
- Representa cada una de las pantalla de nuestra aplicación
Service
- Son servicios o procesos ejecutados en segundo plano
- No disponen de interfaz gráfica
- Por ejemplo un objeto reloj o cargar información en una base de datos
Content Provider
- Permite compartir datos entre aplicaciones
- No necesitamos mostrar la forma en la que hacemos las cosas a otras aplicaciones
Broadcast Receiver
- Detecta mensajes y eventos generados por el sistema y reacciona ante ellos
- Pueden recibir mensajes de objetos Intends
- Por ejemplo batería baja o se ha recibido un mensaje
View
- Componentes básicos con los construimos nuestras aplicaciones
- Existen muchos componentes de este tipo: Botones, Listas desplegables
Widget
- Elementos visuales interactivos
- Tienen comportamiento propio
Intent
- Elementos u objetos que permiten que exista comunicación entre actividades de una aplicación
- También se pueden comunicar otros objetos descritos anteriormente
El fichero Manifest
- Cada proyecto tiene un fichero AndroidManifext.xml
- Definiremos información sobre nuestra aplicación
- Datos de versionado y nombre de nuestra aplicacion
- Los componentes de nuestra aplicación y como reaccionan.
- Permisos
- Perfiles de Hardware
- Veriones de Android que soporta
- Sirve para que el sistema antes de ejecutar la aplicación concozca los componentes que va a tener cargados
- Es un fichero XML, por lo tanto tendrá elementos, atributos y valores para los atributos
Sólo se pueden incluir elementos Al menos debe tener una etiqueta manifest y una 'aplication y éstas sólo pueden estar una vez
<manifest .... atributos=valor > .... <application ...atributos=valor > ... otros elementos... </application> </manifest>
manifest
- es el nodo raiz del fichero manifest.xml
- Sintaxis
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="string" android:sharedUserId="string" android:sharedUserLabel="string resource" android:versionCode="integer" android:versionName="string" android:installLocation=["auto" | "internalOnly" | "preferExternal"] > . . . </manifest> <source> =====atributos del elemento manifest===== ;xmlns :'''''xml''''' '''''n'''''ame'''''s'''''pace :Define el namesapace de android y siempre debe tener el valor "http://schemas.android.com/apk/res/android" #'''''pakage''''' Nombre del paquete raiz #versionCode ##Número que se debe incrementar cada vez que actualizamos nuestra aplicacion en el market ##Este número es seguido por el market para ver la evolución de nuestro desarrollo #versionName ##Es lo que se muestra en el market ##Podemos poner lo que queramos #installLocation ##Donde debe ser instalada nuestra aplicación ##solo funcionan en versiones 2.2 o superior las anteriores las ignora ##con valor preferExternal para instalarlo en la targeta SD <Source lang=xml> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.ciclovidaactividad" android:versionCode="1" android:versionName="1.0" android:installLocation="preferExternal"> </manifest>
Componentes de la aplicacion Permisos Perfiles de Hardware Veriones de Android que soprtea
- Versiones de android admitidas, mediante el elemento uses-sdk
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" />
- Atributos de la aplicacion como
- icono
- titulo
- Como se va a ejecutar (ocupando toda la pantalla o en una ventana emergente)
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@android:style/Theme.Dialog" >
- Actividad principal que va a iniciar la aplicación y
<activity android:name=".MainActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
</application>
</manifest> </source> - Listado de Activities Servicios Content providers Broadcast recievers - Nivel mínimo de API - Permisos de usuario - Librerías externas que usamos
Lista de atributos
En este ficheros sólo pueden aparecer los siguientes elementos
<action> <activity> <activity-alias> <application> <category> <data> <grant-uri-permission> <instrumentation> <intent-filter> <manifest> <meta-data> <permission> <permission-group> <permission-tree> <provider> <receiver> <service> <supports-screens> <uses-configuration> <uses-feature> <uses-library> <uses-permission> <uses-sdk>
Diagrama general
<?xml version="1.0" encoding="utf-8"?> <manifest> <uses-permission /> <permission /> <permission-tree /> <permission-group /> <instrumentation /> <uses-sdk /> <uses-configuration /> <uses-feature /> <supports-screens /> <compatible-screens /> <supports-gl-texture /> <application> <activity> <intent-filter> <action /> <category /> <data /> </intent-filter> <meta-data /> </activity> <activity-alias> <intent-filter> . . . </intent-filter> <meta-data /> </activity-alias> <service> <intent-filter> . . . </intent-filter> <meta-data/> </service> <receiver> <intent-filter> . . . </intent-filter> <meta-data /> </receiver> <provider> <grant-uri-permission /> <meta-data /> </provider> <uses-library /> </application> </manifest>