Android和j2me的初级对比

一、程序入口
J2me程序入口类为MIDlet,所有的j2me程序都要继承该类来初始化j2me程序。Android程序入口是Activity类。下面先看看她们的生命周期。
J2me MIDlet生命周期
1、startApp (活动状态)程序启动的时候会调用该方法来初始化用户需要的资源。
2、PauseApp (暂停状态)当手机来电接电话的时候,会调用该接口。用户可以调用该接口停止也写线程的操作。
3、destroyApp (销毁状态)程序退出的时候调用。用户可以调用该接口处理处于活动状态的线程。
该几个周期状态有AMS调用转换,也可以程序代码调用转换。resumeRequest调用会的结果是AMS会调用startApp方法,notifyPaused调用的结果是可能AMS调用PsuseApp,notifyDestroyed调用会使AMS销毁该midlet。
Android Activity生命周期
1、onCreate 程序开始初始化的时候调用该接口,用户导航返回到Activity的时候也会调用该接口。类似于J2me里面多个Canvase(Displayable)切换。所以Activity也类似于Displayable。
2、onStart onCreate调用完后,程序调用该接口。
3、onResume onStart调用后调用该接口。此时Activity进入运行状态。
4、onPause 新的Activity启动的时候调用该接口。
5、onStop 该Activity 不可见的时候调用。
6、onDestroy 程序销毁的时候调用。
二、显示组件
J2me中所有可显示的组件都是直接或间接的继承了Displayable,直接的是Canvas和Screen。不同的继承导致了低级UI和高级UI的区别。J2me中现成的UI组件都是直接或者间接继承了Screen。只要调用Display.getDisplay(MIDLet instan).setCurrrent(Displayable disp),就可以把组件显示到手机界面上。切换界面的时候也可以使用该接口。
Android可见的组件直接或者间接继承了android.view.View。通过Activity.setContentView(View view)就可以显示在android手机界面上,切换界面的时候也可以使用该接口。如果是直接继承了View而不是Android自带的UI组件,那么还要自己去实现它的刷新,类似J2me的低级UI组件。
三、刷新处理
J2me刷新:
J2me高级UI组件由组件内部刷新实现,低级UI可以通过Canvas的repain()来刷新。低级UI架构可以用MVC方式来实现,建议使用二级缓存。
Android刷新:
Android提供接口onLayout来提供该View调整其里面组件元素的位置布局,用户只需要重写该接口就ok。刷新接口onDraw,该接口用来刷新界面里面的绘制元素。该接口类似j2me Canvas的paint接口。不过两个平台传得参数有些意思。J2me传的时Graphics,而android传得是Canvas。Android绘制的时候会传入一个参数Paint。该对象表示绘制的风格,比如颜色,字体大小,字体格式等。如果是移植的话,建议android也使用二级缓存,这样也容易管理。
四、用户事件处理
J2me的键盘、触笔事件都是通过Canvas定义接口分发。用户只需要从写这些接口就ok。它们分别是。键盘接口为:keyPressed(),keyRepeated(),keyReleased()。触笔接口为:pointerPressed(),pointerReleased(),pointerDragged()。
Android的键盘,触笔通过View中定义,只要override其接口就ok了。触笔处理接口onTouchEvent。软键盘onKeyDown()、onKeyUp()、onTracKballEvent()。
五、总结
Android提供更多、更全面、更详细、更广泛的api给程序员使用。
J2ME到Android应用移植指南:使用SDK 1.16 本文还有配套的精品资源,点击获取 简介:J2ME是Java平台的一个子集,用于开发资源有限的设备。随着Android平台的普及,开发者需要将J2ME应用程序迁移到Android上。j2me_android_sdk1.16是一个SDK,旨在简化J2ME到Android的移植过程。该SDK通过封装J2ME API,让开发者可以使用熟悉的J2ME接口构建Android应用。为了成... 阅读详情

相关推荐

J2ME-Loader,一个用于android的j2me模拟器。.zip

j2me loader是一个针对android的j2me模拟器。它支持大多数二维游戏,也有一些限制三维(吉祥物胶囊三维游戏不工作)。Emulator有一个虚拟键盘、每个应用程序的单独设置、缩放支持。

android是j2me的一个实现吗,j2me与android的区别

近期找工作,时间紧任务重,属于更新,现在终于定下了。先高兴一番。但是也有个小纠结,因为要学习j2me。从android转回j2me。看似逆流而上为人所不知,但是好在自己想开了。j2me是基础,基础好了,android小活。呵呵。废话不多说,先说基础的。(网上找的,以供参考)J2ME与Android程序部分比较一、程序入口J2me程序入口类为MIDlet,所有的j2me程序都要继承该类来初始化j2m...

