Android vs Java: comparando as API´s

Apesar de desenvolvermos aplicações para o Android em Java, este não possui uma JVM. Ele utiliza a VM Dalvik que tem um subset do Java SE, isto é, não possuí a API completa. A VM Dalvik é otimizada para dispositivos com pouca capacidade de memória e não utiliza os arquivos padrão bytecode.
Um exemplo é a ausência do pacote javax.swing, pois o Android possui uma API própria para tratamento de GUI. Abaixo uma lista dos pacotes JSE suportados e não suportados pelo Android.

Suportados:

  • java.io - File and stream I/O
  • java.lang (except java.lang.management) - Language and exception support
  • java.math - Big numbers, rounding, precision
  • java.net - Network I/O, URLs, sockets
  • java.nio - File and channel I/O
  • java.security - Authorization, certificates, public keys
  • java.sql - Database interfaces
  • java.text - Formatting, natural language, collation
  • java.util (including java.util.concurrent) - Lists, maps, sets, arrays, collections
  • javax.crypto - Ciphers, public keys
  • javax.net - Socket factories, SSL
  • javax.security (except javax.security.auth.kerberos, * javax.security.auth.spi, and javax.security.sasl)
  • javax.sound - Music and sound effects
  • javax.sql (except javax.sql.rowset) - More database interfaces
  • javax.xml.parsers - XML parsing
  • org.w3c.dom (but not sub-packages) - DOM nodes and elements
  • org.xml.sax - Simple API for XML

Não suportados:

  • 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.swing
  • javax.transaction
  • javax.xml (except javax.xml.parsers)
  • org.ietf.*
  • org.omg.*
  • org.w3c.dom.* (sub-packages)
Também são suportados outros pacotes que não são da JSE:
  • org.apache.commons.codec - Utilities for encoding and decoding
  • org.apache.commons.httpclient - HTTP authentication, cookies, methods, and protocol
  • org.bluez - Bluetooth support
  • org.json - JavaScript Object Notation

Fonte: http://blogs.zdnet.com/Burnette/?p=504

1 Comentário:

Tiago "PacMan" Peczenyj disse...

org.apache.commons.httpclient e org.json? Sensacional!!