English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية 
J2ME软件开发的手机
(2002)
Colin Fahey
moto_t720_open_lightanddark02.jpg
Motorola T720手机,表明开放

1. 警告

这份文件是过时了!  本文件中的资讯可能已经有效和有用的一年2002 ,但许多事情已经改变在随后几年!  这份文件现在应该只被看作是一个有趣的历史记录,今年2002 。  不依赖于任何资料或意见,这份文件。  所有的技术资料在本文件是非常过时了。 

下载自创建软件,自我创造形象,自我创造的电话警告的旋律(即“,”铃声) ,是比较少见和困难的一年2002 。  可悲的是, 6年后,一些移动电话服务供应商(包括Apple ,它提供的专有软件和“铃声”门户iPhone )仍实行限制下载软件,图像和音乐,因为手机服务供应商享有非常大的金融利润通过控制这些类型的下载。 

幸运的是,移动电话,如采用“Android”软件平台,将永远终止的能力,企业创建和利用封闭的市场,例如使用手机。  虽然消费者愿意购买移动电话服务计划,其中包括非常高的费用,下载软件,图像和音乐,这是因为数量有限,手机服务可供选择。 

经济动态,使某些公司将增长到占主导地位的市场不应该被解释为隐强有力的批准消费者。  随着企业开始主宰,然后使它很难或不可能的竞争者进入市场,占主导地位的公司可以提供产品,结合了多项高的积极价值(例如,沟通能力从任何地方)高负值(例如,高价格为理想的软件,图像和音乐, 所有这些都将成为免费提供的 ,因此,增加服务的负面价值) 。  没有强迫消费者购买移动电话,但毫无疑问的是,占主导地位的移动电话服务供应商已逐渐创造了条件,不能被视为“一个”自由市场。  因此,手机服务市场已经“经济”效率低下,并已负担转嫁到消费者。 

我们希望,要求手机服务无线电频率可竞争性服务将恢复正常市场价值的数据转让,这种移动电话服务供应商再次降低到仅仅是运营商的数据(即只提供带宽) ,而不是信息或娱乐供应商! 

商业运输数据必须分开出售的数据,否则将有奖励的数据运输业务,以阻止竞争对手的销售数据通过同样的数据运输渠道。 

视频游戏机市场遭受了同样的问题。  制造商的视频游戏机硬件业务的创建设备,可以显示视频游戏,但这些公司同时还拥有专属的控制转移到这些软件的视频游戏机。  因此,激励游戏机制造商能够阻止竞争对手销售软件的视频游戏机。  如果游戏机硬件制造商集中在设计和制造的硬件,可以出售获利(而不是在一个重大的损失,与X-Box和PlayStation和Nintendo视频游戏机) ,然后在视频游戏市场将继续繁荣,并质量最好的视频游戏将显着提高,成本的视频游戏将会崩溃。 

2. 主题索引

(1)
J2ME开发工具
(2)
简易程序J2ME
(3)
复杂J2ME计划
(4)
Sun “无线工具包”
(5)
提供软件的一个因特网网址
(6)
下载软件从一个因特网网址
(7)
下载的错误信息和安装错误讯息
(8)
创造,提供,下载“铃声”
(9)
创建,提供和下载图片
(10)
AT&T手机设定(网络)
(11)
与其他手机资源
(12)
J2ME与BREW

3. J2ME开发工具

本节介绍如何下载的开发工具,可以用来编译J2ME源代码级的文件适用于移动设备。  请注意, Sun “J2ME Wireless Toolkit” ,讨论了在以后的一节的规定,需要下载Java SDK本节中介绍。 

3.1 JDK 1.4 (或更新)

这意味着您需要的常规Java 2 SDK从Sun 。  我下载并使用版本1.4通过以下链接:
http://java.sun.com/j2se/1.4/download.html
以下是下载网页看起来是这样的:
java2sdk_download_page.jpg
启动安装程序。  安装到默认位置( c:\j2sdk1.4.0_03 )除非你是能够解决的道路可能出现的问题。 

3.2 Connected Limited Device Configuration (CLDC)

我不会假装知道这是什么,但我只是下载了它从Sun网站。
http://wwws.sun.com/software/communitysource/j2me/cldc/download.html
以下是主要的CLDC下载网页看起来是这样的:
cldc_download_page.jpg
只有1.0.3可在当时,我访问。
为了下载这个,我需要注册Sun网站。  我创建下列资料:
Username:        anon***anon
Password:        nospamplease
Favorite color:  blue
Full name:       Prof. Anon Nospamplease
我下载以下文件:
j2me_cldc-1_0_3-fcs-src-b17-winunix-14_sep_2001.zip
余解压缩到以下目录:
C:\j2me
本人改名为“cldc-1_0_3-fcs”目录简单:
cldc (即完整的路径是c:\j2me\cldc )

3.3 Mobile Information Device Profile (MIDP)

我不会假装知道这是什么,或者,但我只是下载了它从Sun网站。
http://java.sun.com/products/midp/
以下是主要的MIDP下载网页看起来是这样的:
midp_download_page.jpg
我下载以下文件:
j2me_midp-1_0_3-fcs-src-b26-win-19_sep_2001.zip
余解压缩到以下目录:
C:\j2me
本人改名为“midp-1_0_3-fcs”目录简单:
midp (即完整的路径是c:\j2me\midp )

3.4 配置工具

3.4.1 建立路径

将下列语句添加到您的AUTOEXEC.BAT文件:
REM ---- Java Support ----
SET MIDP_HOME=C:\j2me\midp
SET PATH=%PATH%;c:\j2sdk1.4.0_03\BIN;
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\j2sdk1.4.0_03\BIN;C:\j2me\midp\bin;%PATH%
然后,这些变数部队将重新运行批处理文件:
cmd_prompt_autoexec_bat.jpg
c:\>  autoexec.bat
您也可以建立这些相同的变数使用Windows环境变量控制面板。

请注意,我选择指定明确的目录路径,以我目前的版本的Java 2 SDK 。  因此,如果我升级,那么,我必须修改AUTOEXEC.BAT文件来指定新的目录。 

3.4.2 检查Jave 2 SDK双星

一旦上述设置生效,您应该能够运行的程序Java工具从命令提示符没有具体的完整路径工具程序。 

下面的命令将启动移动电话设备模拟器: 
cmd_prompt_midp.jpg
c:\>  midp
以下图片显示的移动电话设备模拟器: 
java_midp_launch.jpg

4. 简易程序J2ME

4.1 收件Java代码

使用任何文本编辑器,一个人可以通过输入代码,如本HelloMIDlet.java源代码文件:
file_image_hellomidlet_java.jpg
以下是代码以纯文本格式:
// File: HelloMIDlet.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class  HelloMIDlet
extends       MIDlet
implements    CommandListener
{
    private Command exitCommand;
    private Display display;
    private TextBox t = null;

    public HelloMIDlet()
    {
        display = Display.getDisplay( this );
        exitCommand = new Command( "Exit", Command.EXIT, 2 );
        t = new TextBox
        (
            "Hello MIDlet",
            "Test string",
            256, 0
        );
        t.addCommand( exitCommand );
        t.setCommandListener( this );
    }

    public void startApp()
    {
        display.setCurrent( t );
    }

    public void pauseApp()
    {
    }

    public void destroyApp( boolean unconditional )
    {
    }

    public void commandAction( Command c, Displayable s )
    {
        if (c == exitCommand)
        {
            destroyApp( false );
            notifyDestroyed();
        }
    }
}

4.2 编译*.java代码*.class

cd  c:\HelloMIDlet
注意:下面的命令必须在一条直线上,而是已扩大到数行文字,只为清晰。
(当前目录: C:\HelloMIDlet )
javac
    -target 1.1
    -d .\
    -bootclasspath c:\j2me\midp\classes
    HelloMIDlet.java
cmd_prompt_javac.jpg
注: “-target 1.1”是必要的,以避免错误在今后“preverify”阶段。  显然,这跟一个问题MIDP 1.0.3支持JDK 1.4 。 

4.3 Preverify产生新的*.class档案

cmd_prompt_preverify.jpg
(当前目录: C:\HelloMIDlet )
preverify  -classpath  c:\j2me\midp\classes;.  HelloMIDlet
这生成一个新的*.class文件中一个新的要求“output”子目录(默认情况下) 。

4.4 试验新的*.class档案

cmd_prompt_midp_midlet.jpg
(当前目录: C:\HelloMIDlet )
midp  -classpath  c:\j2me\midp\classes;.\output  HelloMIDlet
这将启动手机模拟器,这表明新“output”目录包含了一些必要的*.class文件。
以下图片显示预期的效果。
java_midp_hellomidlet.jpg

4.5 创建一个新的文本文件, “manifest.mf”和编辑文件

