Diferencia entre revisiones de «Usuario:ManuelRomero/Manifest»

De WikiEducator
Saltar a: navegación, buscar
(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
*En él debemos definir los componentes de nuestra aplicación y como reaccionan.
+
*Definiremos información sobre nuestra aplicación
*Sirve para que el sistema antes de ejecutar la aplicación concozca los componentes que va a tenercargados
+
#Datos de versionado y nombre de nuestra aplicacion
Información que contiene
+
#Los componentes de nuestra aplicación y como reaccionan.
;Información sobre la aplicación
+
#Permisos
:Version y nombre de nuestra aplicacion mediante atributos del nodo principal '''''manifest'''''
+
#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"
</sourece>
+
    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 10:15 2 nov 2012



Componentes en una aplicación Android

  1. ACTIVITY
  2. INTENT
  3. SERVICE
  4. BROADCAST RECEIVER
  5. CONTENT PROVIDER
  6. VIEW
  7. 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
  1. Datos de versionado y nombre de nuestra aplicacion
  2. Los componentes de nuestra aplicación y como reaccionan.
  3. Permisos
  4. Perfiles de Hardware
  5. 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>