是否有可能有一个应用程序建立用于多种移动设备(上 平台),而不是使一个单独建立的每个设备的使用建立脚本,与有条件的汇编。

尤其是可能使用单一的酿造程序建立用于多种屏幕决议?

注意,我们的目标是有一个单一的 二进制 建立。如果将是只有一个单一的代码,于有条件的汇编和智能建立脚本就可以做到。

有帮助吗?

解决方案

是的,这是可能的,我们是能够做到这一点在我以前工作地点。有什么需要的是棘手的,但:

  1. 汇编的最低共同标准酿造的版本。1.1版本是基于目前所有的手机那里。
  2. 你的代码必须能够处理多个决议。该方法用于探测画面宽度和高度准确性对于所有的手机在我的经验。
  3. 所有你的资源必须负载上的所有设备。这将需要使自己的定义图片加载程序工作的某些设备的问题。用声音,我知道简单的MIDI类型0适用于所有但QCP还应工作(没有经验的它自己).
  4. 使用位的字体。有太多的设备问题的字体,使它有价值使用系统的字体。
  5. 设计代码结构的有限状态机。我不能强调这足够了-这样做很多很多的问题从来没有兑现。
  6. 必须解决方法,为每个单个装置的问题。这是最难的部分!这是可能的,但这只兔子洞是非常深...

在结束时,更加复杂和先进应用程序,较不可能的,你可以走这条路。一些设备属性只是不能被检测到的可靠运行时(例如平台ID)等多个版本是那么的需要。

其他提示

我写了一J2ME酿造的转换,用于在Javaground.它很可能写多决议,单的二进制代码。我们有一个数据库的设备的错误,以便它可以检测通过平台id的设备,然后将产生一系列的标志标记错误的标记。例如多数(如果不是全部)的摩托罗拉泡手机都有一个错误,一个来电话不断应用程序,直到你听电话,所以我使用失效监测对于一个来电,并产生一个hideNotify事件(由于我们是模仿Java,虽然产生的代码是纯C++)。我做了一些支票在运行为酿造的版本,并禁止某些Api如果它是泡2而不是泡3.

3D类型的游戏,更容易作出独立的决议,因为你是缩放在软件。

还有2个独立的APIs对于声音、互动媒体和ISOUNDPLAYER,ISOUNDPLAYER是老年API和支持所有设备,但没有尽可能多的设施(你只能做多渠道的音频使用互动媒体).我创建一个互动媒体对象,并且它将创建一个ISOUNDPLAYER对象,如果它不能获得的互动媒体对象。

这个问题与一个完全普遍建立是,有一个很大的区别能力,因此它可以是值得拥有一些建立,旧设备只有在1MB堆(和一个小屏幕上的大小),然后你可以得到很多有6兆+(176x204到更大)。

用泡你有一个相当一致的关键价值观(不同Java),虽然一些新的设备都是触摸屏幕(和你必须要把手指输入)和旋转的屏幕。

还有一些古老的诺基亚手机,使用大端的模式,这意味着该文件是不相同的作为正常国防部的文件(除非你想写些很酷的大会语言的前缀码头的文件)

另一个想法可能有的手机分为2至4个类别基础上说的屏幕尺寸以及创造建立对于他们。它是一个更快的路线太为你能支持你所有的手机你想要的支持与许多较小的复杂性。

另一件事看到的是泡上版本的手机你要启动。如果说酿1.1是一个手机,那就是有一个小小的百分比在你的目标市场,它不是有意义的工作来支持它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top