Ver Mensaje Individual
  #1  
Viejo 27/04/12, 02:08:25
Avatar de Frankiicas
Frankiicas Frankiicas no está en línea
Miembro del foro
Mensajes: 330
 
Fecha de registro: dic 2011
Localización: Torreon, Mexico
Mensajes: 330
Modelo de smartphone: HTC ONE
Versión de ROM: 4.4.2
Tu operador: TELCEL
Mencionado: 0 comentarios
Tagged: 0 hilos
noticia [GUIA] Dudas Sobre Desarrollo Android

Hola amigos.
Me presento de nuevo ante ustedes Trayéndoles este hilo donde podrán publicar todas sus dudas acerca de las cosas mas complicadas de android, en especifico para nuestro modelo
.

Me esforzare en responderde forma rápida y clara a todas esas dudas que no podemos resolver debido a la complejidad que guardan

La razon de este hilo, nace en la falta de informacion que asecha a esta (y muchas otras) comunidad, pues todos savemos que tenemos un Optimus Black, pero relamente sabemos que hay en su interior, y en el interior de ese interior?

Esto no es un glosario ni un diccionario, es solo mi forma de aportar mis conocimientos a los demas usuaios de HTCMANIA.


Les ruego por favor que publiquen únicamente comentarios, preguntas y dudas relativas a la programacion y el desarrollo android.

CUALQUIERusuario es bienvenido si quiere agregar algun aporte al hilo, la idea es que entre todos nos eduquemos lo mas posoible sobre estos aparatitos android.


El Hilo estara divido en 2 partes:Preguntas y Respuestas; Asi que a publicar sus mas reonditas dudas amigos![


La primer duda la aportare yo, pues es una que esta presente en muchos usuarios, y sobre el kernel de android, empezemos



PREGUNTAS



#1 - Que es el Kernel en Android ?
#2 - Porque Android esta escrito en JAVA?
#3 - [size="5"]Que es el SDK de android?/SIZE]
#4 -




RESPUESTAS

#1

- El Kernel (Núcleo) es la parte fundamental del sistema operativo y es el que se encarga de dar acceso del hardware a los programas. Digamos que es el encargado de recoger y gestionar las ordenes que le llegan de las aplicaciones y mandárselas al hardware para después recoger las respuestas y devolverlas a las aplicaciones, por ejemplo, el desbloquear la pantalla al pulsar un botón. Es el corazón de cualquier sistema operativo.

Android tiene como núcleo Linux, el Kernel 2.6.0 es el usado por nuestros Optimus Black y todos los equipos que corren Gingerbread. En este núcleo existe lo que han llamado como Dalvik, una máquina virtual de Java (JVM), que ha sido creada por Google para dispositivos con poca memoria y poca capacidad de proceso. En Android, cada aplicación corre en su propio proceso y tiene su propia instancia en la máquina virtual Dalvik. Una máquina virtual es como si tuviésemos un ordenador independiente en donde se ejecutan las aplicaciones, estas aplicaciones están desarrolladas en Java con las funcionalidades que les ofrece el SDK de Android. Las aplicaciones se ejecutan en la máquina virtual y esta a su vez se ejecuta sobre el kernel.

Dalvik ejecuta archivos .dex en lugar de los clásicos .class de la máquina virtual de Java de escritorio. Éstos están más optimizados para los dispositivos móviles y son más compactos. En esta máquina virtual no disponemos de toda la API de JavaSE o JavaME, sino que podemos utilizar un subconjunto llamado Core Libraries, que han desarrollado los ingenieros de Google únicamene para Android.

El principal problema de una ROM y la causa de que no nos funciona tan bien, suele ser normalmente problemas del Kernel que no sabe configurar el sistema instalado a las propias funciones de este. Podemos cambiar el Kernel de nuestro Android con diferentes métodos que existen a través de la red a fin de que se adapte a esa ROM que tanto queremos, o bien, para mejorar el rendimiento o duración de la batería en nuestro equipo.

El kernel es una dimension abrtacta, se situa por debajo del sistema operativo (android) y es independiente de este.





#2

Bien, esto es complicado pues cada lenguaje es utilizado por sus diferentes características en distintos ámbitos, Abra a quien le suene ilógico que un sistema del tamaño de android este escrito en un lenguaje tan, tan controversial.
Pues bien, es cierto que android esta escrito en java, mas no es su totalida, El sistema está compuesto por 12 millones de líneas de código, incluyendo 3 millones de líneas de XML, 2,8 millones de líneas de lenguaje C, 2,1 millones de líneas de Java y 1,75 millones de líneas de C++.
Android utiliza en su mayoría el código de java debido a los bajos requerimientos que necesita para funcionar, por lo moldeable y adaptable que es y porque al ser un lenguaje compacto, es perfecto para procesadores AMR, si los smartphones android funcionaren sobre la arquitectura x86, esperaríamos cuando menos C+.

Después de discutirlo con compañeros y maestros, llegue a la conclusión personal de que android esta escrito en JAVA pues su principal competidor(ios) es muy muy seguro, y la seguridad es algo casi comprobado(mas no asegurado) pues en android cada aplicaron se ejecuta en una maquina virtual diferente, lo que impide al codigo malicioso atravesar la barrera de dicha aplicación.
En conclusión podríamos decir que la manera en que android se maneja internamente es muy poco practica, y esto se deve a que muy pocas o casi ninguna tiene acceso integro al kernel, es decir, sin pasar por Dalvik, que es la maquina virtual que se ejecuta en el sistema.
Esta funcion de Intermediario que tiene dalvik es la causa de la lentitud del sistema, pues al ser diseñada por google, ellos la crearon para funcionar con poquísima memoria, por lo que al correr aplicaciones con procesos grandes, literalmente dalvik se vuelve un cuello de botella de informacion.
Cuando crearon dalvik no imaginaban que íbamos a utilizar procesadores a 1GHZ tan rápido, mucho menos de 4 núcleos, la solución que yo veo a esto seria actualizar la maq virtual.





#3

El SDK o Kit de desarrollo de software es una herramienta liberada por google, específicamente para la creación de programas para android, contiene un emulador de android, lo cual nos permite correr las aplicaciones antes de pasarlas al teléfono y así irlas depurando, Su uso es muy muy sencillo, y lo único que yo les recomendaría es un uso decente del lenjuaje java.
Esto es la base de todas las aplicaciones que conocemos, así que anímense, descarguenlo y empiecen a crear sus apps!

Última edición por Frankiicas Día 02/05/12 a las 06:12:30
Responder Con Cita
Los siguientes 9 usuarios han agradecido a Frankiicas su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]