从J2ME到Android的移植指南
需积分: 1 2 浏览量
更新于2024-09-17
收藏 30KB DOCX 举报
"这篇文章主要探讨了从J2ME迁移到Android平台时的关键转换点,包括开发环境、工程结构、安装包格式、代码结构以及具体的代码细节。"
在移动开发领域,从传统的J2ME转向现代的Android平台是许多开发者面临的挑战。J2ME,全称Java 2 Micro Edition,曾广泛应用于早期的移动设备,而Android现在已经成为主流的智能手机操作系统。两者之间的差异体现在多个方面:
1. **平台比较**
J2ME是一个轻量级的Java平台,主要用于功能手机和一些嵌入式设备。而Android则基于Linux内核,提供了更强大、更丰富的功能和API,适用于智能设备。
2. **工程结构**
在J2ME中,工程通常包含`Res`目录存储资源,`Src`目录存放源代码。而在Android中,源代码依然在`Src`目录,但资源文件被细分为多个子目录,如`drawable`用于图片,`raw`用于音频,`values`用于字符串等,而`Assets`则用来存放非结构化的数据文件。
3. **安装包格式**
J2ME应用发布为`.jad`和`.jar`文件,而Android应用打包成`.apk`,这是一种包含所有资源和代码的可执行文件。
4. **代码结构**
J2ME中的主程序通常继承自`MIDlet`,游戏或图形界面基于`Canvas`。在Android中,等价的概念是`Activity`作为应用程序的入口点,而视图界面则通常继承自`View`类。
5. **代码细节**
- **全屏设置**:J2ME通过`Canvas.setFullScreenMode(Boolean)`实现,而在Android中需调用`Activity`的相关方法,如`getWindow().setFlags()`来隐藏标题栏并实现全屏。
- **获取屏幕尺寸**:J2ME通过`Canvas`的`getHeight()`和`getWidth()`获取,Android则需通过`WindowManager`和`Display`对象来获取屏幕宽度和高度。
- **Display对象**:在J2ME中,通过`Display.getDisplay(MIDlet)`获取,而在Android中,需通过`getWindowManager().getDefaultDisplay()`来获取。
- **画布类**:J2ME使用`Canvas`,Android则需要自定义继承自`View`的类。
- **屏幕绘制**:J2ME使用`Graphics`类的绘图方法,如`drawString()`,Android则利用`Canvas`对象和`Paint`类进行绘图操作。
从J2ME迁移到Android,开发者需要理解和掌握Android的生命周期管理、意图(Intent)机制、服务(Service)、广播接收器(BroadcastReceiver)等核心概念,同时适应面向组件(Component-based)的开发方式。此外,Android提供了一系列强大的库和框架,如Jetpack,可以帮助开发者更高效地构建应用。
虽然J2ME和Android在很多方面存在显著差异,但它们都基于Java语言,这使得开发者在转型过程中有一定的基础。理解这些关键的转变点,将有助于开发者更平滑地过渡到Android平台,充分利用其丰富的功能和性能。
点击了解资源详情
点击了解资源详情
105 浏览量
2010-12-27 上传
2010-10-14 上传
135 浏览量
124 浏览量
142 浏览量
2011-06-03 上传
pengxiaoyan5400
- 粉丝: 2
- 资源: 8
最新资源
- zabaatLib:vvolfster的QML Qt UI和应用程序库
- proposal-array-equality:确定数组相等
- SQLite v3.28.0
- jQuery css3图标动画鼠标滑过图标旋转动画特效
- vecel-antenna
- MP3格式万能转换器任何音频均可自由切换格式
- 黑马瑞吉外卖源码及工程项目全套
- Foodfy-database:Persistindo dados daaplicaçãoFoodfy
- 展示::framed_picture:课程中展示的最佳学生作品展示
- Open Virtual Reality 'L'-开源
- 影响matlab速度的代码-table-testing:表达式矩阵文件格式的要求,示例和测试
- 行业文档-设计装置-饲料用缓释型复方甜菊糖微囊的制备方法.zip
- RedisSubscribeServer.zip
- Wireshark-win32-1.8.4
- C# winform设计 钉钉 微信 二维码 扫码登录登录客户端 源码文件 CS架构
- Martin_Barroso_P2:RISCV Multiciclo con UART para corrercódigo阶乘