阿“manifest.mf”文件是必不可少的收到了实际的蜂窝电话来解释的内容*.jar文件。  如果一个适当的“manifest.mf”文件不包括在*.jar文件,然后手机可能会成功地下载*.jar文件,但可能会失败来解释下载的文件,可能是一个错误的报告,如“Unsupported Content Type” 。 
以下是一个例子,一个简单的“manifest.mf”文件。
file_image_manifest_mf.jpg
这是“manifest.mf”文件为纯文本: 
MIDlet-1: My_Description,, HelloMIDlet
MIDlet-Name: My_Midlet_Suite
MIDlet-Vendor: Colin Fahey, Inc.
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
请注意, CLDC和MIDP版本中指定该文件。  是非常谨慎和保守时,编辑各个领域中的该文件。  如果你“File Corrupt”错误,然后尝试取消所有领域,将不会显示在这个例子。  此外,把领域的秩序,在这种秩序中出现的例子。  此外,缩短各个领域的价值多达你可以,并保持字符仅限于简单的字母,数字,时间,和破折号。  一些移动电话服务,以及手机,都不会容忍更多的变化,外地订货和领域的内容。 
注意: 

当“jar”程序用来创建一个*.jar档案,档案的“manifest.mf”指定为manifest文件,该计划内容“jar” manifest文件,并可能增加更多的领域,因为它创建一个文件名为“MANIFEST.MF”内输出*.jar文件。  因此,如果“MANIFEST.MF”文件提取*.jar文件,然后比较原始“manifest.mf”指定的档案在建立*.jar ,这两个文件可能有所不同,与“MANIFEST.MF”文件,其中包含了更加广泛的领域内比原来的“manifest.mf”档案。 

不要提取“MANIFEST.MF”文件从*.jar文件,并试图形成一个新的*.jar使用该文件manifest文件。  如果您提取“MANIFEST.MF”文件从*.jar文件,然后可以肯定,以消除所有领域除外范例中所示“manifest.mf”文件所示。 
请注意:

图标的程序显然不会出现在Motorola T720电话。  这就是为什么我没有描述我的midlet的一个图标。  不过,以下显示了如何设置一个图标的计划内的manifest文件: 

MIDlet-1: My_Description, /icon.png, HelloMIDlet 

当发展中国家的手机是这样显示图标的应用程序,指定该图标的文件名,并添加图标的图像文件本身的*.jar指定档案的档案名称之间的文件名的文件被添加到*.jar文件。 

4.6 把“manifest.mf”档案和档案*.class一个*.jar档案

下面的命令创建一个*.jar文件。  该*.jar文件将包含指定manifest.mf档案,将包含*.class档案中找到指定的目录。
cmd_prompt_jar.jpg
当前目录: C:\HelloMIDlet
jar  cfm  hi.jar  manifest.mf  -C .\output  HelloMIDlet.class
复杂的假设的例子建立一个*.jar档案
假设一个图标的图像文件(例如, “icon.png” )是出现在*.jar档案“/icon.png” 。  (注:程序的图标没有出现在Motorola T720手机,但不要出现在其他的手机类型,并显示在MIDP模拟器。 ) 

假设有一个目录名为“images”与图片文件( *.png格式) 。  假设这个目录中,所有的图片目录中,应该利用计划的Java的相对目录/images (例如,一个形象“a.png”将可利用的道路“/images/a.png” ) 。 

假设所有的档案*.class所产生的preverify命令中包含一个目录命名“verified” 。  例如,验证版本的主要阶级, “MyApp.class” ,将在“verified”文件夹,连同其他类别的程序。  所有这些课程是可在根目录*.jar文件。 

下面的命令将创建一个*.jar档案,实现了各项目标指明的前几段。  注意:该命令已扩大到数行文字,在这里只为清晰。  当进入命令在命令提示符,命令不得包含换行符,否则将命令解释解释输入文字作为多个独立的命令。 

jar
    cfmv             [Create JAR, Specify JAR Name, Add manifest.mf, Verbose]
    MyApp.jar        [Name of output JAR file]
    manifest.mf      [The manifest.mf file]
    icon.png         [Optional icon, specified by JAD as "/icon.png"]
    images           [Directory to add to JAR as "/images"]
    -C .\verified .
最后一部分的命令是很难理解。  它具有以下含义:  “改变当前工作目录.\verified ,然后把所有*.class档案中发现的相对目录'.' (即所有*.class文件的当前工作目录)中的*.jar文件。”  由于目录已经改变之前,具体的路径班将在*.jar文件,当地的道路将不会出现在相对路径的文件时,放置在向*.jar文件。 

例如,假设的验证班是在下列目录: 

C:\MyApp\verified 

假设有一流的文件,如如下: 

C:\MyApp\verified\w.class 

具体“-C .\verified .”然后在命令创建*.jar文件,从当前目录“C:\MyApp” ,将导致“w.class”正在建立的根目录*.jar文件。 “ /电子”

警告:当“-C”选项是指定的,它改变了当前的工作目录在这一点处理的整体序列的命令参数jar命令。  因此, jar命令可能会抱怨说,它无法找到其他文件中提到的命令参数超出“-C”选择。  如果发生这种情况,只需将要“-C .\verified .”最后参数的全面指挥。 

以下显示详细输出的jar命令。 
added manifest
adding: icon.png(in = 449) (out= 454)(deflated -1%)
adding: images/(in = 0) (out= 0)(stored 0%)
adding: images/a.png(in = 2463) (out= 2223)(deflated 9%)
adding: images/b.png(in = 1322) (out= 579)(deflated 56%)
adding: images/c.png(in = 3433) (out= 2874)(deflated 16%)
adding: images/d.png(in = 1524) (out= 801)(deflated 47%)
adding: w.class(in = 2570) (out= 1356)(deflated 47%)
adding: MyApplication.class(in = 4714) (out= 2169)(deflated 53%)
adding: x.class(in = 3239) (out= 1429)(deflated 55%)
adding: y.class(in = 14205) (out= 6481)(deflated 54%)
adding: z.class(in = 9448) (out= 5135)(deflated 45%)

4.7 创建并编辑一个新的*.jad档案

阿*.jad文件是必要的,使手机能够描述计算机程序的人面前的人决定将下载该程序。  该*.jad文件还提供了一些间接从*.jar本身。 
file_image_hi_jad.jpg
例如*.jad文件,描述文件*.jar
这里是例子hi.jad文件以纯文本格式:
MIDlet-1: My_Description,, HelloMIDlet
MIDlet-Jar-Size: 1283
MIDlet-Jar-URL: http://www.colinfahey.com/hi.jar
MIDlet-Name: My_Midlet_Suite
MIDlet-Vendor: Colin Fahey, Inc.
MIDlet-Version: 1.0
有程式可以产生*.jad文件,这使得它更容易更新“MIDlet-Jar-Size:”外地每次*.jar档案变更(和其大小变化) 。  如果你搜索互联网你会发现有用的J2ME程序。 

如果外地的大小不指定确切的字节总数的*.jar文件,然后下面的错误后,可能会出现一个成功的下载到手机: “Download Failed” (下载失败) 。 

对于Motorola T720手机,下面的错误信息可能被用来inidcate无效的领域中*.jad文件,或可能无效的领域中产生的MANIFEST.MF档案内的*.jar档案: “Failed: File Corrupt” (失败:文件损坏) 。 
注意:如果*.jar文件在同一目录中的相应文件*.jad互联网上的Web服务器,然后*.jad文件可以简单地显示的文件名*.jar文件,没有具体的完整URL ,如下面的例子: 

MIDlet-Jar-URL: hi.jar 

当下载这些文件从Apache互联网服务器的Motorola T720蜂窝电话,接受它不包括充分URL 。  然而,当这些文件下载从Yahoo!互联网服务器的Motorola T720手机,企图下载将会失败,除非有充分URL路径*.jar文件指定范围内*.jad文件,如下面的例子: 

MIDlet-Jar-URL: http://www.colinfahey.com/hi.jar 

我不知道的原因,这个问题,我知道,这个问题不会影响到其他手机(或移动电话服务供应商) 。  在指定的充分URL的*.jar档案内的*.jad文件显然是不方便的,因为移动的文件不同地点的服务器上需要改变的信息在所有*.jad文件。  然而,具体的充分URL可能使*.jad更可靠的某些手机和某些手机服务提供商。 

4.8 测试*.jar文件和*.jad文件执行程序

下面执行的类别中找到*.jar文件,描述的*.jad文件。 
cmd_prompt_midp_jar_jad.jpg
(当前目录: C:\HelloMIDlet )
midp  -classpath c:\j2me\midp\classes;.\hi.jar  -descriptor hi.jad

4.9 参考J2ME , MIDP , CLDC发展

大部分是我在这里可以找到许多其他互联网站点。  然而,我纠正一些错误上找到其他因特网网站,并补充说失踪的细节,并介绍了完整的经验,有人试图做到这一点的东西。  这里有非常丰富的连结,帮我开始使用: 
http://wireless.java.sun.com/midp/articles/getstart
http://wireless.java.sun.com/midp/articles/setup

5. 复杂J2ME计划

5.1 导言

简单的程序提出了在上一节本文件只有一个单一的源代码文件,该计划并不几乎没有,因此没有一个很好的例子,移动电话编程。 

我的朋友Sam Robertson写一个有趣的J2ME计划,教导一个人发挥卡片游戏“Blackjack” (也称为“21” ) 。  一名球员是提出一个“交易卡,”播放器的双卡,球员必须决定要怎么做: “留下来,击中,”双击“关闭,或者分裂。” 

这项计划有6个源代码文件。  该项目响应用户输入,并没有简单的图画和文字的更新。 
sbj_screen_on_phone.jpg

5.2 源代码

