|
||
|
|
|
|||||||
| ROMs y desarrollo LG Optimus Black ROMs LG Optimus Black |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
[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 - ![]() ![]() #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. |
| Los siguientes 9 usuarios han agradecido a Frankiicas su comentario: | ||
|
|
|
#2
|
||||
|
||||
|
Reservado
|
|
#3
|
||||
|
||||
|
Genial, estuviera bueno que poostearas como podemos hacer "fixes" a rom's que les falla el wifi la cámara etc.
|
|
#4
|
||||
|
||||
|
que saben sobre el uso del SDK de android ?
(la programacion orientada a objetos) |
|
#5
|
||||
|
||||
|
Pues hablando de kernels, sabes como modificarlo? Yo no entiendo ni pajolera idea de programación ( Lo mío son las redes y el hardware ) pero en xda están portando ICS a nuestro black con muy buenos resultados, pero todavía tienen problemas con el WiFi, y otras muchas cosas debido al kernel. Sí sabes del tema podrías pasarte por allí y compartir con ellos tus conocimientos. Tú ayuda sería muuuyyyy apreciada por allí.
Una duda que siempre he tenido yo. Cuando se decidió crear Android... de todos los lenguajes de programación existentes... por que se escogió java? Ppt que escoger un lenguaje tan poco eficiente para crear algo tan importante como un S.O Enviado desde mi LG-P970 usando Tapatalk
__________________
Mi historia con android: HTC bravo (desire), samsung galaxy mini, LG optimus black, Jiayu G3S, Samsung Galaxy S IV, Google Nexus 4 (16GB), Tablet Arcos 80 titanium; Oneplus One y tablet LG Gpad 8.3 [cacharritos actuales]
Última edición por ismael87 Día 29/04/12 a las 05:03:50. |
|
#6
|
||||
|
||||
|
muy buena idea compañero para gente como yo biene genial este hilo porque quiero aprender sobre esto lo maximo posible. una pregunta sobre programacion de apps es muy complicado o podria cualquiera hacer una aplicacion simple tipo calculadora etc y que necesitaria para crearla? gracias de antemano y esperemos no haya indeseables que estropeen este hilo...
__________________
![]() esperando android 4.4
|
|
#7
|
||||
|
||||
![]() Pues hablando de kernels, sabes como modificarlo? Yo no entiendo ni pajolera idea de programación ( Lo mío son las redes y el hardware ) pero en xda están portando ICS a nuestro black con muy buenos resultados, pero todavía tienen problemas con el WiFi, y otras muchas cosas debido al kernel. Sí sabes del tema podrías pasarte por allí y compartir con ellos tus conocimientos. Tú ayuda sería muuuyyyy apreciada por allí.
Una duda que siempre he tenido yo. Cuando se decidió crear Android... de todos los lenguajes de programación existentes... por que se escogió java? Ppt que escoger un lenguaje tan poco eficiente para crear algo tan importante como un S.O Enviado desde mi LG-P970 usando Tapatalk ![]() Referente a la pregunta... exelente idea, esa pregunta pocas personas se las hacen pero es vital... Trabajando la respuesta. muy buena idea compañero para gente como yo biene genial este hilo porque quiero aprender sobre esto lo maximo posible. una pregunta sobre programacion de apps es muy complicado o podria cualquiera hacer una aplicacion simple tipo calculadora etc y que necesitaria para crearla? gracias de antemano y esperemos no haya indeseables que estropeen este hilo...
![]() Gracias por participar |
| Gracias de parte de: | ||
|
#8
|
||||
|
||||
|
La verdad la programacion en Android no es de gran complejidad, ya que (hablando de apps) se basa en xmls (para crear, por asi decirlo, los objetos de forma "teorica", con sus dimensiones, sus IDs y demas) y en java (para implementar estos objetos y darles su funcion). Aun asi, son cosas nuevas que se aprenden, ya que Android usa sus propios metodos de java y demas, pero es un tema muy interesante Enviado desde mi LG-P970 usando Tapatalk |
| Gracias de parte de: | ||
|
#9
|
||||
|
||||
|
Respecto a Android y java... yo es que nunca Lo he entendido. Me parece estúpido coger un lenguaje tan... tosco para hacer un sistema operativo aunque sea para un smartphone, y el tema de la máquina virtual dalvik ( que seguro que tendrá Su porque) me parece un total desperdicio de recursos del sistema, pero repito... la programación y yo no somos muy amigos, y que conste en acta... adoro android Enviado desde mi LG-P970 usando Tapatalk
__________________
Mi historia con android: HTC bravo (desire), samsung galaxy mini, LG optimus black, Jiayu G3S, Samsung Galaxy S IV, Google Nexus 4 (16GB), Tablet Arcos 80 titanium; Oneplus One y tablet LG Gpad 8.3 [cacharritos actuales]
|
|
#10
|
||||
|
||||
|
Causa perdida? No crees que sean capaces de solucionarlo? Pfff me acabó de llevar el disgusto de la semana XD
Respecto a Android y java... yo es que nunca Lo he entendido. Me parece estúpido coger un lenguaje tan... tosco para hacer un sistema operativo aunque sea para un smartphone, y el tema de la máquina virtual dalvik ( que seguro que tendrá Su porque) me parece un total desperdicio de recursos del sistema, pero repito... la programación y yo no somos muy amigos, y que conste en acta... adoro android Enviado desde mi LG-P970 usando Tapatalk ![]() Podrian haberlo hecho mas complejo pero entonces serian como Apple, donde las ROMs cocinadas no existen, dejando de ser Open Source... Enviado desde mi LG-P970 usando Tapatalk |
|
#11
|
||||
|
||||
|
He pasado por alto decir que las apps estan tambien hechas con java, aparte de la interfaz, ya que lo he nombrado en mi comentario anterior
Enviado desde mi LG-P970 usando Tapatalk Última edición por Juanviz21 Día 30/04/12 a las 11:45:57. |
|
#12
|
||||
|
||||
|
a ver yo porgramacion estudie algo, aunque me declaro totalmente profano. no obstante he oido y leido en multitud de ocasiones que java es un lenguaje muy muy poco eficiente a la hora de hacer programas para el ( repito soy profano, pero es lo que simpre se ha dicho )
de hecho ahora me viene una frase que ley una vez por hay y que se ha hecho muy popular entre muchos programadores XD: "el que programa en java, tiene lo que se merece"
__________________
Mi historia con android: HTC bravo (desire), samsung galaxy mini, LG optimus black, Jiayu G3S, Samsung Galaxy S IV, Google Nexus 4 (16GB), Tablet Arcos 80 titanium; Oneplus One y tablet LG Gpad 8.3 [cacharritos actuales]
|
|
#13
|
||||
|
||||
|
a ver yo porgramacion estudie algo, aunque me declaro totalmente profano. no obstante he oido y leido en multitud de ocasiones que java es un lenguaje muy muy poco eficiente a la hora de hacer programas para el ( repito soy profano, pero es lo que simpre se ha dicho )
de hecho ahora me viene una frase que ley una vez por hay y que se ha hecho muy popular entre muchos programadores XD: "el que programa en java, tiene lo que se merece" ![]() El lenguaje Python es mas versatil eso si, pues por ejemplo para declarar una variable en Java seria algo como "double x = 1.5" mientras que en Python seria "x = 1.5", este tipo de cosas y otras mas hacen que sea mas rapido y sencillo de usar. Enviado desde mi LG-P970 usando Tapatalk |
|
#14
|
||||
|
||||
|
humm ok para la UI se utiliza java, y para el kernel y las librerias se utiliza C++ puedo entenderlo.
pero desde tu opinion sincera, no hubiera sido mejor idea elegir otro lenguaje para escribir las apps?
__________________
Mi historia con android: HTC bravo (desire), samsung galaxy mini, LG optimus black, Jiayu G3S, Samsung Galaxy S IV, Google Nexus 4 (16GB), Tablet Arcos 80 titanium; Oneplus One y tablet LG Gpad 8.3 [cacharritos actuales]
|
|
#15
|
||||
|
||||
|
Enviado desde mi LG-P970 usando Tapatalk |
|
#16
|
||||
|
||||
|
Claramente, lenguajes mas eficientes hay pero, viendolo desde otro punto de vista, java nos permite hacer apps de forma sencilla, que es lo que le interesa a Google, asi no cierra puertas a los usuarios, permitiendoles crear por su cuenta las aplicaciones (por ejemplo, un compañero mio, como no encontraba ninguna aplicacion que describiera los horarios de autobuses de su zona, se esta creando por su cuenta una app para ello)
Enviado desde mi LG-P970 usando Tapatalk ![]() Google ya no puede reescribir android porque mas que fragmentar su sistrma lo estaria enterrando. La solucion, creo yo, seria actualizar la maquina virtual dalvik. |
|
#17
|
||||
|
||||
|
Cuando google compro android no modifico si estructura pues java era un lenguaje acorde para los equipos de dicha epoca... si hubiesen sabido que dentro de unos anos manejariamos frecuencias de +1Ghz y multinucleo... otra cosa seria.
Google ya no puede reescribir android porque mas que fragmentar su sistrma lo estaria enterrando. La solucion, creo yo, seria actualizar la maquina virtual dalvik. ![]() La verdad no se que planes tiene Google actualmente, que hasta ahora me mantiene feliz con android jajaja Enviado desde mi LG-P970 usando Tapatalk |
|
#18
|
||||
|
||||
|
Es verdad, es como Nokia si hubiera desarrollado el lenjuage QT desde hace mucho tiempo, seria una real conñmpetencia de Android... pero bueno ya saben lo historia jejeje
Dilculpen el OffTopic es que antes era symbian pero Andriod me tiene mas contento!! Enviado desde mi LG-P970 usando Tapatalk 2 |
![]() |
Estás aquí
|
||||||
|
||||||