当前位置: 代码迷 >> Android >> Android中的java.跟javax.包
  详细解决方案

Android中的java.跟javax.包

热度:843   发布时间:2016-05-01 14:31:44.0
Android中的java.*和javax.*包

下面正如我在Java的分裂写到的Android使用了很多java.*和javax.*的包。到底用了多少呢,如果你有兴趣可以下载Android的源代码。

?

在晓峰的blog上看到他2007年发表的文章,写了他发现的Android使用的一些Harmony中的模块,这里写出所有模块:annotation、archive、auth、crypto、instrument、kernel、logging、luni、math、misc、nio、niochar、prefs、security、sound、sql、text、xnet

?

所有的Java和javax.*包

  1. java.awt.font? 字体相关的类,你也可以添加自定义字体
  2. java.bean?????? bean处理相关的类
  3. io、nio、net、security、text、utils、sql、math。还有下面的子包,如反射、注解、zip压缩、log等,基本上就是Java Lite
  4. javax.crypto? 加解密的
  5. javax.net和javax.net.ssl等网络处理相关
  6. javax.microedition.khronos.opengles和egl? --这两个包是肯定是关于OpenGL的,microedition是JavaME的包,这个应当是当时的权宜之计,出现于Level1中

  7. javax.security? 安全相关
  8. javax.sql和javax.xml? 这两个自然不用说了JDBC和XML处理??

为什么有这些包呢,我们如何使用这些包呢

???? 为什么有这些包,我们得从android的角度出发。现实是这个世界上有太多太多使用Java语言和核心类库开发的一些组件了,从阅读识别条形码、pdf、word文件解析到很多机构自定义的格式,各个行业和各个方面的应用,尤其是第三方类库,基本上你想到的都有了实现。这些都是Java的资产,如何能平滑的过渡到Android,很显然只要类库兼容就可以了。比如pdfbox是Java实现的解析pdf的工具,如果你想在Android上实现一个pdf阅读器,你可以直接使用pdfbox的一些实现。同样的如果在iphone上,你可能需要重新实现一遍。

?

?? 那么现在我们有如下几种API的使用策略

  1. Android自身的 (android.*)?? ---需要学习成本,优先采用
  2. Java Lite ( java.*和javax.*)??? ---对于Java程序员更加熟悉,次之使用
  3. 第三方包( 如pdfbox)??????????? ---因为可能存在兼容性等问题,更次之

选择API的两个例子

下面我举一个例子,比如对于日志有如下选择:android.util.Log,commons logging,log4j等选择。Log属于自身API,所以如果开发一个Android上的优先考虑Log。如果你正在开发一个如pdfbox的跨Android和Java的组件,可以考虑使用commons logging。

?

另一个例子。如果你正在考虑动画和游戏,Java Lite的线程(或定时器) 还是 android.view.animation你应当选择animation。因为内置的更好,虽然有学习成本,但是效率更好。如果你正在开发一个游戏框架或者JavaME的模拟器,选择concurrent方式可能更好。


经过两天我对Android的API的地图算是了解清楚了。下一步我将针对每个api包单独学习,同时将使用引导读文档的方式指导我Blog的读者学习。

?

1 楼 jinleix 2010-07-15  
老师的帖子一向精辟
2 楼 nisen 2010-07-16  
精辟不敢说,绝对原创。
  相关解决方案