请点击以下链接获得的源代码,并*.jad档案, “manifest.mf”文件,一个批处理文件,所有在一个方便ZIP文件。
sbj.zip
源代码包含在ZIP档案
6090 bytes
MD5: bf3922035b7a4eef24e107d03b7524c9
解压缩到任意目录,但如果你解压缩到“c:\”下Windows ,下面的例子将讨论更接近您的实际情况。
sbj_directory_files.jpg
提取sbj.zip以“c:\”创建目录“c:\sbj”

5.3 manifest文件

档案: “manifest.mf” :
MIDlet-1: My_Description,, SBJ_MidletT
MIDlet-Name: SBJ_MidletT
MIDlet-Vendor: Sam Robertson
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0

5.4 该批处理文件,以建立程序

下面的批处理文件是粗糙,但它作为一个例子你可能会开始编写自己的批处理文件来建立您的J2ME计划。  这个例子并不批处理文件如下:
(1)删除目录含旧*.class档案; 
(2)删除目录含旧核实 *.class档案; 
(3)制作“班”输出目录; 
(4)编译所有源*.java在*.class文件,输出去“上课”目录。 
(5)请“核实”输出目录; 
(6) Preverify所有类别的“类别”目录,并提出核实课程“核实”目录。 
(7)创建一个*.jar文件,并添加mainfest文件,所有类别的“验证”目录; 
*(8)试验计划通过事先班直接; 
*(9)试验计划通过*.jar和*.jad档案; 

(*...这些步骤是残疾人(按评论)在我的批处理文件。 ) 
sbj_build_sbj_bat_file.jpg
批处理文件“build_sbj.bat”建设计划
这是相同的档案(“build_sbj.bat”)纯文本格式:
rmdir /S /Q classes
rmdir /S /Q verified
del /F /Q  *.jar

mkdir classes

javac  -g:none  -target 1.1  -d .\classes  -bootclasspath c:\j2me\midp\classes  *.java

mkdir verified

preverify  -classpath c:\j2me\midp\classes;.\classes  -d .\verified  .\classes

jar  cvfm sbj. jar manifest.mf  -C  .\verified  .

REM  midp  -classpath c:\j2me\midp\classes;.\verified  SBJ_MidletT
REM  midp  -classpath c:\j2me\midp\classes;.\sbj.jar  -descriptor sbj.jad
REM  Finished

5.5 大厦从命令提示符

这是由于运行“build_sbj.bat”批处理文件的命令行:
sbj_build_command_prompt.jpg
“build_sbj.bat”执行批处理文件
请注意,预警信息的“rmdir”和“del”行动只是表明没有任何东西可以删除。 

你可以看到新的目录(即“classes”和“verified” )和新的*.jar文件,导致运行的批处理文件:
sbj_new_files_after_build.jpg
源代码文件和新生成的文件

5.6 *.jad档案

要部署sbj.jar文件,我们需要创建和编辑文件的sbj.jad有正确的*.jar规模在适当的领域:
档案: sbj.jad
MIDlet-1: SBJ_MidletT, , SBJ_MidletT
MIDlet-Jar-Size: 7257
MIDlet-Jar-URL: sbj.jar
MIDlet-Name: Sam Blackjack Trainer
MIDlet-Vendor: Sam Robertson
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
一个人可能需要增加完整的URL的*.jar文件时*.jad档案放在一个因特网网址-但我发现(通过实验) ,我是能够避免提及充分X AZE(即,我只指定了*.jar档案名称本身) 。  然而,把在完成URL ,但我想让你知道我的观察。

5.7 综述

在多个源文件在您的项目是共同的,在本节中,我们发表了原油的例子建设多种类别,其次是包装和执行。 

请参阅下面一节关于使用Sun Wireless Toolkit ,这使得构建应用程序容易得多。 

6. Sun “Wireless Toolkit (version 1.0.4_01)”

6.1 导言

Sun提供了一个方便的开发环境,用于建设和包装J2ME程序: “Java 2 Platform Micro Edition (J2ME) Wireless Toolkit (version 1.0.4_01)” 。 

(注意:您需要下载Java 2 SDK 1.4中所描述早期部分使用此工具包。不要现在如果你不已经有这个版本的Java 2 SDK 。 ) 

转到下面的Internet网站下载该工具包: 

http://java.sun.com/products/j2mewtoolkit/ 
注意!
 

点击链接“2.0 Beta 1 English” (目前顶端的下载选项)如果你正在做Motorola T720发展-因为这个版本有一些X AZD东西,回避这可能是一个头痛。 
j2me_wireless_toolkit_2_0_download_page.jpg
不要下载这个版本! ( “2.0 Beta 1 English” )
我尝试这个版本,我终于汇编代码,有很多混乱的设置变化,但毕竟努力,我得到安全例外当我试图执行。  请勿打扰! 
下载“1.0.4_01 English”版本。  以下是下载网页看起来是这样的: 
j2me_wireless_toolkit_1_0_4_01_download_page.jpg
该Sun J2ME Wireless Toolkit (version 1.0.4_01)下载页面
j2me_wireless_toolkit_1_0_4_01_download_page2.jpg
Sun J2ME Wireless Toolkit (version 1.0.4_01) FTP的网站清单
这将下载以下文件: “j2me_wireless_toolkit-1_0_4_01-bin-win.exe” 
执行此程序安装在您的系统。

6.2 J2ME Wireless Toolkit :发射工具栏

之后,安装工具,您可以启动它从“Start” (开始)菜单系统:
j2me_wireless_toolkit_1_0_4_ktoolbar.jpg
从程序的工具栏
您还可以MIDP-1.0文件通过“Documentation”项目在此Start (开始)菜单。
j2me_wireless_toolkit_2_0_wtk20_docs_api_index_html.jpg
J2ME Wireless Toolkit (version 1.0.4_01)文件

6.3 J2ME Wireless Toolkit :创建项目和建设

j2me_wireless_toolkit_1_4_ktoolbar_window.jpg
该工具已准备就绪。  按一下“New Project...”创建一个新的项目。
j2me_wireless_toolkit_1_4_ktoolbar_new_project.jpg
New Project :输入项目名称(成为JAR的姓名和名称的新项目目录) ,并输入MIDlet类别名称(类来自MIDlet ,基本上主要的阶级对您的申请) 。 
j2me_wireless_toolkit_1_4_ktoolbar_project_created.jpg
工具栏:项目的创建。  请注意,控制台告诉你在哪里把你的*.java源文件,等等  (例如, “c:\WTK104\apps\sbj\src”等) 
j2me_wireless_toolkit_1_4_ktoolbar_project_settings.jpg
“Settings...”点击工具栏上获得这个项目的设置菜单。 
无视“MIDlet-Jar-Size”领域(价值“100”字节)现在。  我们将最终导致了正确的价值得到确定。 
j2me_wireless_toolkit_1_4_ktoolbar_project_midlet_settings.jpg
按一下MIDlets标签的项目设置对话框。
按一下只排在表( “MIDlet-1” )突出并选中它。  然后按一下“Edit”按钮。 
j2me_wireless_toolkit_1_4_ktoolbar_project_no_icon.jpg
清除“Icon”领域,如果您没有*.png文件将在您的*.jar文件。 
做到以下几点: 

(1) Project --> Clean :删除所有*.class档案;
(2) Build :打造*.class所有文件和preverifies ;
(3) Project --> Package --> Create Package :生产*.jar和*.jad
j2me_wireless_toolkit_1_4_ktoolbar_clean_build_create_package.jpg
结果建设*.jar和*.jad
当你做这三个步骤,由此产生的*.jar和*.jad立即执行准备在当地模拟器,或立即部署在您的因特网网站供他人下载“空中” (OTA) 。  *.jar规模的外地在*.jad文件将是正确的。  不要忘记这样一步(3)每一个时间您重建! 

现在您可以测试击中“Run” (运行)按钮。 
j2me_wireless_toolkit_1_4_ktoolbar_project_launch.jpg
j2me_wireless_toolkit_1_4_ktoolbar_project_running.jpg
碰“Run”的项目内容中的*.jad的模拟器。  您可以选择的具体MIDlet发射(通常只有一个) 。 
仅复制*.jar和*.jad档案,从指定地点(报告的工具栏的控制台窗口在建设项目) ,例如:
(从控制台窗口: )
Wrote c:\WTK104\apps\sbj\bin\sbj.jar
Wrote c:\WTK104\apps\sbj\bin\sbj.jad
把这些文件直接到您的因特网网站,无需修改,它应该工作。  以下是我看到我的手机后,下载此编译应用“空中” (OTA)
sbj_screen_on_phone.jpg
Sam Robertson's Blackjack Trainer (sbj.jar)执行我的手机

7. 提供软件的一个因特网网址

7.1 确保互联网的网络服务器指定MIME类型*.jar档案和档案*.jad

如果您有Apache互联网的网络服务器,您需要创建一个文件名为“.htaccess”在您的网站根目录。  该“.htaccess”档案,您可以凌驾于Apache配置,如添加或压倒一切的档案MIME类型。  您必须添加指定MIME类型*.jar相应的文件和档案*.jad所示,下面的文本文件: 
htaccess_image.jpg
我国自订“.htaccess”档案Apache互联网服务器。  请注意:我命名此文件“.htaccess.txt”只是为了使文件易于修改时使用Windows作业系统。  档案名称必须改变,以“.htaccess”的文件之前,可以使用的Apache互联网服务器。 
这是我的简单.htaccess文件为纯文本:
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar
AddType text/vnd.wap.wml wml
显然,建立或修改此文件的结果立即改变Apache服务器的行为。  我猜Apache服务器检查修改日期和时间“.htaccess”文件时,每个新上任的交易,和服务器重新加载该文件,如果修改的日期和时间发生了变化。 

