EL SISTEMA OPERATIVO ANDROID
José Francisco Henríquez Jiménez HERRAMIENTAS DE PROGRAMACIÓN MÓVIL
Instituto IACC 01-10-2017
INSTRUCCIONES: INSTRUCCIONES: Lea atentamente el planteamiento y responda a lo solicitado. Ud. ha sido contratado por la empresa de tecnología Manzana. Históricamente Manzana ha desarrollado aplicaciones para plataformas distintas a Android (como por ejemplo Mora y yoFono). Como Ud. es el desarrollador experto en Android, un compañero se ha acercado y le ha preguntado qué significa el siguiente archivo AndroidManifest.xml:
Explíquele, qué hace cada sección del archivo. Al momento de iniciar un nuevo proyecto Android, uno de los muchos archivos generados en la carpeta de proyecto es el manifest. Este archivo es el que une las piezas y explica en qué consiste la aplicación completa, de qué y cuántas aplicaciones está compuesta, qué permisos necesita, etc. El archivo manifest contiene información esencial para el sistema operativo. Esta información debe tenerla el sistema antes que pueda ejecutar el código de la aplicación
Nombra el paquete Java de la aplicación. El nombre del paquete sirve como identificador único para la aplicación y a través de este puede ser ejecutada por otras aplicaciones. aplic aciones. Además describe los componentes de la aplicación, ya sean actividades, servicios, recepción de mensajes push y proveedores de contenidos, nombra las clases que implementa cada uno de los componentes y publica sus capacidades capacidades (por ejemplo, el tipo de mensajes que pueden enviar o recibir). Estas declaraciones le permiten saber al sistema operativo qué componentes existen y bajo qué condiciones pueden ser ejecutados.
Declara los permisos que debe tener la aplicación para acceder a partes protegidas de la API e interactuar con otras aplicaciones, declara los permisos que otras aplicaciones deben tener para interactuar con los componentes de esta aplicación.
Lista los instrumentos que otorgan información de profiling 2 mientras la aplicación está en ejecución. Estas declaraciones están presentes solamente mientras la aplicación está siendo desarrollada. El primer elemento dentro del elemento manifest (llamado raíz) corresponde a la configuración de los elementos del sistema operativo que van a ser utilizados durante la ejecución.
android:allowBackup: especifica si se puede o no hacer un respaldo de la aplicación. Los respaldos son permitidos solamente cuando este valor es true. En caso contrario, el valor es false. android:icon: es el valor que corresponde al ícono de la aplicación. @drawable es un llamado a los componentes visuales del paquete de la aplicación. En semanas sucesivas se verá esto con mayor profundidad. android:label: corresponde al nombre que aparece bajo el ícono en el “escritorio” del
dispositivo Android.
android:theme: es el esquema visual de la aplicación. El valor por defecto es @style/AppTheme y se construye automáticamente al momento de crear un nuevo proyecto Android.
android:name=".MainActivity" android:label="@string/app_name"
Lista las bibliotecas que deben ser incluidas en la aplicación. Dentro del elemento application, existe el elemento activity que se encarga de la configuración de cada uno de los archivos Java (clases) dentro del proyecto. Una explicación más acabada también se verá en semanas posteriores. Los atributos de activity pueden ser los siguientes:
android:name: corresponde al nombre del archivo que contiene el código Java a ejecutar. Siempre se inicia con un “.”.
android:label: es el nombre que se verá en el borde superior de la pantalla del teléfono. Cada clase contenida dentro de una aplicación puede tener un nombre distinto.
Su compañero además tiene dudas respecto a algunos elementos del archivo. Él supone que los valores “ACCESS_COARSE_LOCATION” y “ACCESS_FINE_LOCATION” pueden tener que ver con el GPS, pero no sabe la diferencia ni comprende por qué irían ambos en el Manifest. Explíquele la diferencia. ACCESS_COARSE_LOCATION: Permite que una aplicación acceda a una ubicación aproximada. Alternativamente, Alternativamente, es posible posible que desee desee ACCESS_FINE_LOCATION .
Nivel de protección: peligroso
Valor constante: "android.permission.ACCESS_COARSE_LOCATI "android.permiss ion.ACCESS_COARSE_LOCATION" ON"
ACCESS_FINE_LOCATION: Permite que una aplicación acceda a una ubicación precisa. Alternativamente, Alternativamente, es posible posible que desee desee ACCESS_COARSE_LOCATION .
Nivel de protección: peligroso
Valor constante: "android.permission.ACCESS_FINE "android.permi ssion.ACCESS_FINE_LOCATION" _LOCATION"
Finalmente, su compañero le dice que está un poco preocupado porque aún no saben cuál va a ser el nombre final de la aplicación. Cuéntele por qué no tiene que preocuparse mientras “@string/app_name” sea una variable definida en otro archivo y dígale en qué partes de la interfaz de usuario puede aparecer. @string/app_name porque es una variable definida y no debería preocuparse ya que está declarada en un android:label, como se ha escrito en la parte superior de este control los label
son modificables en el código, se encuentran en 2 parte en la application del có digo y en el activity ya son tema de la interfaz que uno elige cuando elige el activity ac tivity en unproyecto.
BIBLIOGRAFÍA CONTENIDO DE LA SEMANA 1,2, UTILIZACIÓN MATERIAL DE APOYO, APOYO, HERRAMIENTAS DE PROGRAMACIÓN MÓVIL, IACC 2017.