weixin_30516429的博客 374

安卓j2me模拟器

安卓j2me模拟器

探究J2ME和Android的几大区别

你对J2ME和android的区别是否了解,这里和大家分享一下如何把J2ME游戏移植到Android平台的方法,如果你是个J2ME的游戏开发者,并且想把一些J2ME游戏快速地迁移到Android平台,那么相信本文会对你有所帮助。 J2ME和android的区别 本文主要介绍如何把J2ME游戏移植到Android平台的方法,如果你是个J2ME的游戏开发者,并且想把一些J2ME游戏快速地迁移...

lhc966的专栏 298

j2me_android_sdk_1.1.3

20120105:更新至1.13版本 1修改音频播放处理,支持同时播放多个音频【同时播放的音频文件大小需要<100K】 2优化Canvas实现,避免频繁创建Canvas对象会内存溢出BUG 3增加Player对PlayerListener实现

Autodesk全家桶怎么选?AutoCAD、Revit、Fusion 360等7款软件超全对比指南

本文深入对比了Autodesk旗下七款核心软件(AutoCAD、Revit、Inventor、Fusion 360、Maya、3ds Max、Forge)的核心定位与适用场景。针对建筑、制造、创意设计等不同专业需求,提供精准的选型指南,帮助用户根据自身工作流(如二维绘图、BIM协同、产品开发、影视动画)选择最匹配的工具,避免资源浪费并提升效率。

stone的博客 434

J2ME与Android比较 - [手机开发]

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://cjbskysea.blogbus.com/logs/65100957.html 一、 程序入口 J2me程序入口类为MIDlet,所有的j2me程序都要继承该类来初始化j2me程序。Android程序入口是Activity类。下面先看看它们的生命周期。 J2me MIDlet生命周期 1、 startA...

yueni23的博客 194

libcrypto.so.10(OPENSSL_1.0.2)(64bit) is needed by erlang-22.0.7-1.el7.x86_64

今天安装Rabbitmq的 erlang-22.0.7-1.el7.x86_64.rpmrpm包时遇到了这个坑,害找到说是不容易;错误信息在下面; [root@iz2zef7u84js1qeeq00ewwz RabbitMQ]# rpm -ivh erlang-22.0.7-1.el7.x86_64.rpm warning: erlang-22.0.7-1.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 6026dfca: NOKEY error:

qq_45782349的博客 5784

转载:Android和j2me的初级对比

一、 程序入口 J2me程序入口类为 MIDlet,所有的 j2me程序都要继承该类来初始化 j2me程序。 Android程序入口是 Activity类。下面先看看她们的生命周期。 J2me MIDlet 生命周期 1 、 startApp (活动状态)程序启动的时候会调用该方法来初始化用户需要的资源。 2 、 PauseApp ...

hellsing42 159

【新华三】通过路由复制实现Public与VRF路由互通

如上图所示,S6900设备里有两张表,一张是public路由表,默认所有的路由都存放在public路由表里;除此之外还创建了VRF test,因此此设备还有VRF test路由表。通过路由复制实现Public路由和VRF路由互通,默认情况下VRF里的路由单独一张路由表,默认情况下与public路由表相互隔离,两张表之间不可互访。此时的public路由表里面并没有test的路由表。public路由表与VRF路由表之间相互隔离。此时VRF test里的路由也没有其他VRF或Public里的路由,相互隔离。

五大连池的镜子 5283

基于PlatformIO与CMSIS的STM32库函数开发实战:从环境搭建到外设驱动

本文详细介绍了基于PlatformIO与CMSIS的STM32库函数开发实战,从环境搭建到外设驱动实现。通过对比传统IDE,PlatformIO结合CMSIS框架在跨平台开发、代码可移植性和调试体验上更具优势。文章包含PlatformIO.ini配置详解、GPIO/USART驱动开发实例及常见问题解决方案,帮助开发者高效完成STM32项目开发。

weixin_29190169的博客 425

android是j2me的一个实现吗,J2me和安卓有什么区别

首先从程序上来说的话,基本是没有多少区别的.都是使用JAVA语言开发,使用的框架和类不同而已.一、平台的区别J2me: 开发平台Android: 操作系统二、工程结构比较J2me:Res:资源文件Src:源代码Android:Src:源代码Res\drawable:图片Res\raw:声音Res\values:字符串Assets:数据文件三、安装包比较J2me: Jad,jarAndroid: a...

weixin_29323365的博客 609

Palantir 产品架构深度解析:从本体到AI的决策智能平台