如果您有不同类型的互联网服务器,您必须确定如何指定MIME类型,你必须确保*.jar档案和档案*.jad分配适当的MIME类型。 

你就会知道,如果MIME类型尚未成立,如果手机拒绝下载您*.jad文件和报告以下错误: 

“406: Not Acceptable” 

7.2 或者提供链接到*.jad内HTML文件或文件WML

该Motorola T720 J2ME手机与AT&T服务能够下载*.jad档案直接输入URL的*.jad文件中的蜂窝电话。  这有可能为其他工作J2ME手机与其他手机服务提供商。 

然而,它可能会更加方便人们下载文件的*.jad选择一个链接HTML内的文件或在WML文件。  (注: WML现在已经过时。大多数手机现在可以解释HTML 。 ) 
file_image_hi_html.jpg
一个简单的HTML文件,链接到一个*.jad档案
file_image_hi_wml.jpg
一个简单的WML (WAP)网页,链接到一个*.jad档案  (注: WML现在已经过时。大多数手机现在可以解释HTML 。 ) 

8. 下载软件从一个因特网网址

下面的图像显示确切的行动顺序我没有下载并执行MIDlet开发和部署中所描述的前几节以上。  这些图像照片的画面,我的手机。 
t720_screens_download_program.jpg
(1)主画面:当您打开手机,你会看到主画面。新闻中心按钮到主菜单。 
(2) Main Menu :移动的项目“WebAccess” 。 
(3) WebAccess :移动的项目“Go To URL” 。 
(4) Enter URL :输入URL的*.jad文件(或HTML文件,或WML文件) 。 
(5) Details ;这一信息是从剖析*.jad文件。新闻DOWNLD下载*.jar文件。 
(6) Download Complete ;等待这个讯息消失; 
(7) Installing ;等待这个讯息消失; 
(8) xxxx bytes transferred ;等待这个讯息消失; 
(9) Installed ;等待这个讯息消失; 


当WebAccess菜单再次出现,该计划后,已安装,只需退出每个菜单返回到主屏幕。 
t720_screens_start_program.jpg
(1)主画面:当您打开手机,你会看到主画面。选择“Games & Apps”通过选择主菜单,或按向下的光标的主要画面。 
(2) Java Powered :等待此画面消失。 
(3) Games & Apps :选择了这个项目的名称您的计划! 
(4) Yay !成功执行你的计划! 
该项目出现在手机非常相似的外观的模拟器。

9. 下载的错误信息和安装错误讯息

9.1 Motorola T720 (J2ME)错误讯息

下面的错误信息只有相关的Motorola T720 (GSM/J2ME)手机。 

9.1.1 “Download Failed”

原因# 1
任何文件(HTML, JAD, JAR, MID, GIF)超过1644字节将导致此错误的某些互联网主机和服务器。  这是一个简短的清单,主机和服务器: 
Host / Server                                               Error
===================================================    =================
Apache                                                       No
Microsoft Personal Web Server (direct from your PC)          No
Earthlink (Apache)                                           No
Yahoo! (custom server)                                       Yes
这个问题是由于这个安全漏洞在Motorola T720 GSM/J2ME固件,从而导致下载文件中的碎片要失败的。
唯一明显的解决办法是开关互联网主机或服务器类型。  其他类型的手机没有这个问题。 
原因# 2
该“MIDlet-Jar-Size:”场*.jad文件没有说明确切的总字节的相应*.jar文件。

9.1.2 “Failed: File Corrupt”

原因# 1
该*.jar文件使用API职能是不能提供具体的蜂窝电话。 

例如, MIDP 2.0职能是不是可以在Motorola T720 GSM/J2ME蜂窝电话(其中只有MIDP 1.0职能) 。  一个程序可以执行一个模拟器,但可能无法执行的移动电话。 

解决的办法是寻找MIDP 2.0职能的源代码,并取代它们MIDP 1.0职能,或消除的特点,需要MIDP 2.0职能。 
原因# 2
“manifest.mf”档案的利用创造*.jar文件(通过“jar”实用)载有错误。 

请确保“manifest.mf”文件有下列版本的CLDC和MIDP : 
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
整个“manifest.mf”文件看起来应该几乎完全一样如下: 
MIDlet-1: My_Description,, HelloMIDlet
MIDlet-Name: My_Midlet_Suite
MIDlet-Vendor: Colin Fahey, Inc.
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
每一行文字, “manifest.mf”文件,其中包括最后一行的档案,应该结束了“carraige返回” (CR; 13; 0x0d)性质之后, “换行符” (LF; 10; 0x0a)性质。 

唯一领域的“manifest.mf”档案在你自己的版本的文件,应该不同于例如在这里显示的前三个领域中列出的例子。  最后三个领域应该是一个完全匹配的例子,最后两个字符的文件应该是“回车”和“换行”后的最后领域。 

以下是可能出现的问题在您的版本的“manifest.mf”文件: 
(1)您“manifest.mf”文件中包含的字符未ASCII字符; (看一张图表的ASCII字符;任何字符以外的0到127范围无效) ; 
(2)您“manifest.mf”文件不会有“换行符” (LF)每个字符后“回车” (CR)性质年底的每一行; 
(3)您“manifest.mf”文件已看不见空格或制表符结束时,每一行 (CR)(LF)行终止; 
(4)您“manifest.mf”文件包含一个“Manifest-Version:”线; 
(5)最后一行的“manifest.mf”文件不结束, (CR)(LF)行终止,而是简单地到达文件的末尾; 
(6)您“manifest.mf”文件并没有确切的领域和具体的字段顺序显示在上面的例子; 
(7)您CLDC版本并不完全相同1.0 ,或您MIDP版本并不完全相同1.0 ; 
(8)您的供应商名称字符不属于ASCII字符(例如,没有Unicode字符允许) ; 
(9)您“manifest.mf”文件不会有一个空间后,第二次在逗号“MIDlet-1:”线; 
也许有些案件上面列出实际上并不造成问题的许多手机,但消除所有的案件上面列出可能使下载成功。  下载后是成功的,你可以尝试不同的“manifest.mf”档案发现什么其他的事情你可以没有造成下载的错误。  当“manifest.mf”文件被修改,重要的是要确认下载的程序继续努力为所有目标蜂窝电话和移动电话服务供应商。  有些手机和服务的不够灵活一些。 

当“manifest.mf”文件添加到档案*.jar通过jar计划, jar程序创建一个新版本的manifest文件内*.jar文件。  生成的版本的manifest文件内*.jar文件名为“MANIFEST.MF” 。  该jar程序可能会增加对这一领域的文件中不存在“manifest.mf”文件所提供的程序员。  不要提取“MANIFEST.MF”文件从*.jar文件,除非你准备,以消除某些领域,使剩余的领域完全一样的例子“manifest.mf”文件所示。 

9.1.3 “Unsupported Content Type”

原因# 1
手机不能接受MIME类型报告的远程服务器上的特定文件。 

例如, JPG图像文件不支持Motorola T720 ,将导致此错误。

这个错误也可能发生,如果MIME类型支持的文件类型(例如, GIF , MID , JAD , JAR )不报告正确的服务器。  一个人必须非常小心,以报告的确切MIME类型支持的文件类型。 
原因# 2
文件缓存的移动电话本身需要被清除(例如, Browser Settings -> Clear Cache ) 。 

如果最近添加了MIME类型到一台远程服务器,然后尝试下载一个文件,以前没有安装由于不正确或遗失MIME类型,然后文件缓存的手机可能是一个障碍,下载的文件再次适当MIME类型。 

也有可能是远程文件的修改和缓存版本有缺陷,并防止修复档案版本从下载替换。 

