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的读者学习。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值