GA8-220501096-AA2-EV01 Taller Acerca de Integración, Tecnologías

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 15

GA8-220501096-AA2-EV01 taller acerca de integración,

tecnologías emergentes y disruptivas

German Garcia Garcia

Brayan Andreis Riascos Alomia

Presentado a

Diego Ramos Valencia

Astrid Maritza Calvache

ANALISIS Y DESARROLLO DE SOFTWARE

FICHA: 2721449

SENA

2024
Contenido
¿Qué es Android?....................................................................................................................3

Definición del concepto de APK.............................................................................................3

¿Qué es el Android SDK?.......................................................................................................4

¿Cuál es el lenguaje utilizado para desarrollar aplicaciones para Android?...........................5

¿Qué IDEs de desarrollo existen para codificar?....................................................................7

Definir el concepto de Android multiusuario..........................................................................9

Definir el concepto de mínimo privilegio.............................................................................10

Bibliografía...........................................................................................................................15
¿Qué es Android?

Android es un sistema operativo basado en Linux diseñado principalmente para

dispositivos móviles como teléfonos inteligentes y tabletas. Fue desarrollado por Android

Inc. y adquirido por Google en 2005, con el primer lanzamiento oficial en 2008. Android

ofrece una plataforma abierta para que desarrolladores puedan crear aplicaciones,

facilitando la personalización y adaptabilidad del sistema.

Algunas características clave de Android:

 Código abierto: La mayor parte del código base está disponible para que

desarrolladores y fabricantes lo personalicen.

 Interfaz amigable: Optimizada para dispositivos táctiles.

 Ecosistema de aplicaciones: Se distribuyen principalmente a través de Google Play

Store.

 Compatibilidad con múltiples dispositivos: Funciona en teléfonos, tablets, relojes

inteligentes, televisores, e incluso en automóviles.

 Actualizaciones frecuentes: Google lanza nuevas versiones regularmente,

mejorando la seguridad, rendimiento y experiencia de usuario.

Definición del concepto de APK

Un APK (Android Package Kit) es el archivo que contiene todos los elementos necesarios

para instalar y ejecutar una aplicación en dispositivos Android. En términos simples, es el


formato de paquete que usa Android para distribuir e instalar aplicaciones, similar a los

archivos .exe en Windows o .dmg en macOS.

Un APK incluye:

 Código compilado (en formato .dex) que la máquina virtual de Android puede

interpretar.

 Recursos como imágenes, archivos XML, fuentes y audio.

 Manifiesto (AndroidManifest.xml), que define permisos, actividades y servicios de

la aplicación.

 Certificados de seguridad, necesarios para garantizar que el APK no ha sido

modificado de manera malintencionada.

Cuando un usuario descarga una app desde la Google Play Store, en realidad está

obteniendo un APK. Además, los desarrolladores pueden compartir estos archivos para que

otros los instalen manualmente (lo que se llama sideloading), aunque hacerlo fuera de la

tienda oficial puede suponer riesgos de seguridad.

¿Qué es el Android SDK?

El Android SDK (Software Development Kit) es un conjunto de herramientas y recursos

necesarios para desarrollar aplicaciones para el sistema operativo Android. Básicamente, es

como la "caja de herramientas" del desarrollador, ya que incluye bibliotecas, ejemplos de


código, emuladores, y una serie de utilidades que permiten compilar, depurar y probar

aplicaciones antes de publicarlas.

Algunas de las partes más importantes del SDK son:

 ADB (Android Debug Bridge): Una herramienta para comunicar el entorno de

desarrollo con dispositivos físicos o emuladores, facilitando la ejecución y

depuración de aplicaciones.

 Emulador de Android: Simula un dispositivo Android para probar la app sin

necesidad de tener un dispositivo físico.

 Bibliotecas esenciales: Proveen acceso a componentes del sistema como botones,

notificaciones, cámara, y más.

El SDK se mantiene actualizado para soportar las nuevas versiones de Android, lo que hace

que los desarrolladores puedan agregar las funcionalidades más recientes a sus apps.

Además, se integra fácilmente con Android Studio, el IDE oficial, para que sea más sencillo

crear y probar aplicaciones.

¿Cuál es el lenguaje utilizado para desarrollar aplicaciones para

Android?

Los dos lenguajes principales que se utilizan para desarrollar aplicaciones en Android son

Java y Kotlin.

 Java:
o Es el lenguaje original utilizado desde las primeras versiones de Android.

o Tiene una sintaxis orientada a objetos y es ampliamente conocido por

desarrolladores.

o Aunque es muy potente, puede requerir más código para tareas simples, lo

que lo hace un poco más verboso.

 Kotlin:

o Es el lenguaje oficial recomendado por Google desde 2019.

o Ofrece una sintaxis más concisa y moderna que Java, lo que hace que el

código sea más limpio y fácil de mantener.

o Soporta la interoperabilidad con Java, es decir, puedes combinar ambos

lenguajes en el mismo proyecto.

o Promueve una programación más segura, reduciendo errores comunes como

los NullPointerExceptions.