清除浏览器缓存的移动电话应确保以后的好处下载最新的服务器配置(例如,设置新的MIME )和远程文件的更新。 
原因# 3
[从Motorola文件: http://developers.motorola.com/developers//wireless/global/emea/other/UCT.html ]
如何避免“Unsupported Content type”错误WAP 

如果你得到一个错误WAP说Unsupported Content type ,但不一定由于内容类型设置。  许多WAP页包含特殊字符,如瑞典(å ö ä) ,为了让他们正确显示您需要指定字符集使用。  为了指定的字符集是用于WAP网页上,您修改Content-Type标题服务器响应,包括字符集,例如“Content-Type: text/vnd.wap.wml; iso-8859-1” 。  当用户得到的答复是从服务器,它应该具有的一切所需的资料显示正确的内容。 

然而,有一个问题,使用这一方法。  所有手机显示的网关的字符集支持使用“Accept-Charset”的请求标头。  据HTML规格,这应该是比较字符集中指定一台服务器的反应,如果他们不匹配,错误Unsupported Content type应产生。 

为了使问题更加复杂,一些WAP网关不在乎比较字符集支持的设备要求,因此,内容将无法正确显示这些设备。  另一个复杂的是,指定的字符串的字符集是区分大小写,但一些WAP网关对待他们大小写字符串。 

总之,将有非常不同的结果取决于您使用的装置,其中WAP您使用网关和服务器响应。 

唯一的办法,以确保您的内容将正确显示是要始终检查字符集是接受了客户端和变换您针对这一字符集发送之前。 

9.1.4 “406: Not Acceptable” (“The server cannot generate a response that your client can accept.”)

原因# 1
你有一个Verizon的手机! 

Verizon公司不允许其客户(GIF)下载图片,铃声(MIDI)或程序,从任意互联网服务器。  一个必须使用其“Get It Now”服务,或使用USB电缆和“Get Around 'Get It Now' (GAGIN)”软件。 

解决方案:只需等待竞争的“自由市场” ,以消除“封闭性平台” 。  整个技术可能会过时的时候,这一成功,但是这是会发生什么时,公司的指导仅贪婪。 
原因# 2
该错误信息表明, MIME类型相关的文件扩展名(例如, .gif , .mid , .jar )的文件正在下载尚未指定的互联网服务器。

如果您有Apache互联网服务器,例如,那么你必须修改“.htaccess”文件,加入以下行:
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar
AddType text/vnd.wap.wml wml
AddType audio/midi mid

9.1.5 “413: Requested Entity Too Large”

原因# 1
服务器托管的档案正在下载没有具体说明MIME类型文件(例如, GIF , MID , JAR ) 。  因此,手机假定该文件是纯文本。  此外,手机可能有一个限制的大小(以字节为单位)的文本文件,这是小于限制大小(以字节)的二进制文件(例如, GIF , MID , JAR ) 。  因此,二进制文件解释为一个文本文件可能超过所允许的最大规模的一个文本文件,从而导致错误。 

如果您有Apache互联网服务器,例如,那么你必须改变一个“.htaccess”文件,加入以下行:
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar
AddType text/vnd.wap.wml wml
AddType audio/midi mid
原因# 2
显然这个错误也可能发生,即使远程服务器已得到适当的MIME类型确定。  我还没有确定发生此错误时,而不是“Download Failed”这种情况。 

显然, Motorola T720 GSM/J2ME手机无法处理的一个方面HTTP 1.1规范允许文件被打破的碎片中,需要多个“GET”要求。 

当使用Motorola T720 GSM/J2ME手机下载文件的某些互联网服务器类型,任何文件(例如, HTML , JAD , JAR , MID , GIF )大于1644字节将导致此错误。  这是一个简短的清单,互联网托管服务提供商和是否互联网托管服务提供商造成的一个问题Motorola T720 GSM/J2ME手机:
Host / Server                                               Error
===================================================    =================
Apache                                                       No
Microsoft Personal Web Server (direct from your PC)          No
Earthlink (Apache)                                           No
Yahoo! (custom server type)                                  Yes
这个问题是由于固件的Motorola T720 GSM/J2ME手机,从而影响其能力的下载文件中的碎片。 

唯一明显的解决办法,当下载的Motorola T720 GSM/J2ME手机,是为了避免某些Internet网页主机服务器类型。  大多数其他类型的手机没有这个问题,所以这个问题现在可能是安全不容忽视。 

9.1.6 “Connection unsuccessful.  Try again later.”

原因# 1
这个错误没有任何与互联网服务器,托管所要求的文件。 

如果您收到此错误,我建议你做以下几点: 
(1)清除浏览器缓存; 
(2)清除浏览器的历史; 
(3)关闭手机; 
(4)取出电池; 
(5)等待了几秒钟; 
(6)把电池回电话; 
(7)电力了电话; 
(8)尝试再次下载; 
我收到了“Connection unsuccessful.  Try again later.错误讯息了几天后,我第一次购买手机。  然后,通过随机机会,我删除了电池。  当我把电池早在蜂窝电话,我立即已上网。 

我收到这个错误好几次在随后6个月,上述程序已恢复使用互联网每一次。  我没有确定哪些步骤的程序可能是最重要的,但我相信,只要消除电池和把电池备份到移动电话可能就足够了。 

在我看来,这个错误讯息的说法太含糊。  为什么试图连接不成功?  是移动电话服务网络太忙了?  是手机服务的“网关”服务器不能正常运行?  我的手机不能接收或发送足够的无线电信号强度?  将是一个很好的时间去尝试再次下载?  10秒呢?  一个小时从现在开始?  一个星期从现在开始?  该错误消息将提供更多的帮助,如果有更具体的问题的原因,如果有更具体的一种可能的解决办法。 
原因# 2
如果你做了“Master Reset” ,或者如果您从未能够接入互联网,然后检查网络设置的移动电话。  对于一个例子,网络设置(为Motorola T720 GSM/J2ME手机,为AT&T服务Los Angeles, California区) ,见一节指定的以下链接: 
AT&T手机设定(网络)

10. 创造,提供,下载“铃声”

10.1 建立或收购MIDI档案(*.mid)

您可以创建或取得MIDI声音文件(*.mid)从任何来源。  我发现的主题音乐,电视节目“Knight Rider” (1982-1986)在MIDI格式(例如, “knightrider.mid” )由一个简单的搜索互联网。 

以下图片让您的一些想法如何MIDI文件出现在MIDI编辑器。  它不是必须有一个MIDI编辑器来获得音乐到手机上。  你可以在现有MIDI档案(*.mid)从任何来源。  然而,您也可以使用MIDI编辑您的选择建立自己原来的和弦音乐。 
home_studio_midi_knight_rider.jpg
Cakewalk Home Studio :发挥“knightrider.mid”

10.2 确保您的Internet Web服务器知道MIDI MIME类型

如果您有Apache互联网服务器,例如,那么你必须改变一个“.htaccess”文件,加入以下行: 
AddType audio/midi mid
该“.htaccess”文件将指定或凌驾于MIME类型所指出的文件服务器不同类型(通常所指出的文件扩展名,如.MID , .GIF , .JAR ) 。 

如果你已经添加了其他MIME类型的其他文件类型,您完全“.htaccess”文件可能类似于以下内容:
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar
AddType text/vnd.wap.wml wml
AddType audio/midi mid
显然,建立或修改此文件的结果立即改变Apache服务器的行为。  我猜Apache服务器检查修改日期和时间“.htaccess”文件时,每个新上任的交易,和服务器重新加载该文件,如果修改的日期和时间发生了变化。 

如果您有不同类型的互联网服务器,您必须确定如何指定MIME类型,你必须确保*.jar档案和档案*.jad分配适当的MIME类型。 

你就会知道,如果MIME类型尚未成立,如果手机拒绝下载您*.jad文件和报告以下错误: 

“406: Not Acceptable” 

10.3 把MIDI档案(*.mid)到您的Internet网络服务器

余MIDI复制了一份文件,名为“kr.mid”的根目录我的Internet网络服务器。  您可以使用软件,如“Filezilla”使FTP转让简便。 

10.4 下载MIDI档案到您的手机通过您的电话服务的互联网服务

对于Motorola T720 GSM/J2ME手机,下载一个MIDI档案始于“WebAccess”菜单。  选择“Go To URL” ,其次是输入URL的MIDI档案,启动下载。  例如,我输入以下URL :
http://www.colinfahey.com/kr.mid
如果下载成功,如果您使用的是Motorola T720 cellular phone ,您将可以选择存储的文件在您的手机。  当您决定来存储文件,您可以选择简单地存放在您所设定的铃声或不是设定的文件是目前铃声(也作为一个副作用,储存在您的手机铃声) 。 
以下图片总结的过程中下载和播放MIDI档案Motorola T720 GSM/J2ME手机。  其他J2ME使手机与其他手机服务提供商,有可能也有类似的下载程序。  如果您的手机服务提供商Verizon ,然后你的运气;所有这一切的工作,你应该去购买“Android”电话,帮助毁灭“关闭手机市场” ! 
t720_screen_midi_download.jpg
(1)主画面:按相应的按钮,以显示主菜单。 
(2) Main Menu :转到“WebAccess”项目。 
(3) WebAccess :转到“Go to URL”项目。 
(4) Enter URL :输入URL的MIDI档案(*.mid)互联网上的网址。 
(5) Connecting :等待下载开始。 (如果您收到“406: Not Acceptable”错误信息,然后在互联网的Web服务器没有指派适当MIME类型MIDI档案(*.mid) ) 。 ) 
(6) Downloading :等待下载完成。 
(7) Download Complete :等待此画面消失。 
(8) MIDI Playback :文件的MIDI立即开始播放。按菜单按钮到Tone Menu ,并继续加强(9) ,或按“STORE”按钮,并转到步骤(12) 。 
(9) Tone Menu :您可以选择玩... 
(10) Tone Menu :您可以选择获得的细节。 
(11) Details :在这里,我们看到的大小以字节为单位。 
(12) Store Options :从一步(8)我们可以击中“STORE”按钮进入此菜单。  您可以选择存储到手机上收集的歌曲。  命中“SELECT”存储。 
(13) Stored : MIDI调整的已储存。 
(14) Total Bytes Transferred :这只是一个通知的字节数下载,这样你不感到意外您即将到来的移动电话服务的法案! 

10.5 MIDI发挥档案在任何时间的移动电话

