从J2ME到Android的移植指南
需积分: 1 62 浏览量
更新于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平台,充分利用其丰富的功能和性能。
2011-04-27 上传
105 浏览量
2010-12-27 上传
2010-10-14 上传
2011-06-03 上传
2012-10-23 上传
101 浏览量
128 浏览量
2021-11-15 上传
pengxiaoyan5400
- 粉丝: 2
- 资源: 8
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