Además de estos dos, algunas herramientas de desarrollo multiplataforma como Flutter

(con Dart) y React Native (con JavaScript) permiten crear aplicaciones Android junto con

versiones para otros sistemas operativos, como iOS. Sin embargo, Java y Kotlin siguen

siendo los más usados para aprovechar al máximo las características nativas de Android.
¿Qué IDEs de desarrollo existen para codificar?

Para desarrollar aplicaciones móviles en Android, existen varios entornos de desarrollo

integrado (IDEs) que ofrecen diversas herramientas y características. Los más destacados

son:

1. Android Studio:

o Es el IDE oficial para el desarrollo de aplicaciones Android, creado por

Google.

o Basado en IntelliJ IDEA, ofrece una amplia gama de herramientas,

incluyendo un editor de código avanzado, un emulador de Android y

herramientas de depuración.

o Soporta tanto Java como Kotlin, y facilita el manejo de recursos y la

construcción de la interfaz de usuario mediante herramientas visuales.

2. IntelliJ IDEA:

o Aunque Android Studio es una versión personalizada de IntelliJ, los

desarrolladores también pueden usar IntelliJ IDEA para proyectos Android.

o Ofrece un gran conjunto de características, pero puede requerir la

configuración de plugins específicos para el desarrollo de Android.

3. Eclipse:

o Fue el IDE oficial para Android antes de la llegada de Android Studio.


o Aún se puede usar con el plugin ADT (Android Development Tools), pero

ya no es recomendado debido a la falta de soporte continuo y

actualizaciones.

o Puede ser útil para desarrolladores que prefieren un entorno más clásico y

personalizable.

4. Visual Studio:

o Con el uso de Xamarin, Visual Studio permite desarrollar aplicaciones

Android y iOS utilizando C# y .NET.

o Es ideal para quienes tienen experiencia en el ecosistema de Microsoft y

desean crear aplicaciones multiplataforma.

5. Appcelerator Titanium:

o Permite desarrollar aplicaciones móviles utilizando JavaScript y ofrece una

interfaz para crear aplicaciones nativas.

o Se enfoca en la velocidad de desarrollo y la reutilización de código, ideal

para proyectos con plazos ajustados.

6. React Native:

o Aunque no es un IDE por sí mismo, permite a los desarrolladores crear

aplicaciones móviles nativas utilizando JavaScript y React.

o Con herramientas como Expo, se pueden desarrollar aplicaciones Android de

manera sencilla.
Cada uno de estos IDEs ofrece diferentes ventajas según el lenguaje de programación y el

enfoque de desarrollo que elijas, así como las necesidades específicas de tu proyecto.

Definir el concepto de Android multiusuario

El concepto de Android multiusuario se refiere a la capacidad del sistema operativo

Android para permitir que múltiples usuarios tengan sus propias cuentas y configuraciones

en un solo dispositivo. Esta funcionalidad es similar a la que se encuentra en sistemas

operativos de escritorio como Windows y macOS, donde diferentes usuarios pueden iniciar

sesión y acceder a su propio entorno personal.

Características del Android multiusuario:

1. Cuentas de Usuario:

o Cada usuario puede tener su propia cuenta, lo que les permite personalizar

su experiencia, como el fondo de pantalla, las aplicaciones instaladas y la

configuración del sistema.

2. Privacidad y Seguridad:

o Las aplicaciones y datos de un usuario están aislados de los de otros

usuarios. Esto significa que un usuario no puede acceder a los archivos o

configuraciones de otro, mejorando la seguridad y privacidad.

3. Facilidad de Uso:
o Los usuarios pueden cambiar fácilmente entre cuentas, lo que resulta útil en

dispositivos compartidos, como tabletas familiares o dispositivos de trabajo.

4. Restricciones de Usuario:

o Android permite establecer diferentes niveles de acceso, lo que significa que

los administradores pueden restringir ciertas funciones o aplicaciones para

usuarios específicos, lo que es útil en entornos educativos o de trabajo.

5. Modo Invitado:

o Android también ofrece un modo invitado, que permite a los usuarios

temporales acceder al dispositivo sin comprometer la privacidad de las

cuentas de los usuarios principales. Esto es ideal para situaciones donde

alguien más necesita usar el dispositivo por un corto período.

El soporte para múltiples usuarios se introdujo en Android 4.2 (Jelly Bean) y ha

evolucionado desde entonces, facilitando la gestión de dispositivos compartidos y

mejorando la experiencia del usuario en general.

Definir el concepto de mínimo privilegio

El concepto de mínimo privilegio es un principio de seguridad fundamental que se aplica

en el desarrollo de software y sistemas operativos, incluida la plataforma Android. Este

principio establece que un usuario, programa o proceso debe tener únicamente los permisos

necesarios para llevar a cabo su tarea específica, y nada más. Esto significa que se limitan
los accesos y capacidades de un sistema o usuario para reducir el riesgo de abuso o

explotación.

Importancia del mínimo privilegio en Android:

1. Seguridad Mejorada:

o Al restringir los permisos que una aplicación o usuario tiene, se minimizan