您可以播放存储MIDI文件在任何时间对您的手机,你可以使用任何MIDI文件作为您的环健全。
t720_screen_midi_playback.jpg
(1)主画面:按相应的按钮进入主菜单。 
(2) Main Menu :转到“Media Center” 。 
(3) Media Center :转到“My Tones” 。 
(4) My Tones :突出语气立即开始播放。  您可以变更名称的“EDIT”选择。  碰的菜单按钮,您就可以其他的选择。 

10.6 设置环风格使用MIDI档案

通过以下菜单屏幕上:

(1)主屏幕 
(2) Main Menu 
(3) Ring Styles :新闻“SELECT” 
(4) [Silent, Soft, Loud] Detail :新闻“CHANGE” 
(5) Calls: [current ring style/tune] :新闻“CHANGE” 


虽然名单滚动环样式(沉默,振动的风格,永久环曲调等) ,并在底部你会看到您下载的音乐。  只需按下按钮“SELECT”作出新的积极调整环! 

11. 创建,提供和下载图片

11.1 创建一个120 * 160 GIF图像文件(*.gif)

下面的步骤可以用来建立一个120 * 160 GIF图像文件(*.gif)适合陈列的Motorola T720 GSM/J2ME蜂窝电话,不管是作为背景图片的主画面,或作为一个形象的图片库。 
(1)打开任何图像文件与Microsoft Paint或Adobe Photoshop或任何其他合适的图像编辑软件; 
(2)规模或图片剪裁至120像素宽, 160像素高(即120 * 160像素的图像) ; 
(3)将档案储存在一个GIF图像格式(*.gif) ; (在Adobe Photoshop的方法是: File -> Export -> Gif89a ) 
图片文件必须在GIF图像文件格式,使Motorola T720手机能够解码和显示图像。  如果图像尺寸120 * 160到底,然后将图像配合得非常完美,在屏幕上的Motorola T720手机,否则图像将有空白边界双方。 
注:我成功下载和展示了*.gif图像文件是118 * 120像素,这是小于屏幕尺寸的120 * 160 。  我认为剩下的部分画面充满了一种颜色挑选出来的边界形象。  也许像素颜色的像素,左上方的形象被用作颜色的边界周围的空白,双方的形象。 
该Motorola T720手机可以显示4096色,我认为这是编码为12-bit RGB (4-4-4) 。  因此,我认为图像的色彩梯度小,跨越大面积应当避免,因为这些边界的梯度将是非常明显和注意力的人看的形象。  此外, GIF格式本身就是只限于256个不同的颜色,所以一个人必须意识到这一点限制了。  在任何情况下,它始终是最好只是看看图片上的手机知道,不管形象是适合手机。 
si.gif
Space Invaders (空间入侵者) :一个120 * 160 GIF形象

11.2 把GIF图像文件(*.gif)到您的Internet网络服务器

余GIF复制了一份文件,名为“si.mid”的根目录我的Internet网络服务器。  您可以使用软件,如“Filezilla”使FTP转让简便。 

11.3 下载GIF档案到您的手机通过您的电话服务的互联网服务

对于Motorola T720 GSM/J2ME手机,下载一个图像文件GIF始于“WebAccess”菜单。  选择“Go To URL” ,其次是输入URL的GIF档案,启动下载。  例如,我输入以下URL :
http://www.colinfahey.com/si.gif
如果下载成功,如果您使用的是Motorola T720 cellular phone ,您将可以选择存储的文件在您的手机。  当您决定来存储文件,您可以选择简单地存放在您所设定的图片或不是设定的文件是目前背景下(即“,”墙纸) 。 
以下图片总结的过程中下载图像文件GIF的Motorola T720 GSM/J2ME手机。  其他J2ME使手机与其他手机服务提供商,有可能也有类似的下载程序。  如果您的手机服务提供商Verizon ,然后你的运气;所有这一切的工作,你应该去购买“Android”电话,帮助毁灭“关闭手机市场” ! 
t720_screen_image_download.jpg
(1) WebAccess :转到“Go to URL”项目。 
(2) Enter URL :输入URL的GIF图像文件(*.gif)互联网上的网址。 
(3) Connecting :等待下载开始。 (如果您收到“406: Not Acceptable”错误信息,然后在互联网的Web服务器没有指派适当MIME类型GIF图像文件(*.gif) ) 。 ) 
(4)下载预览图像,并选择“STORE” (店)的形象在记忆的移动电话; 
(5) Store Options :形象的GIF可以简单地被储存,或者它可以用来取代目前的“墙纸” (背景的主屏幕) ,或者它可以作为一个“屏幕保护程序” (即其中一个图像时会出现手机按钮没有按下某一特定的时间) 。 
(6) Changed: Wallpaper [image name] :这只是一个通知, “墙纸”的形象改变了。 
(7)的出现,主屏幕的手机后, “墙纸” (即背景)图像已更改。  “太空入侵者”已经征服了我的手机! 

11.4 GIF动画形象用作“屏幕保护程序”的移动电话

