`
fonter
  • 浏览: 869218 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

j2me to android

阅读更多

上个月一直在做j2me移植成android,虽然有点心得,但又不知想写什么好,还是写代码来得痛快,这里写一点心得吧,算是对工作的总结,我把移植分为三大块:

第一块:UI,移植前先要了解它们之前的不同,其不同点在于J2ME的Graphics相关于Android的Canvas,而且它们的方法略有不同,如下:

 

J2ME:

	/**
	 * Draws a rectangle in the given coordinates
	 * 
	 * @param x
	 *            the x coordinate of the rectangle to be drawn.
	 * @param y
	 *            the y coordinate of the rectangle to be drawn.
	 * @param width
	 *            the width of the rectangle to be drawn.
	 * @param height
	 *            the height of the rectangle to be drawn.
	 */
	public void drawRect(int x, int y, int width, int height) {
		g.drawRect(xTranslate + x, yTranslate + y, width, height);
	}

 

Android:

	public void drawRect(Canvas canvas, int x, int y, int width, int height,
			Paint paint) {
		paint.setStyle(Paint.Style.STROKE);
		paint.setAlpha(0xff);
		drawRect.set(xTranslate + x, yTranslate + y, xTranslate + x + width,
				yTranslate + y + height);
		canvas.drawRect(drawRect, paint);
	}

 

它们的小区别在于android需设置样式,而且坐标也有点不同,我是把他们写成一个通用类,传入的参数为Canvas,Paint,所以不用改太多代码便可移植!因为我很少用到高级UI,所以移植可能会快点,而对于高级UI的移植,我的idea是做一个通用的类,这个类可以添加一些ITEM。

 

事件KEY的处理:还是那句话,了解他们之前的不同,代码改动不大,android的事件处理机智比j2me好。

 

第二块:数据库,它们的区别在于android的sqlite很容易建立表到表之前的关联,而J2ME必须实现自己的一套框架,而且ANDROID的sqlite提供一些接口(如:SQLiteOpenHelper),数据库开发会很容易,但人个觉得两者移植不是很难,J2ME可以看成在一个文件读写一些序列化的东西,而android只要会一些sql语句。

 

第三块:模块类,我把多媒体,文件系统这些统称模块类,它们的移植主要是了解android和j2me的不同,重新CODE一次即可,像android做多媒体应该比较方便一点,它可以做缓存机智,这点j2me有点使不上力。

 

三大块分别开发,测试时很容易测出问题,这是单元开发的一大优点,集成开发有时当软件出来后,你会会发现软件卡的不行,或者报一大堆BUG!

 

最后一点是资源文件,android算更丰富一些,j2me还要写类去读取,搞个通用的入口即可,个人认为!

 

2
1
分享到:
评论

相关推荐

    Android代码-curve25519-java

    To use on Android: dependencies { compile 'org.whispersystems:curve25519-android:(latest version number here)' } To use from pure Java: org.whispersystems curve25519-java (latest version number ...

    新版Android开发教程.rar

    Note: Note: Note: Note: If JDK is already installed on your development computer, please take a moment to make sure that it meets the version requirements listed above. In particular, note that some ...

    Android环境以及配置文件

    - `Build Target`是选择对应的Android版本,相当于J2ME的MIDP版本。 - `Application name`是应用的显示名称,会出现在手机屏幕上。 - `Package name`需包含至少两层目录,例如:`helloworld.src`,这里存放源代码...

    Learning-Words - J2ME-开源

    J2ME作为早期的移动开发平台,虽然在现代移动市场中的地位已被Android和iOS取代,但其跨平台特性和轻量级设计依然在一些特定领域发挥作用。"Learning-Words"项目利用J2ME的特性,为用户提供了便捷的移动学习工具,...

    To-Do-O-开源

    开发 To-Do-O 需要 J2ME 或 Android 开发环境,如 Eclipse IDE 配合 eSWT 插件。同时,使用 Git 进行版本控制,以及 Maven 或 Gradle 进行构建管理,都是常见的工具选择。 6. **未来发展方向** 未来的 To-Do-O ...

    Java把plist转成xml,备份shsh文件

    j2SE,J2ME,J2EE,Android,java范围技术交流,iso shsh文件备份和直接通过浏览器下载iphone游戏和或者软件包 ios在解锁或者备份shsh文件时,从手机里获取的plist文件是打不开的,我们可以通过java转成xml或者可以...

    1.rar json-lib-2.4-jdk15.jar

    该库不仅适用于J2SE环境,还可在J2ME和Android平台上运行。 在Java中,JSON-lib库提供以下核心功能: 1. **序列化与反序列化**:将Java对象转化为JSON字符串,如`JSONObject`、`JSONArray`等,同时也支持将JSON...

    CN1Pisces:代号一的双鱼图形库端口

    #Codename 一个 2D 图形库(双鱼座) ... 包括(但不限于)iOS、Android、Windows Phone、Blackberry 和 J2ME。 ##安装 将文件复制到项目的 lib 目录中。 刷新项目中的库。 在 Netbeans 中,这可以通过右

    Myeclipse中安装eclipseme插件的可行方法

    - 在列表中找到刚刚添加的“J2ME”项,右键选择“Add to Profile…”。 - 在接下来的界面中,勾选“EclipseME”,然后单击“Apply Changes”按钮。 - 完成安装过程: - 系统将显示一系列安装进度窗口,按照提示...

    端到端现实世界BlackBerry应用程序,第5部分

    首先,BlackBerry平台以其对商务和企业级应用的强大支持而闻名,它使用Java Micro Edition (J2ME) 作为主要的开发环境。Java是一种广泛使用的编程语言,具有跨平台的优势,使得开发者能够为各种设备编写代码。在...

    java初学者或开发者查询手册.pdf

    - 支持多个平台:J2ME、J2SE、Android。 - **示例代码**: ```java import com.google.zxing.WriterException; import com.google.zxing.client.j2se.MatrixToImageWriter; import ...

Global site tag (gtag.js) - Google Analytics