Cuánta de las principales API de Java están presentes en la API de Android

¿Cuántas de las principales API de Java están presentes en la API de Android? ¿Cómo puedo llegar a ser competente en la escritura de las principales aplicaciones Java mediante la escritura de aplicaciones para teléfonos Android?

4 Solutions collect form web for “Cuánta de las principales API de Java están presentes en la API de Android”

La página de requisitos del sistema en el sitio de desarrolladores de Android pide SDK 5 o 6. Supongo que puede asumir que puede utilizar todo de Java 6. Lo usé y no he encontrado un problema hasta ahora.

No conseguí la segunda pregunta. Si quieres preguntarte qué tan competente necesitas estar con las clases principales de Java para escribir una aplicación para Android, diría que cuanto más, mejor. Siempre ayuda a conocer las clases básicas de Java. De lo contrario, usted estará tratando de aprender dos cosas al mismo tiempo: el entorno de Android (su SDK) y las clases principales de Java. Posible, sólo toma más tiempo.

Android incluye los paquetes esenciales de la API de Java SE ( java.lang , java.util , java.net , etc.), pero no está cerca de la API completa de Java SE. Excluye AWT, Swing, Java 2D, Java Sound, RMI, CORBA, la API de scripting, JMX, JAXB, Java Print Service API, partes de JDBC y probablemente varias otras cosas.

Se puede ver fácilmente comparando las listas de paquetes para Android y Java SE .

El artículo de Java vs. Android API de ZDNet explica cuánto de la API principal de Java Standard Edition 5.0 está presente en Android. Se escribió a principios de 2008 y no he visto ningún artículo similar para las nuevas versiones de Android, pero creo que en gran parte de este artículo sigue siendo cierto si su aplicación se dirige a Froyo (API 8) o dispositivos anteriores.

Según el artículo, los paquetes siguientes son compatibles con Android:

  • Java.io – E / S de archivos y secuencias
  • Java.lang (excepto java.lang.management) – Soporte de idiomas y excepciones
  • Java.math – Gran número, redondeo, precisión
  • Java.net – E / S de red, URL, sockets
  • Java.nio – E / S de archivos y canales
  • Java.security – Autorización, certificados, claves públicas
  • Java.sql – Interfaces de base de datos
  • Java.text – Formato, lenguaje natural, colación
  • Java.util – Listas, mapas, conjuntos, arrays, colecciones
  • Javax.crypto – Cifras, claves públicas
  • Javax.net – Socket fábricas, SSL
  • Javax.security (parcial) – Relacionados con la seguridad
  • Javax.sound – Música y efectos de sonido
  • Javax.sql (excepto javax.sql.rowset) – Más interfaces de base de datos
  • Javax.xml.parsers – Análisis XML
  • Org.w3c.dom (pero no subpaquetes) – Nodos y elementos DOM
  • Org.xml.sax – API sencilla para XML

No se admiten los siguientes paquetes:

  • Java.applet
  • Java.awt
  • Java.beans
  • Java.lang.management
  • Java.rmi
  • Javax.accessibility
  • Javax.activity
  • Javax.imageio
  • Javax.management
  • Javax.naming
  • Javax.print
  • Javax.rmi
  • Javax.security.auth.kerberos
  • Javax.security.auth.spi
  • Javax.security.sasl
  • Javax.sql.rowset
  • Javax.swing
  • Javax.transaction
  • Javax.xml (excepto javax.xml.parsers)
  • Org.ietf. *
  • Org.omg. *
  • Org.w3c.dom. * (Subpaquetes)

De Froyo (API 8) se agregó el soporte para javax.xml y org.w3c.dom.ls, y desde Gingerbread (API 9) se agregaron las nuevas características de Java 6.0 (como String.isEmpty) pero muchas APIs (javax .imageio, javax.print, etc).

Por el núcleo de Java API que quiere decir J2SE? En ese caso, se incluyen todas las API de Java 6 y las construcciones de lenguaje (excepto probablemente el paquete de Sun que algunos usan como si fuera estándar, pero no lo es).

Desde un punto de vista tecnológico, pasar de Swing a Android, por ejemplo, es comparable a pasar de Swing a SWT (o cualquier otro marco de interfaz de usuario). El núcleo del lenguaje está ahí. No es como pasar a j2se que carece de una gran cantidad de API estándar (aunque usted puede encontrar terceros sustitutos).

Por supuesto que habrá diferencias aparte de la interfaz de usuario (como la API de la cámara, la configuración de almacenamiento, servicios de ubicación, etc.). Pero estas diferencias son esperadas, y para hacer otra comparación, es como pasar del desarrollo de software de simulación (donde se conoce la física y Bibliotecas de matemáticas) a software de administración de bases de datos (donde usted sabe sobre conexiones y controladores).

También etiquetaste la pregunta con "java-ee". No veo por qué cualquier API de empresa se incluiría en Android. Estos están diseñados para trabajar dentro de un contenedor (como tomcat es para servlets). En Android todas las aplicaciones se ejecutan en una JVM estándar, aunque el marco de interfaz de usuario se comporta algo como un contenedor.

  • ¿No se puede pausar la actividad?
  • ArrayList indexOf () devuelve índice incorrecto?
  • Cómo deshabilitar la búsqueda de WWW-Authenticate encabezado en 401 en HttpUrlConnection en Android?
  • GetTimeinMillis dando un valor negativo
  • Retrolambda en Travis CI
  • Creación de un Arraylist de objetos
  • ¿Cómo mantener la sesión de inicio de sesión de usuario?
  • Asignación de un JSONObject a una lista con Flexjson en Java / Android
  • Android gms: play-services: 8.1.0 DexIndexOverflowException
  • El método no estático 'getSharedPreferences (java.lang.String, int)' no se puede referenciar desde un contexto estático
  • Cómo eliminar MenuItems de menú de forma programática?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.