要下载的动画形象GIF用作“屏幕保护程序”上的图像移动电话,只需按照指示在上一节本文件的编写和下载图像。 
如果GIF形象是一个生动活泼的GIF ,然后“屏幕”保护程序会显示这个动画。 
只需设置图像的“屏幕保护程序”后,图像的形象已被下载。 
下面的动画形象GIF可以作为“屏幕保护程序”的动画形象的Motorola T720 GSM/J2ME手机。 
sun.gif
GIF的动画形象可以作为一个生动活泼的“屏幕保护程序”图片Motorola T720 GSM/J2ME手机。
可悲的是, Motorola T720手机没有动画“墙纸”的形象。  这将是非常可怕的,打开手机看到一个生动活泼的背景主屏幕!  :^( 

您将只能看到一个动画GIF出现在Motorola T720蜂窝电话时,电话进入“屏幕保护程序”模式,这可能需要30秒或更长的时间才能启动。  (您可以设定这种拖延的一个菜单。 )  屏幕照明有可能关闭前的屏幕保护程序出现。  “屏幕”保护程序没有出现在积极的电话。  因此,考虑到所有这些事实, “屏幕保护程序”的特点Motorola T720手机是相当蹩脚。 

12. Motorola T720 GSM/J2ME手机设置AT&T移动电话网络

12.1 导言

本节本文件是不太可能是有用的人,因为这节描述设置一个非常具体的蜂窝电话( Motorola T720 GSM/J2ME )的一个非常具体的移动电话服务供应商( AT&T )的一个非常具体的地区(南加州) 。  然而,我将这一信息列入对历史的兴趣。 

12.2 Web Sessions设置

Main Screen
  Main Menu
    More... (Not necessary if list view instead of icon view)
      Web Sessions
        mMode (NOTE: Do [New Entry] if no nMode entry)
          (*** Hit menu key, not LAUNCH! ***)
            Edit
              Name:           mMode
              Homepage:       http://home
              WAP IP 1:       10.250.250.250
              WAP Port 1:     9203
              WAP IP 2:       10.250.250.250
              WAP Port 2:     9203
              Timeout:        2 minutes
              CSD No. 1:      ____________ (blank)
              User Name 1:    ____________ (blank)
              Password 1:     ____________ (blank)
              Speed (Bps) 1:  9600
              Line Type 1:    ISDN
              CSD No. 2:      ____________ (blank)
              User Name 2:    ____________ (blank)
              Password 2:     ____________ (blank)
              Speed (Bps) 2:  9600
              Line Type 2:    Modem
              GPRS APN:       proxy
              User Name:      ____________ (blank)
              Password:       ____________ (blank)
另外,有一个DNS设置Java程序:
Main Menu
  Settings
    Java Tools
      DNS IP:  10.250.1.10

12.3 评论

(1)做好“主复位”将确定WAP Port号码“9201” ,所以这些必须改变,以“9203” 。 

(2)二级WAP IP and Port设置为相同的IP和港口的主要WAP设置。  我能够使用“mMode” (即前往任何URL )与一个完全空白的中学WAP设置,但我“Line Type 1: Modem”那个时候。  我不知道是否设置为“ISDN”使之更可能是次要WAP设置将被使用。 

(3) “船长重置”使“Timeout:”外地“15 minutes” 。  变化的价值“2 minutes” 。 

(4)的“Name:” , “Homepage:” ,并“GPRS APN:”涉及所有领域中输入字母和符号的手工操作。 

(5)该领域的空白显示在上面的例子中确实打算没有任何文字输入。  空白是不是偶然的。 

13. 与其他手机资源

13.1 Motorola J2ME SDK 3.0

Motorola有一个软件开发工具包SDK ,其中包括一个仿真器能模仿许多Motorola手机,其中包括T720 。  您可以获得本SDK是免费的, 并且不需要CodeWarrior使用手机模拟器附带SDK ,尽管所有的提CodeWarrior的Motorola网站。  另外,在一般我认为你可以,没有CodeWarrior或Motorola SDK即使你正在做的专业发展为T720 。

您必须先注册Motorola ,甚至了解他们的J2ME SDK ,更不用说下载。 

http://kb.motorola.metrowerks.com/motorola/developmentTools.do

也有一些职能的发挥“Compact MIDI” ,甚至“*.wav”文件。  安装和阅读文件,以了解更多细节。 
以下是我收到的评论在一封电子邮件:
该Motorola J2ME SDK给你(除其他事项外) “兽皮”的模拟器,使模拟器看起来就像您的行动电话编程。  它的意义远远超过化妆品。  屏幕大小可以不同,例如,所以如果你设计的东西在屏幕尺寸问题,它肯定有助于有一个模拟器相匹配的目标。  该SDK还包括一些Motorola建立开放Java班称为Lightweight Windowing Toolkit为您提供一些你需要建立一个应用程序真正UI -各种X AZG工具。 

您可以通过不这样做,但如果你是做严肃认真的工作,您一定希望拥有它。  如果我是创造东西的Sony Ericsson或Nokia或其他任何电话,我会希望自己的SDKs太多。 
以下是引自Motorola's网站就其SDK :
该Motorola Software Development Kit (SDK)的J2ME™平台是一个工具,用于开发和测试程序写入Java编程语言。  该SDK包括应用程序,可以很容易地推出MIDlets (J2ME™ Programs)使用Motorola J2ME™装置模拟器。  加上这些工具允许你开发和调试您的J2ME™在仿真程序之前下载到目标设备。  该Motorola SDK可以集成到Metrowerks' CodeWarrior™ Wireless Studio, Professional Edition, Version 7 。 

这个版本的SDK包括许多增强性能和稳定性。  所有功能,以前的版本的支持,这些新的特点: 

新手机支持此版本: A830 。 

新功能支持的这个版本: 

A830 -游戏X AZC,串口连接, X AZD协议支持。
All devices -改进的图形性能

该SDK支持以下设备:
*Motorola Accompli (008/6288 and 388)™
*Motorola T280i
*Motorola T720
*Motorola v60i
*Motorola v66i
*Motorola iDEN i1000
*Motorola iDEN Platform
*Motorola StarTAC™
*Motorola i85s

13.2 Sun ONE Studio 4 update 1, Mobile Edition

我的一位朋友显然没有问题,下载和使用这个工具包-这显然是给你一切你需要X AZB和额外的工具,使X AZC等  我还没有尝试过自己。  以下是其他评论工具: 
报价从Slashdot张贴: 
你可以保存自己的一些麻烦安装各种不同的工具包。  只需下载[sun.com] Sun ONE Studio 4 update 1, Mobile Edition ,它完全免费(如啤酒) ,并是一个伟大的集成开发环境(约20 MB下载) 。  所有的工具,仿真器和演示的文章被捆绑。  自上周以来,我下运行RH Linux 7.2 ,与512mb的ram (YOU NEED LOTS OF RAM!!!) 。 

仅用了一分钟[sun.com]从跳过regestration屏幕步进蠕虫病毒通过游戏中的调试  (我总是喜欢游戏的蠕虫/蛇/ nibbles在其所有的化身,并演示版提供的精美编程-简单,但面向对象和多线程在少量的代码) 。 

您需要注册下载。  支持平台: Linux, Windows, Solaris 。
报价从Slashdot张贴:
从sun下载faq [sun.com] : 
“由于我们的方式处理下载服务,会议管理,你不能恢复部分下载点击链接,再次在浏览器窗口。相反,打开下载管理器程序您使用,并恢复下载的下载管理器本身。

我们将继续同我们的工程师能够支持更多的下载管理器更多的平台。现在,但是,请关闭其他任何下载管理器和水电费,如果您有下载的问题。”
下载大文件sun下linux已经非常困难了约一年。  唯一的下载管理器直到最近我一直能够得到工作是DAP下windows (预警:间谍软件) 。  基本上大多数下载管理器( prozgui , getright , opera )将无法处理Sun's [诚意] 。  滑稽,而不是修正自己的网站上,以公正的工作, Sun写自己的下载管理器[sun.com] 。  其撰写的java ,它只有微小的140KB !  令人惊讶的是,这是一个非常出色的下载管理器,小脚印,没有浏览器劫持,没有广告软件/间谍软件,工程在任何OS ,文件自动核查,自动解压,并坚如磐石 

13.3 随机论坛发布:

该Jad和Jar档案是唯一的文件需要运行应用程序在手机上,并根据手机的方法你的应用程序转移到手机上,您可能只需要jar 。 

如果申请送交Over the Air (OTA) ,即通过网络URL ,您将需要创建一个链接页面上可读的手机(如wml , cHtml , cHtml )的JAD文件。  对于OTA下载你还需要设立您的网络服务器来处理jar和jad文件类型。  在apache您需要添加以下行的httpd.conf文件: 

AddType text/vnd.sun.j2me.app-descriptor jad 
AddType application/java-archive jar 

此外,您将需要确保URL的jar文件是URL的JAR文件在服务器上,而不是当地URL 

相反,如果你想通过转让IR , Bluetooth或电缆你只需要移交的档案,以电话,安装和运行。  JAD文件的一般是专门用于提供手机所需的信息OTA下载,因此, Nokia 7650和其他一些型号您只需要转移jar文件的非OTA转让。 

13.4 http://wireless.java.sun.com/midp/questions/sar/

SAR (或WTP-SAR )主张Segmentation and Reassembly 。  这是一个可选功能的Wireless Transaction Protocol (WTP)内WAP 。  SAR定义了一个方法, WAP网关,打破了大量的信息(一JAR文件你下载,例如)成小块(分割)和手机一块回来一起(重新组装) 。 

并非所有的手机都使用SAR ,但大部分将进入网络服务器通过WAP网关。  Nokia使用SAR ,而Motorola使用功能HTTP 1.1检索小块的文件之一的时间,然后重新它。 

一个问题产生与WAP网关关注MIME返回类型的Web服务器。  如果用户要求JAD或JAR文件和服务器返回了错误的MIME类型,网关和随后的电话将处理不当的转让。  为了确保适当的下载MIDlets ,请使用下列MIME类型: 

text/vnd.sun.j2me.app-descriptor jad 
application/java-archive jar 

13.5 随机论坛发布

你必须有正确的MIME设置在服务器上存储.JAD/.JAR文件。  之后,您就可以下载的应用程序到您的设备。  请记住: -这个过程是相当具体的设备(不一定使用X AZB协议)  -你最好有绝对路径X AZB和X AZC一套(即X AZD) 

13.6 随机论坛发布

至少在Siemens设备,您有一个具体的配置Java ,这是不同于WAP和GPRS 。  您可以浏览WAP ,但midlet时发现,不同的设置自动改变来完成下载。  在M50方便,你必须设置Java概况根据参数的供应商;在c55方便,同一套被称为“HTTP profile” ,并用它也为其他类型的下载(例如, http连接在midlet的) 。 

13.7 杂项有趣的连结签署先进midlet的东西

http://wirelesssoftware.info/midp_2.0/javax/microedition/midlet/doc-files/PKIAppendix.html

13.8 非常酷midlet的节目介绍

http://wireless.java.sun.com/midp/articles/getstart

13.9 http://wireless.java.sun.com/midp/articles/deploy/

部署您的无线应用远程: 

上传您的应用程序文件( JAD和JAR )到一台远程网络服务器。  如果您的项目命名为游戏,例如,上传文件: games.jad和games.jar从bin目录中的项目家庭(例如, <toolkit>/apps/games/bin ) 。  请注意,两个文件必须结束了在同一目录的服务器上。 

重新Web服务器,使之认识到JAD和JAR文件: 

对于JAD文件类型,设置文件扩展名,以.jad和MIME类型text/vnd.sun.j2me.app-descriptor 。 

对于JAR文件类型,设置文件扩展名,以.jar和MIME类型application/java-archive 。 

如何配置Web服务器取决于哪一个您使用。  例如,如果您使用的是Tomcat ,请确保您的web.xml文件包括以下方针: 

<mime-mapping> 
<extension>jad</extension> 
<mime-type>text/vnd.sun.j2me.app-descriptor</mime-type> 
</mime-mapping> 
<mime-mapping> 
<extension>jar</extension> 
<mime-type>application/java-archive</mime-type> 
</mime-mapping> 


更改您的JAD档案的MIDlet-Jar-URL财产指定URL您JAR文件。  例如,在副本games.jad您上传到服务器,改变... 

MIDlet-Jar-URL: games.jar 

...到...

MIDlet-Jar-URL: http://YourWebServerAddress:port/pathTo/games.jar 

13.10 杂项链接

http://www.microjava.com/articles/techtalk/midp?PageNo=3 
http://www.corej2me.com/DeveloperResources/sourcecode/general/multipleMIDlets/index.shtml 

13.11 Nokia J2ME程序开发联系

从Nokia网站:
Nokia's J2ME实施由行业标准MIDP 1.0和CLDC 1.0 。  该平台是延长了Nokia User Interface (UI) API 。  它使应用软件开发商获取某些基本的电话功能,没有指定的CLDC 1.0或MIDP 1.0 。  该Nokia UI API提供了简单的音频性能,振动,显示屏照明,以及一些图形相关的功能。 
从一封电子邮件我收到:
所以Nokia似乎是真正开放的手机,任何种类的自定义修改你能想到的。  您可以将振动java游戏,卡通泡沫添加到你的照片,确实上传图片到您的网站!  你可以写自己的服务器,人们可以上传东西给你! 
下面是一些很酷的7650链接:
DOOM的7650!!  : http://www.wildpalm.co.uk/Doom7650.html 
该7650网页: http://www.nokia.com/nokia/0,1522,,00.html?orig=/phones/7650/index.html 
Nokia J2ME FAQ : http://www.nokia.com/nokia/0,5184,2776,00.html 
下载SDKs , J2ME教程,和更: http://www.forum.nokia.com 

13.12 手机程序的链接

(1) http://midlet.org 
(2) http://spruce.jp/freemidlets 
(3) http://www.gameloft.com 
(4) http://www.microjava.com 

14. J2ME与BREW

14.1 导言

有两个主要的软件平台的移动设备: J2ME和BREW 。  许多手机运营商已经决定向手机J2ME支持: AT&T , T-Mobile ,并Sprint 。  一个主要的运营商已决定只提供电话BREW支持: Verizon 。 

移动设备,支持J2ME可以执行J2ME程序,但不能执行BREW程序。  移动设备,支持BREW可以执行BREW程序,但不能执行J2ME程序。 

制造商的移动设备往往为人们提供了多种版本的基础上不同的无线广播标准。  例如, Motorola提供了两个版本的T720 : GSM和CDMA 。  巧合的是, GSM版本的T720支持J2ME程序,并CDMA版本的T720支持BREW应用。  因此,虽然无线广播标准,在技术上没有相关的手机作业系统,情况在市场上已导致这一意外的相关性。 

14.2 移动电话服务供应商决定哪些客户可以做一个移动电话设备

以下是总结了移动电话服务供应商使客户能够做的事: 
[A]  AT&T :
   [1] J2ME Applications:
         Download from any site on the Internet, Over The Air (OTA);
   [2] GIF Files (Images):
         Download from any site on the Internet, Over The Air (OTA);
   [3] MIDI Files (Ring Tones):
         Download from any site on the Internet, Over The Air (OTA);
   [4] Data Cable:
         Cannot (officially) be used to transfer files;

[B] Verizon :
   [1] BREW Applications:
         Download for a fee through Get It Now! (GIN), Over The Air (OTA);
   [2] GIF Files (Images):
         Download for a fee through Get It Now! (GIN), Over The Air (OTA);
   [3] MIDI Files (Ring Tones):
         Download for a fee through Get It Now! (GIN), Over The Air (OTA);
   [4] Data Cable:
         Cannot (officially) be used to transfer files;

[C] Sprint :
   [1] J2ME Applications:
         **** UNKNOWN ****
   [2] GIF Files (Images):
         Download from any site on the Internet, Over The Air (OTA);
   [3] MIDI Files (Ring Tones):
         Download from any site on the Internet, Over The Air (OTA);
   [4] Data Cable:
         Cannot (officially) be used to transfer files;

[D] T-Mobile :
   [1] J2ME Applications:
         Download for a fee through T-Mobile's service, Over The Air (OTA);
   [2] GIF Files (Images):
         **** UNKNOWN ****
   [3] MIDI Files (Ring Tones):
         **** UNKNOWN ****
   [4] Data Cable:
         Cannot (officially) be used to transfer files;
AT&T提供了最好的客户和开发利用手机设备和多媒体文件在互联网上。  显然, AT&T已决定将重点放在业务转运字节通过其网络,而不是试图将业务的销售多媒体内容。 

Verizon是最暴虐的手机服务供应商他们所有人。  他们“Get It Now!”的商业模式,其中包括人为地限制客户使用自己的移动电话设备,以保护企业的销售多媒体内容,激发了许多挫折客户终止他们的合约与Verizon或设法绕过“Get It Now!”门户。  正如电影院和体育等领域可以收取极高的食品价格,因为客户不能轻易获得替代的食物来源在这种情况下(即有一个得不到的竞争) , Verizon可以收取极高的价格进入多媒体文件和软件程序,因为用户不能轻易获得其他来源的多媒体文件和软件程序。 

14.3 Binary Runtime Environment for Wireless (BREW)

BREW是“Binary Runtime Environment for Wireless ,专有的软件平台开发的QUALCOMM 。  若要了解更多关于BREW ,请访问下面的Internet网站: 

http://www.qualcomm.com/brew

该SDK可从Qualcomm 。  在2002年, SDK可以用来建立软件使用Microsoft Visual C++ 6.0 ,并计划可转移到手机未经“检验签字。” 

所有手机Verizon合同利用BREW 。  所有软件,图像和音乐必须移交通过Verizon's “Get It Now!”门户网站,并通常涉及支付费用超出了网络带宽的成本。 

14.4 Java 2 Platform, Micro Edition (J2ME)

J2ME是“Java 2 Platform, Micro Edition” , “高度”优化Java运行环境。  若要了解更多关于J2ME ,请访问下面的Internet网站: 

http://java.sun.com/j2me

您可能已经做了一些Java节目。  J2ME包括许多Java班级用于台式计算机程序。  显然,任何Java类是纯粹的Java代码,并且不依赖于任何硬件或操作系统功能,可以执行汇编范围内的任何Java虚拟机。 

一个人可以创建线程,插座,图形画布等,很容易。  一个人只需要下载一个*.JAR文件(和可能是*.JAD档案)安装一个应用程序的手机。 

下载Java SDK 免费的。  文件Java是彻底。  数以百万计的人患上代码Java 。  有许多互联网论坛讨论各方面的Java节目。 

在仅仅几分钟的搜寻互联网,我发现数百个有趣的软件程序,以及图像和声音效果,所有的Motorola T720 GSM/J2ME手机-所有文件和成本没有任何下载。 

我很高兴通过能够充分利用多媒体方面,我的财产(即,我国移动电话) ,而不必支付我的手机服务供应商的任何超过使用自己的移动电话网络。 

14.5 我国BREW和Verizon恐怖故事

我已创建的软件都J2ME和BREW平台,在我看来,我认为这两种技术有其优点和缺点,都是很能够被用来制造复杂的程序变得非常容易。 

但是,企业有兴趣在创造和销售软件的手机应该开始考虑一个问题“:”如果我“开发软件,我被允许出售?” 

如果一个企业开发的软件为J2ME平台,那么大多数移动电话服务供应商允许客户到任何互联网网站和下载任何J2ME软件,而不强加任何费用以外的费用转移字节通过移动电话网络。  因此,软件开发业务是一定能够获得的潜在客户,并能作出自己的安排,收集来自客户资金的任何软件的采购。 

如果一个企业开发的软件为BREW平台,然后Verizon决定是否将软件销售给客户。  此外,将提取Verizon很大比例的销售价格的软件有幸被允许出售的软件通过其独家门户网站。 

这是我的BREW和Verizon恐怖故事: 

我有一个独特的构想一个软件程序的手机时,手机已经开始能够执行BREW和J2ME程序。  我感到非常兴奋,因为我相信,我可以创建和发布一个独特的计划,这些平台很久以前任何竞争对手将准备建立一个类似的产品。  我相信,我可以做一些终于在我的生活,使我富裕。  因此,我辞去我的工作,并开始工作的BREW版本的软件,我的想法。  经过6个月的辛勤工作,没有收入,我完成了BREW计划!  我准备提交给Qualcomm进行测试。 

这时候我犯了一个可怕的发现:即使我的计划通过了质量保证测试, Verizon将批准出售我国软件-和X AZC可以不赞成我的软件以任何理由(超出了明显的原因是进攻或在竞争与其他一些方面的Verizon's业务) 。  我只是没有想到这种可能性。  我读到的一切有关BREW发展的暗示,面临的挑战是通过质量保证测试。  没有提到我读到任何需要的软件批准的移动电话服务供应商。  我也不会感到惊讶地得知,移动电话服务供应商可能会选择不出售攻击性或恶意程序,但这些因素似乎是不重要的我特别项目,我没想到的更广泛的概念,即移动电话服务供应商可能会选择不出售普通软件程序! 

我的一个朋友,谁已经售出了视频游戏节目通过Verizon ,要求Verizon如果Verizon代表将批准我国软件的销售网络...  该Verizon代表说: “没有” ,因为有一些其他软件程序在广泛的体裁了。  我国软件是一个词汇教师(特别考虑SAT和GRE标准化考试) ,但Verizon代表说,文字游戏流派已经“拥挤的” ,尽管事实上有少于10字有关的节目总数的“获取它现在!”门户网站,和其他程序有很大不同(例如,填字游戏, “Scrabble” , “Boggle”等) 。  我的计划是一项科技成就:它储存的定义五零零零词汇的话,随着同义词和反义词,以及词义组(问答,使问题将是具有挑战性的) ,在一个程序,不到1 MB 。  我国计划将已独特的市场上许多个月,并有可能为一两年。 

我很生气,沮丧,和财政突破。  6个月的工作是浪费,因为Verizon只想软件,肯定会卖出上千本的副本在其销售的门户,并Verizon代表没有想到我的软件具有很高的销售潜力。 

这是最重要的教训我学会了从这一惨痛的经历:  检查每个部分的商业计划,然后开始工作。  (理想的情况是,每一个部分的业务计划可反复测试,实际执行的各个关键程序,之前和期间的努力,以创造产品。 ) 

我应该检查是否有将任何可能阻碍我国软件销售之前,我开始开发软件。  我发现, Verizon可以选择不请允许我卖我的软件。 

我学到了第二个教训:  避免情况下,其他人有能力确定您是否有机会获得客户! 
colinfahey.com
联系信息
English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية