关于pdfbox在android平台中运行出错的原因分析
2011-12-20 21:45
489 查看
最近在使用pdfbox时发现了在java项目里边能正常工作,但到了Android中就总是出现问题,
经过不断调试和高人指点,发现原来pdfbox中某些类引用了java的 AWT,而android上并没有得到支持。(java.awt.font除外)
至于为什么Android 上并不支持Java的AWT?其实是google另外写了一些类来实现图像化
AWT与Android功能相似的实现方式:
既然Android用别的类实现了java中的awt,那么可不可以利用Android的相似类重写awt呢?
理论上是可以的,有人尝试将Java applet移植到android上去,搭建好环境,将代码导进后发现大量的awt方面的绘图代码不能编译。于是就用android.graphics来替代awt的调用,改来改去发现这是很机械的事情,就用android.graphics来实现awt的几个基本功能
于是总结出如下需要实现的class:
Color Font FontMetrics Graphics Rectangle
不过随着尝试的进行,又发现如下的class也需要实现:
BasicStroke Graphics2D Stroke GradientPaint RoundRectangle2D MenuItem PopupMenu
事情越来越复杂,究竟最后能否行得通?研究进行中。
其实已经有人在做同样的努力了,http://code.google.com/p/awt-android-compat/这是一个将awt移植到android上面的开源项目,有兴趣可以深究一下
相关文章推荐
- 【Arcgis for android】程序运行出错原因分析及解决(超详细)
- 【Arcgis for android】程序运行出错原因分析及解决(超详细)
- Fruit Ninja(水果忍者)游戏源代码下载、分析(上)---可运行Android,Ios,Window,Mac,Html5平台
- 关于DTS运行正常但JOB下运行出错相关问题的原因
- Fruit Ninja(水果忍者)游戏源代码下载、分析(中)---可运行Android,Ios,Window,Mac,Html5平台
- 【转载】Android Bug分析系列:第三方平台安装app启动后,home键回到桌面后点击app启动时会再次启动入口类bug的原因剖析
- Android 关于“NetworkOnMainThreadException”出错提示的原因及解决办法
- Fruit Ninja(水果忍者)游戏源代码下载、分析(下)---可运行Android,Ios,Window,Mac,Html5平台
- Android 检查运行慢原因和分析
- Android 关于“NetworkOnMainThreadException”出错提示的原因及解决办法
- Android 关于“NetworkOnMainThreadException”问题的原因分析及解决办法
- Android requires compiler compliance level 5.0 or 6.0. 出错原因分析、解决方法
- Android 关于“NetworkOnMainThreadException”出错提示的原因及解决办法
- 关于Webstrom运行react_native中的Android项目出错的解决办法
- Android 关于“NetworkOnMainThreadException”出错提示的原因及解决办法
- Fruit Ninja(水果忍者)游戏源代码下载、分析(中)---可运行Android,Ios,Window,Mac,Html5平台
- Android 关于“NetworkOnMainThreadException”出错提示的原因及解决办法
- Android 关于“NetworkOnMainThreadException”出错提示的原因及解决办法
- 关于 Request.ServerVariables("HTTP_REFERER") 运行时会出错的原因
- 关于XP\win7系统中安装.net4.0 程序运行版本出错的原因之一