Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android J2ME知识对其他移动平台的推广程度如何?_Android_Mobile_Java Me - Fatal编程技术网

Android J2ME知识对其他移动平台的推广程度如何?

Android J2ME知识对其他移动平台的推广程度如何?,android,mobile,java-me,Android,Mobile,Java Me,我正在考虑在我的大学学习手机软件开发课程。本课程使用J2ME和仿真器。我对手机软件开发很感兴趣,但我的印象是,与iPhone和Android等较新平台相比,J2ME有些陈旧和有限。我对Android最感兴趣,因为我不喜欢iPhone的封闭性 那么,如果我参加这门课程,所学的技能在多大程度上会转移到Android这样的平台上呢 我有一个相关的问题。我对Java(和各种其他编程语言)非常熟悉,但我没有使用J2ME。有没有什么东西让编程特别痛苦?(无论如何,Java并不是那么令人愉快)从熟悉Java到

我正在考虑在我的大学学习手机软件开发课程。本课程使用J2ME和仿真器。我对手机软件开发很感兴趣,但我的印象是,与iPhone和Android等较新平台相比,J2ME有些陈旧和有限。我对Android最感兴趣,因为我不喜欢iPhone的封闭性

那么,如果我参加这门课程,所学的技能在多大程度上会转移到Android这样的平台上呢


我有一个相关的问题。我对Java(和各种其他编程语言)非常熟悉,但我没有使用J2ME。有没有什么东西让编程特别痛苦?(无论如何,Java并不是那么令人愉快)

从熟悉Java到熟悉J2ME应该是一个非常容易的过渡。最大的障碍可能是获得手机模拟器或构建脚本设置,以及学习如何在手机上加载和运行构建。但我相信你会在第一周的课上讲到这些。桌面Java中包含的东西与移动API中没有的东西(比如几乎所有Java 1.5+功能和某些UI包等等)和一些J2ME特定的API也有一些不同,您必须使用这些API来完成一些事情,比如绘制屏幕或响应按键,但它们都非常类似java,并且使用Javadoc有很好的文档记录,所以它们不难学习……基本上,它可以与java的精简版本相比,去掉了对移动应用程序不太有用的功能

在我看来,J2ME将是移动开发的一个很好的入门,即使它作为一个平台有点“过时”,如果它们没有为您最感兴趣的平台提供一个类的话。它将向您介绍许多您仍然需要担心的问题,如小尺寸/屏幕大小、内存和性能问题、使应用程序能够跨多个具有不同功能的手机型号工作等

在经历了将近一年的J2ME开发之后,从J2ME到原生(非J2ME)黑莓开发对我来说并不是一个巨大的飞跃——主要是学习不同的构建工具以及如何使用不同的模拟器在手机上加载黑莓应用,还有一些不同的黑莓特定的UI软件包——这取决于你能找到多少好的教程,这可能是一件轻而易举的事,或者有点“XYZ如何翻译到这个新平台上”

Android可能也有类似的飞跃——你可能会发现在J2ME、Blackberry和Android之间有相当多的代码可以重用,因为这三种平台都允许你编写基于java的代码(在我的工作中,黑莓和安卓版本的项目实际上通过设置依赖项目共享了一堆与ui无关的代码)…我认为从编码的角度来看,这三个平台之间最大的区别之一是它们有不同的库来做UI…我的意思是,它们基本上都有画图方法等等,但是每个平台都有不同的UI和其他必须使用的本机包,它们在什么是ava和什么不是ava方面有一些变化易升级(例如:在blackberry上绘制渐变比在J2ME上容易得多),不同平台之间的文件系统访问就您必须使用的API而言略有不同,等等

至于J2ME令人痛苦的事情……我想说的是,您无法通过设备模拟器进行调试的问题(例如:电话呼叫中断您的应用程序、音频播放不正确等)、受保护的API(如果您使用的是像ATT这样的提供商,则需要在构建时进行签名),而仅仅是尝试处理分辨率很小和/或处理器速度慢的屏幕是最困难的……没有什么比这更痛苦的了,我想你会因为上了一堂移动开发课而痛恨自己,而其中一些问题可能超出了你的课程范围

总而言之,我想说,学习任何移动平台都会让你更接近你想要的目标,即学习某个特定的平台,而该平台不是作为课程提供的,而且在课程中,你将学到很多东西,这些东西可以概括为:)

PS…如果最终,你想学习Android,并且必须从不同的手机语言开始,我认为学习J2ME或Blackberry是最匹配的平台,因为它们都基于java,并且与Windows Mobile相比,在使用什么工具上有一些重叠(比如你可能会使用Eclipse作为这三种工具的IDE),BREW(基于C++的)或iPhone(目标C)

PPS…很抱歉再次编辑添加此内容…但我查看了我们公司的内部文档(针对新开发人员),了解了安卓构建环境的设置有多疯狂(一点也不疯狂),它实际上与我设置blackberry环境所必须做的非常相似,除了要安装的不同插件和SDK。我想你会发现这两个平台中的任何一个都只是从J2ME开发课程中学习到的一个小小的飞跃


本质上,要在Eclipse中编写android代码,您必须为android添加一个插件:在Eclipse中,在“帮助”菜单下添加新软件,并添加一个带有url的下载站点),然后在设置完成后,将Eclipse中的默认JRE设置为android的JRE之一,而不是JDK中的JRE(注意:您可能还需要安装SDK工具才能获得所需的正确JRE(谷歌的“android SDK工具”)。该插件将添加一些您需要的特定于android的菜单选项,如“转换为android项目”…通过J2ME课程的中途学习,您可能已经知道了足够多的知识,可以尝试自己建立一个android开发环境:)

已经有了一个很好的答案,但是我想再加上我的2美分,我会