本文深度解析了Palantir决策智能平台的核心产品架构。其核心在于构建企业级的“本体”(Ontology),即业务世界的“数字孪生”,通过数据、逻辑、操作三层抽象统一语义。平台以此为基础,通过Foundry构建数字孪生,并通过AIP(人工智能平台)实现本体增强生成(OAG),将AI深度融入业务,形成从数据感知、智能分析到行动执行的完整决策闭环。

ooo22的博客 736

【代码】如何快速将J2me游戏移植到Android上

前言 小白:“老大,你让做的三个J2me游戏搞定了,请看DEMO。” 老大:“恩,不错,小白,你知道Android这个平台吧?” 小白:“恩,听过。听说和J2ME有很多共同点。” 老大:“(一阵奸笑)很多共同点是吧?” 小白:“恩。” 老大:“那好,你把这几个J2ME游戏给我移植到Android上去。” 小白:“……” 很多J2ME开发者可能都会遇到这样的临时性需求

清源教育 2322

【YOLOv12多模态融合改进】| TFAM:时序融合注意力模块 | 引入通道 - 空间双分支注意力机制,解决双模态特征融合中时序关联不足的问题

TFAM模块通过时序信息驱动的注意力机制,解决了双时相特征融合中时序关联不足的问题,实现了更精准的变化区域定位和特征表示。其结构轻量、泛化性强,为变化检测任务提供了一种高效的特征融合解决方案。

Limiiiing的博客 868

MOS管的体二极管在LLC中的作用

MOSFET是一个三端器件(G、D、S),在N沟道MOSFET的结构中,源极和漏极之间的N型材料中自然形成了一个寄生的PN结,这个PN结就是体二极管(Body Diode),它是不可避免的器件结构。📌 对于N沟MOSFET:体二极管是从漏极 D 到源极 S 的正向导通二极管,方向为 D → S。MOS管的体二极管在LLC中并不是主功率通道,但却是实现软开关(ZVS)和能量过渡的关键“临时路径”。用得好,它是你的朋友;忽略它,电路就可能烧毁。

weixin_43199439的博客 702

J2ME-Loader快速入门:如何在5分钟内运行第一个J2ME游戏

J2ME-Loader是一款强大的Android平台J2ME模拟器,让你能够在现代安卓设备上重温经典Java ME游戏。本指南将带你快速掌握J2ME-Loader的安装与使用,无需复杂配置即可畅玩怀旧游戏。 ## 📱 准备工作:获取J2ME-Loader 要开始使用J2ME-Loader,首先需要获取应用程序。你可以通过以下两种方式之一: 1. **直接安装**:从可靠来源下载J2ME-L

gitblog_00168的博客 1121

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

J2ME-Loader 开源项目教程

J2ME-Loader 是一个开源的 Android 应用程序,旨在模拟和运行 Java 2 Micro Edition (J2ME) 应用程序和游戏。该项目由 nikita36078 开发,并在 GitHub 上托管。J2ME-Loader 提供了一个用户友好的界面,使用户能够在现代 Android 设备上体验旧的 J2ME 应用和游戏。 ## 项目快速启动 ### 安装步骤 1. **克...

gitblog_00210的博客 1588

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

如何把J2ME游戏移植到Android平台

如何把J2ME游戏移植到Android平台

Working harder, getting stronger! 1440

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

《J2me小白转正记》 浅谈J2me游戏如何快速移植到Android

《J2me小白转正记》                                 --------------浅谈J2me游戏如何快速移植到Android(关于这篇文章~非常的尴尬~骨头就不细说了~)前言小白:“老大,你让做的三个J2me游戏搞定了,请看DEMO。”老大:“恩,不错,小白,你知道Android这个平台吧?”小白:“恩,听过。听说和J2ME有很多共同点。”老大:“(一阵奸笑)很多共同点是吧?”小白:“恩。”老大:“那好,你把这几个J2ME游戏给我移植到Android上去。”小白:“……”

3273

J2ME和Android的简单比较

<br /> 程序入口J2ME <br /> <br />J2ME程序入口类为MIDlet,所有的J2ME程序都要继承该类来初始化J2ME程序。<br /> Android <br /> <br />Android程序入口是Activity类。<br /> 生命周期J2ME <br /> <br />J2ME MIDlet生命周期<br />1、startApp (活动状态)程序启动的时候会调用该方法来初始化用户需要的资源。<br />2、PauseApp (暂停状态)当手机来电接电话的时候,会调用该

java程序 838
上一篇: Android移植注意点
下一篇: Midlet的Push技术
sky_code
博客等级 码龄20年 0粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值