las oportunidades para que se produzcan vulnerabilidades o ataques. Por

ejemplo, si una aplicación de juegos solo necesita acceso a la red, no debería

tener permisos para acceder a la cámara o a los contactos.

2. Prevención de Acceso No Autorizado:

o Este enfoque ayuda a prevenir que aplicaciones malintencionadas accedan a

datos sensibles o realicen acciones no autorizadas en el dispositivo. Así, si

una aplicación es comprometida, los daños potenciales son limitados.

3. Menor Superficie de Ataque:

o Cuantos menos permisos tenga una aplicación, menor será su superficie de

ataque. Esto significa que es menos probable que los atacantes encuentren

un punto de entrada para explotar vulnerabilidades.

4. Transparencia para el Usuario:

o Android, a partir de versiones más recientes, proporciona a los usuarios

información clara sobre los permisos que una aplicación solicita. Esto

permite a los usuarios tomar decisiones informadas sobre la instalación de

aplicaciones y su privacidad.
5. Cumplimiento de Normativas:

o Muchas regulaciones de protección de datos, como el GDPR (Reglamento

General de Protección de Datos de la Unión Europea), requieren que las

aplicaciones y servicios limiten la recopilación y el uso de datos personales,

lo que se alinea con el principio de mínimo privilegio.

En resumen, aplicar el principio de mínimo privilegio en el desarrollo de aplicaciones para

Android no solo protege la seguridad de los usuarios y sus datos, sino que también

promueve una cultura de seguridad responsable en el diseño y la implementación de

software.

¿Cuáles son los componentes esenciales de una aplicación Android?

Las aplicaciones Android se componen de varios componentes fundamentales que permiten

a los desarrolladores construir y organizar la funcionalidad de sus aplicaciones de manera

efectiva. Estos componentes trabajan juntos para crear una experiencia fluida para el

usuario y para facilitar la gestión de recursos en el dispositivo. A continuación, se describen

los componentes esenciales de una aplicación Android:

1. Activities (Actividades):

o Una actividad es un componente que representa una sola pantalla con una

interfaz de usuario. Es la entrada principal de interacción del usuario en una

aplicación. Cada actividad puede contener múltiples elementos de interfaz

(botones, texto, imágenes, etc.) y puede iniciar otras actividades en respuesta

a eventos de usuario.
2. Services (Servicios):

o Un servicio es un componente que se ejecuta en segundo plano para realizar

tareas largas o que no requieren interacción con el usuario. Los servicios

pueden realizar operaciones como reproducir música, descargar archivos o

realizar tareas de red, incluso cuando la aplicación no está en primer plano.

3. Broadcast Receivers (Receptores de Difusión):

o Los receptores de difusión son componentes que permiten a una aplicación

recibir y responder a mensajes del sistema o de otras aplicaciones. Por

ejemplo, pueden recibir notificaciones sobre cambios en la conectividad de

red, mensajes SMS, o alarmas del sistema.

4. Content Providers (Proveedores de Contenido):

o Los proveedores de contenido permiten a las aplicaciones gestionar y

compartir datos de forma estructurada con otras aplicaciones. Por ejemplo,

pueden ser utilizados para acceder a la información de contactos o para

guardar y recuperar datos en una base de datos SQLite.

5. Fragments (Fragmentos):

o Un fragmento es un componente modular que representa una parte de la

interfaz de usuario en una actividad. Permiten la reutilización de

componentes de la interfaz y pueden ser utilizados para crear aplicaciones

más flexibles que se adapten a diferentes tamaños de pantalla y

configuraciones.
6. Intents (Intenciones):

o Aunque no son un componente en sí mismo, los intents son una parte clave

de la comunicación entre componentes. Se utilizan para iniciar actividades,

servicios y enviar mensajes a receptores de difusión. Los intents pueden ser

explícitos (dirigiéndose a un componente específico) o implícitos

(solicitando una acción sin especificar un componente).

7. Resources (Recursos):

o Las aplicaciones Android pueden utilizar diferentes tipos de recursos, como

cadenas de texto, imágenes, archivos de diseño XML y más, que se

almacenan en la carpeta res del proyecto. Estos recursos permiten que las

aplicaciones sean más dinámicas y se adapten a diferentes configuraciones

de dispositivos.

8. Manifest (Archivo Manifest):

o El archivo AndroidManifest.xml es un componente esencial que proporciona

información sobre la aplicación al sistema Android. Aquí se declaran las

actividades, servicios, permisos requeridos, y otras configuraciones

importantes de la aplicación.

Estos componentes trabajan en conjunto para proporcionar una experiencia de usuario

cohesiva y eficiente en las aplicaciones Android, facilitando tanto el desarrollo como la

interacción del usuario con las aplicaciones.


Bibliografía

SENA. (n.d.). Construir un aplicativo según las características de la arquitectura Android.

Recuperado de

https://zajuna.sena.edu.co/Repositorio/Titulada/institution/SENA/Tecnologia/228118/

Contenido/OVA/CF36/index.html#/

También podría gustarte