开发中j2me与android的比较.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
### 开发中J2ME与Android的比较 随着移动设备技术的发展,移动应用开发成为软件工程领域中的一个重要分支。在过去的几十年里,多种移动开发平台和技术相继涌现,其中包括Java 2 Micro Edition (J2ME) 和 Android。这两种平台分别代表了不同阶段的移动开发历史,各有特色与优势。本文将从多个角度对J2ME和Android进行比较分析。 #### 一、平台概述 **J2ME** 是 Java 平台的一个子集,专为资源有限的设备设计,如手机、PDA等。它提供了一种跨平台的解决方案,使得开发者能够编写一次代码,在多个平台上运行。 **Android** 是一种基于Linux内核的操作系统,由Google公司开发并维护。它不仅仅是一个开发平台,还包含了操作系统、中间件和关键应用程序,支持多种设备类型,包括智能手机、平板电脑等。 #### 二、工程结构比较 - **J2ME**: - `Res` 文件夹:用于存放资源文件。 - `Src` 文件夹:用于存放源代码文件。 - **Android**: - `Src` 文件夹:存放源代码。 - `Res\drawable` 文件夹:存放图片资源。 - `Res\raw` 文件夹:存放非图片资源文件,如声音文件。 - `Res\values` 文件夹:存放字符串资源。 - `Assets` 文件夹:存放原始数据文件,如文本文件或配置文件。 #### 三、安装包格式 - **J2ME**:使用 `.jad`(Java Application Descriptor)和 `.jar`(Java Archive)两种文件格式。`.jad` 文件包含应用的元数据,如图标、版本号等;`.jar` 文件包含实际的应用程序代码和资源。 - **Android**:使用 `.apk`(Android Package Kit)文件格式,包含了应用的所有代码和资源,以及元数据。 #### 四、代码结构比较 - **J2ME**: - **MIDlet**:是J2ME中的主类,相当于应用程序入口点。 - **Canvas**:用于绘制图形界面的主要类。 - **Android**: - **Activity**:是Android应用的基本组成部分,代表了一个用户界面的屏幕。 - **View**:是用户界面的基本构建块,可以显示文本、图像或响应用户输入。 两者在继承方式上也存在相似性,都是通过继承的方式来实现特定功能,但在具体实现细节上有很大差异。 #### 五、代码细节比较 1. **全屏设置** - **J2ME**:在 `Canvas` 类中调用 `SetFullScreenMode(Boolean)` 方法。 - **Android**:在 `Activity` 类中调用 `getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);`,同时调用 `requestWindowFeature(Window.FEATURE_NO_TITLE);` 来隐藏标题栏。 2. **获得屏幕尺寸** - **J2ME**:通过 `Canvas` 类的 `getHeight()` 和 `getWidth()` 方法获取。 - **Android**:通过 `WindowManager.getDefaultDisplay()` 获取屏幕对象,然后调用 `getWidth()` 和 `getHeight()` 方法获取屏幕宽度和高度。 3. **Display** - **J2ME**:通过 `Display.getDisplay(MIDlet)` 获取 `Display` 对象。 - **Android**:同样通过 `WindowManager.getDefaultDisplay()` 获取屏幕对象。 4. **画布类** - **J2ME**:使用 `Canvas` 类。 - **Android**:继承自 `View` 类,并定义构造方法。 5. **屏幕绘制方法** - **J2ME**:使用 `Paint(Graphics)` 方法。 - **Android**:覆盖 `onDraw(Canvas g)` 方法来进行绘制。 6. **Graphics** - **J2ME**:使用 `Graphics` 类来处理绘图操作。 - **Android**:使用 `Canvas` 类,提供了丰富的绘图功能。 7. **Image 的创建** - **J2ME**:使用 `Image.createImage(path)` 方法创建图像。 - **Android**:使用 `BitmapFactory.decodeResource(getResources(), R.drawable.map0)` 方法加载图像资源。 8. **Font 的创建与使用** - **J2ME**:使用 `Font` 类来设置字体。 - **Android**:使用 `Paint` 类的 `setTypeface()` 方法设置字体。 9. **drawImage** - **J2ME**:使用 `drawImage` 方法来绘制图像。 - **Android**:使用 `drawBitmap(Bitmap bitmap, float left, float top, Paint paint)` 方法绘制位图。 10. **字符串绘制** - **J2ME**:使用 `Graphics.drawString()` 方法绘制文本。 - **Android**:使用 `Canvas.drawText(String text, float x, float y, Paint paint)` 方法绘制文本。 11. **setClip** - **J2ME**:使用 `Graphics.setClip()` 方法来限制绘图区域。 - **Android**:使用 `Canvas.clipRect(float left, float top, float right, float bottom, Region.Op op)` 方法来剪切绘图区域。 12. **旋转** - **J2ME**:使用 `drawRegion()` 或 `drawImage()` 方法来实现旋转效果。 - **Android**:可以使用 `Matrix` 类配合 `Canvas` 的 `setTransform(Matrix matrix)` 方法来实现图像的旋转。 虽然J2ME和Android在许多方面有相似之处,但它们之间的区别也很明显。J2ME更侧重于轻量级应用的开发,而Android则提供了更为丰富的特性和更高的性能。随着技术的发展,Android已成为主流的移动开发平台之一,而J2ME则逐渐淡出市场。然而,对于理解移动开发的历史和技术演进过程而言,研究J2ME仍然是非常有价值的。
- 粉丝: 0
- 资源: 2万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助