J2ME softwareudvikling til mobiltelefoner
(2002)
Colin Fahey

Motorola T720 mobiltelefon, vises åbnet
1. Advarsel!
Dette dokument er forældet! Oplysningerne i dette dokument, kan være gyldig og nyttig i år 2002, men mange ting har ændret sig i de efterfølgende år! Dette dokument skulle nu kun betragtes som en interessant historisk oversigt over året 2002. Ikke stole på nogen information eller rådgivning i dette dokument. Alle de tekniske oplysninger i dette dokument er meget forældede.
Downloading selvstændige skabt software, selvstændige skabt billeder, og selvstændige oprettet telefon-alarm melodier (dvs. "ringetoner)," var forholdsvis sjældne og vanskelige i år 2002. Desværre, seks år senere, nogle mobiltelefonen tjenesteydere (herunder Apple, der giver den eksklusive software og "ringetone" portal for iPhone) stadig indføre restriktioner på downloading af software, billeder og musik, fordi mobiltelefonen tjenesteydere haft meget store økonomiske overskud ved at kontrollere disse typer af downloads.
Heldigvis, mobiltelefoner såsom dem, som viser "Android" software platform, vil for evigt udgangen mulighed for virksomhederne til at skabe og udnytte lukkede markeder for sådanne anvendelser af mobiltelefoner. Selv om forbrugernes vilje købt mobiltelefonen service planer, der har omfattet meget høje omkostninger til downloading af software, billeder og musik, er dette på grund af det begrænsede antal mobiltelefonen service.
Den økonomiske dynamik, der har gjort det muligt for visse virksomheder til at vokse til at dominere markedet ikke bør fortolkes som implicitte stærk godkendelse af forbrugerne. Da virksomhederne begynder at dominere, og derefter gøre det vanskeligt eller umuligt for konkurrenter at komme ind på markedet, den dominerende selskaber kan tilbyde produkter, der kombinerer høj positiv værdi (f.eks evnen til at kommunikere alle steder fra) med høj negativ værdi (f.eks høje priser for ønskeligt, software, billeder og musik, som alle ellers ville være frit tilgængelige, og således, at den service, tilføjer negativ værdi). Ingen forbrugere er tvunget til at købe en mobiltelefon, men der er ingen tvivl om, at den dominerende mobiltelefonen tjenesteydere har gradvis skabt betingelser, der ikke kan betragtes som "et" frit marked. Derfor er mobiltelefonen service marked har været økonomisk "ineffektivt og" er blevet en urimelig byrde for forbrugerne.
Forhåbentlig krav, at mobiltelefonen service radio-frekvenser være til rådighed for konkurrerende tjenester vil genoprette normale markedsvilkår værdier til dataoverførsel, således at mobiltelefonen tjenesteydere er igen reduceret til blotte bærere af data (dvs. kun leverer båndbredde) i stedet for oplysninger eller underholdning udbydere !
Virksomhed som transporterer data skal være adskilt fra virksomheden for at sælge data, ellers vil der være et incitament for de data, transport erhvervslivet til at blokere for konkurrenter fra at sælge data gennem de samme data transport kanal.
Den video, spillekonsol markedet lider under det samme problem. Producenterne af videospil konsol hardware er i færd med at skabe enheder, der kan vise video spil, men de samme selskaber også har eksklusiv kontrol med overførsel af software til dem, video spilkonsoller. Derfor er der et incitament for videoen spillekonsol fabrikanter til at blokere for konkurrenter fra at sælge software til video spilkonsoller. Hvis en video game console hardwareproducenten fokuseret på design og fremstilling hardware, der kunne sælges med fortjeneste (i stedet for på et betydeligt tab, som med X-Box og PlayStation og Nintendo spillekonsoller), så den video spil marked vil trives, og kvaliteten af den bedst videospil ville betyde en betydelig forbedring, og udgifterne til videospil ville kollapse.
2. Emne indeks
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
3. J2ME udviklingsværktøjer
Dette afsnit beskriver, hvordan du henter udviklingsværktøjer, der kan bruges til at udarbejde J2ME kildekoden i klasse filer egnet til mobile enheder. Bemærk, at Sun "J2ME Wireless Toolkit," diskuteres i et senere afsnit af denne artikel, kræver at downloade Java SDK beskrevet i denne sektion.
3.1 JDK 1.4 (eller senere)
Det betyder, at du har brug for det konventionelle Java 2 SDK fra Sun. Jeg hentede og anvendte version 1.4 via følgende link:
Her er, hvad download siden udseende:
Starte installationen programmet. Installer til standardplaceringen ( c:\j2sdk1.4.0_03 ) medmindre du er i stand til at løse sti problemer, der måtte opstå.
3.2 Connected Limited Device Configuration (CLDC)
Jeg vil ikke foregive at vide, hvad det er, men jeg blot hentet det fra Sun hjemmeside.
Her er, hvad CLDC vigtigste hente webside udseende:
Kun 1.0.3 var tilgængelige på det tidspunkt, jeg besøgte.
For at hente denne, jeg behov for at registrere med Sun hjemmeside. Jeg har oprettet følgende profil:
Username: anon***anon
Password: nospamplease
Favorite color: blue
Full name: Prof. Anon Nospamplease
Jeg har hentet følgende fil:
j2me_cldc-1_0_3-fcs-src-b17-winunix-14_sep_2001.zip
I unzipped til følgende bibliotek:
Jeg blev døbt "cldc-1_0_3-fcs" mappe til blot:
cldc (dvs. den fulde sti er c:\j2me\cldc)
3.3 Mobile Information Device Profile (MIDP)
Jeg vil ikke foregive at vide, hvad det er enten, men jeg blot hentet det fra Sun hjemmeside.
Her er, hvad de MIDP vigtigste hente webside udseende:
Jeg har hentet følgende fil:
j2me_midp-1_0_3-fcs-src-b26-win-19_sep_2001.zip
I unzipped til følgende bibliotek:
Jeg blev døbt "midp-1_0_3-fcs" mappe til blot:
midp (dvs. den fulde sti er c:\j2me\midp)
3.4 Opsætning værktøjer
3.4.1 Etablere stier
Tilføj følgende linjer til din AUTOEXEC.BAT fil:
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%
Så kraft disse variabler, der skal indlæses igen ved at køre batchfilen:
Du kan også oprette de samme variabler ved hjælp af Windows miljø-variabel kontrolpanel.
Bemærk, at jeg valgte at specificere eksplicit biblioteksstierne til min nuværende version af Java 2 SDK. Derfor, hvis jeg opgradere, så må jeg ændre AUTOEXEC.BAT fil til at angive de nye mapper.
3.4.2 Kontroller Jave 2 SDK binære filer
Når indstillingerne ovenfor får virkning, bør du være i stand til at køre Java værktøj programmer fra kommandoprompten uden at angive den fulde sti til værktøjet programmer.
Følgende kommando vil starte mobiltelefon enheden emulator:
Følgende billede viser mobiltelefonen enhed emulator:
4. Simple J2ME program
4.1 Skriv Java kode
Brug en teksteditor, en person kan skrive kode, som for denne HelloMIDlet.java kildekode fil:
Her er den kode, som almindelig tekst format:
// 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 Kompilere *.java kode til *.class
Advarsel: Følgende kommando skal være på en enkelt linje, men er blevet udvidet til flere linjer med tekst kun for klarhed.
(Current directory: C:\HelloMIDlet)
javac
-target 1.1
-d .\
-bootclasspath c:\j2me\midp\classes
HelloMIDlet.java
Bemærk: "-target 1.1" er nødvendig for at undgå en fejl i fremtiden "preverify" fase. Tilsyneladende har det noget at gøre med et problem med MIDP 1.0.3 støtte i JDK 1.4.
4.3 Preverify at generere et nyt *.class fil
(Current directory: C:\HelloMIDlet)
preverify -classpath c:\j2me\midp\classes;. HelloMIDlet
Dette skaber en ny *.class fil i en ny undermappe kaldet "output" (som standard).
4.4 Test den nye *.class fil
(Current directory: C:\HelloMIDlet)
midp -classpath c:\j2me\midp\classes;.\output HelloMIDlet
Dette starter telefonen emulator, hvilket indikerer, at den nye "output" mappe indeholder nogle af de nødvendige *.class filer.
Følgende billede viser det forventede resultat.
4.5 Opret en ny tekstfil, "manifest.mf", og redigere filen
En "manifest.mf" fil er vigtigt for at få et virkeligt mobiltelefon til at fortolke indholdet af en *.jar fil. Hvis en ordentlig "manifest.mf" fil er ikke medtaget i *.jar fil, så mobiltelefonen kan med held downloade *.jar fil, men måske ikke til at fortolke den downloadede fil, muligvis rapportere en fejl såsom "Unsupported Content Type".
Følgende er et eksempel på en simpel "manifest.mf" fil.
Her er den "manifest.mf" fil som almindelig tekst:
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
Bemærk, at CLDC og MIDP versioner er angivet i denne fil. Være meget forsigtig og konservativ, når du redigerer de forskellige felter i denne fil. Hvis du får "File Corrupt" fejl, og derefter forsøge at fjerne alle områder, der ikke er vist i dette eksempel. Også, sættes de områder i den rækkefølge, de vises i eksemplet. Også afkorte hvert felt værdi så meget som du kan, og holder de tegn begrænset til enkle bogstaver, tal, perioder, og bindestreger. Nogle mobiltelefonen tjenester, og mobiltelefoner, kan tåle mere variation i området bestilling og området indholdet.
Forsigtig:
Når "jar" program bruges til at skabe en *.jar fil, og "manifest.mf" filen er angivet som manifestfilen, den "jar" Programmet læser manifestfilen og kan tilføje flere områder, da det skaber en fil kaldet "MANIFEST.MF" inden for produktion *.jar fil. Derfor, hvis "MANIFEST.MF" filen er hentet fra en *.jar fil, og derefter sammenlignet med den oprindelige "manifest.mf" fil angivet under oprettelsen af *.jar, de to filer kan være anderledes, med "MANIFEST.MF" fil, der indeholder flere felter end det oprindelige "manifest.mf" fil .
Må ikke udtrække en "MANIFEST.MF" fil fra en *.jar filen, og forsøg på at danne en ny *.jar fil ved hjælp at manifestfilen. Hvis du udpakker en "MANIFEST.MF" fil fra en *.jar fil, så sørg for at fjerne alle områder undtagen for dem, der er vist i eksemplet "manifest.mf" fil vist ovenfor.
Note:
Ikoner for programmer tilsyneladende ikke er opført på Motorola T720 telefonen. Det er derfor, jeg ikke beskrive min MIDlet med et ikon. Men det følgende viser, hvordan du indstiller et ikon for programmet inden manifestfilen:
MIDlet-1: My_Description, /icon.png, HelloMIDlet
Når der udvikles til mobiltelefoner at gøre vise ikoner for ansøgninger, angiver ikonet filnavn, og tilføje ikonet billedfil sig til det *.jar fil ved at angive filnavnet for den fil navne på filer, der skal føjes til *.jar fil.
4.6 Sæt "manifest.mf" fil og *.class fil til en *.jar fil
Følgende kommando skaber en *.jar fil. Den *.jar fil vil indeholde de angivne manifest.mf fil, og vil indeholde *.class filer, der findes i den angivne mappe.
Aktuelle mappe: C:\HelloMIDlet
jar cfm hi.jar manifest.mf -C .\output HelloMIDlet.class
Kompleks hypotetisk eksempel på at skabe en *.jar fil
Lad os antage, at et ikon image fil (f.eks "icon.png") er at dukke op i en *.jar fil som "/icon.png". (Note: Program ikoner vises ikke på Motorola T720 mobiltelefonen, men ikke vises på andre mobiltelefonen typer, og gøre vises i MIDP emulator.)
Lad os antage, at der findes en mappe med navnet "images" med billedfiler (*.png format). Lad os antage, at denne mappe, og alle de billeder, der findes i den mappe, skal være tilgængelige for Java programmet ved den relative directory /images (sådan, at et billede "a.png" vil være tilgængelige ved hjælp af den sti "/images/a.png").
Lad os antage, at alle de *.class filer produceret af preverify kommando findes i en mappe med navnet "verified". For eksempel er kontrolleret version af de vigtigste klasse, "MyApp.class", ville være i "verified" mappe, sammen med de øvrige klasser af programmet. Alle disse klasser, skal være tilgængelige i rodmappen af *.jar fil.
Følgende kommando vil skabe en *.jar fil, der opnår de forskellige mål er angivet i de foregående stykker. Forsigtig: kommandoen er blevet udvidet til flere linjer med tekst her kun for klarhed. Når du indtaster kommandoen i en kommando-prompt, den kommando, må ikke indeholde linjeskift, ellers kommandoen tolk vil fortolke den indtastede tekst, som flere uafhængige kommandoer.
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 .
Den sidste del af kommandoen er svært at forstå. Det har følgende betydning: "Ændre den aktuelle arbejdsmappe til .\verified, og derefter lægge alle *.class filer, der findes i den relative directory '.' (nemlig alle *.class filer i den aktuelle arbejdsmappe) i til *.jar fil." Fordi biblioteket var blevet ændret, inden du angiver stien til de klasser til at sætte i *.jar fil, den lokale sti vises ikke i relativ sti, når filerne er placeret i den *.jar fil.
For eksempel går den verificeret klasser er i følgende bibliotek:
C:\MyApp\verified
Lad os antage, at der er klasse filer som følgende:
C:\MyApp\verified\w.class
Så angivelse "-C .\verified ." i kommando til at skabe de *.jar fil, der starter fra en nuværende bibliotek af "C:\MyApp", vil resultere i "w.class" at blive sat i rodmappen af *.jar fil. </ E>
Advarsel: Når "-C" indstilling er angivet, det ændrer den aktuelle arbejdsmappe på dette punkt med behandlingen af en samlet sekvens af kommando parametre til jar kommando. Derfor er det jar kommando kan klage over, at det ikke kan finde andre filer nævnt i kommando parametre end "-C" mulighed. Hvis dette sker, blot at flytte "-C .\verified ." at være den endelige parametre i den samlede kommando.
Følgende viser verbose output af jar kommando.
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 Oprette og redigere en ny *.jad fil
En *.jad fil er nødvendig for, at mobiltelefonen kan beskrive et edb-program til en person, før den person beslutter sig for at hente programmet. Den *.jad fil indeholder også en række indirekte fra *.jar selv.

Et eksempel *.jad fil, der beskriver en *.jar fil
Her er eksemplet hi.jad fil i almindelig tekst format:
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
Der findes programmer, der kan generere *.jad fil, som gør det lettere at opdatere "MIDlet-Jar-Size:" område hver gang *.jar fil er ændret (og dens størrelse ændringer). Hvis du søger på internettet, du vil finde nyttige J2ME programmer.
Hvis størrelsen område ikke det præcise byte summen af de *.jar fil, og derefter følgende fejl kan forekomme efter en vellykket download til en mobiltelefon: "Download Failed" (download mislykkedes).
For Motorola T720 mobiltelefonen, følgende fejlmeddelelse kan anvendes til inidcate ugyldige felter i *.jad fil, eller muligvis ugyldig felter i den genererede MANIFEST.MF fil indefra *.jar fil: "Failed: File Corrupt" (mislykkedes: filen korrupt).
Bemærk: Hvis *.jar filen i samme mappe som den tilsvarende *.jad fil på en Internet web-server, så den *.jad fil kan blot angive filnavnet på den *.jar fil, uden at angive en fuld URL, som i følgende eksempel:
MIDlet-Jar-URL: hi.jar
Når man henter disse filer fra en Apache Internet web-server til en Motorola T720 mobiltelefonen, kan det accepteres, at der ikke omfatter den fulde URL. Men når du henter disse filer fra en Yahoo! Internet web-server til en Motorola T720 mobiltelefonen, forsøget på at hente vil mislykkes, medmindre en fuld URL stien til *.jar filen er specificeret i *.jad fil, som i følgende eksempel:
MIDlet-Jar-URL: http://www.colinfahey.com/hi.jar
Jeg kender ikke årsagen til dette problem, og jeg ved, at dette problem berører ikke andre mobiltelefoner (eller mobiltelefonen tjenesteydere). Til at angive den fulde URL for *.jar fil indefra *.jad fil er selvfølgelig upraktisk, fordi flytte filer til forskellige steder på en server ville kræve en ændring af oplysninger i alle *.jad filer. Men, med angivelse af den fulde URL kan gøre *.jad mere pålidelige for visse mobiltelefoner og visse mobiltelefonen tjenesteydere.
4.8 Test *.jar fil og *.jad fil ved at udføre programmet
Følgende henretter klassen findes i *.jar fil, beskrevet af *.jad fil.
(Current directory: C:\HelloMIDlet)
midp -classpath c:\j2me\midp\classes;.\hi.jar -descriptor hi.jad
4.9 Referencer til J2ME, MIDP, CLDC udvikling
Meget af det, jeg fremlagde her kan findes på mange andre websteder. Men jeg rettet nogle fejl, der findes på andre internetsider, og tilføjet de manglende detaljer, og præsenterede den komplette oplevelse af, at nogen forsøger at gøre det her. Her er meget informative links, der hjalp mig komme i gang:
5. Kompleks J2ME program
5.1 Indledning
Den simpelt program, der præsenteres i det foregående afsnit af dette dokument kun har en enkelt kilde kode fil, og programmet gør næsten ingenting og er således ikke et godt eksempel på mobiltelefonen programmering.
Min ven Sam Robertson skrev en interessant J2ME program, som lærer en person til at spille kortspil "Blackjack" (også kaldet "21"). En spiller er præsenteret med "en" forhandler "kortet," og spillerens par kort, og spilleren skal beslutte, hvad de skal gøre: "ophold, hit, dobbelt-down-eller opdeles."
Programmet har seks kildekode-filer. Programmet svarer til brugerinput, og gør simpel tegning og tekst opdateringer.
5.2 Kildekode
Klik på nedenstående link for at få kildekoden, og *.jad fil, "manifest.mf" fil, og en batch-fil, alle i en bekvem ZIP fil.
sbj.zip
Kildekode er indeholdt i en ZIP fil
6090 bytes
MD5: bf3922035b7a4eef24e107d03b7524c9
Ekstrakt til en vilkårlig mappe, men hvis du ekstrakt til "c:\" under Windows, følgende eksempel diskussion vil være endnu tættere på din faktiske situation.

Udpakning sbj.zip til "c:\" skaber den mappe "c:\sbj"
5.3 Manifestfilen
Sag: "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 Batchfilen at opbygge programmet
Følgende batchfil er uslebne, men det tjener som en illustration af, hvordan du kan komme i gang med at skrive din egen batchfil til at bygge din J2ME program. Dette eksempel batch-fil indeholder følgende:
(1) Slet den mappe, der indeholder gamle *.class filer;
(2) Slet den mappe, der indeholder gamle efterprøvede *.class filer;
(3) Foretag en "klasser" output bibliotek;
(4) Udfyld alle *.java kilder i at *.class filer, med produktion går til "de" klasser mappe.
(5) Foretag en "kontrolleret" output bibliotek;
(6) Preverify alle klasser i "klasser" biblioteket, og satte verificeres klasser i "de" efterprøvede mappe.
(7) Opret en *.jar filen og tilføje mainfest fil, og alle klasser i "de" efterprøvede bibliotek;
*(8) Test programmet via preverified klasser direkte;
*(9) Test programmet via *.jar og *.jad filer;
(*... Disse skridt er slået fra (med at kommentere) i min batchfil.)

Batchfilen "build_sbj.bat" for opbygningen af programmet
Her er den samme fil ("build_sbj.bat") i almindelig tekst format:
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 Bygning fra kommandoprompten
Her er resultatet af at køre "build_sbj.bat" batch-fil på kommandolinjen:

Fuldbyrdende den "build_sbj.bat" batchfil
Bemærk, at advarsler for "rmdir" og "del" operationer blot viser, at der ikke er noget at fjerne.
Du kan se de nye mapper (dvs. "classes" og "verified") og den nye *.jar fil, der resulterede i at køre batchfilen:

Kildekoder filer og nye genererede fil
5.6 *.jad fil
At indsætte de sbj.jar fil, vi er nødt til at oprette og redigere filen for at sbj.jad har de korrekte *.jar størrelse i det relevante felt:
Sag: 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
En person kan have behov for at tilføje den komplette URL til *.jar fil, når de *.jad fil er lagt på en hjemmeside - men jeg opdagede (ved et eksperiment), at jeg var i stand til at undgå at nævne den fulde URL (dvs. jeg kun angivet de *.jar filnavn i sig selv). Men at lægge i den komplette URL, men jeg ønskede at fortælle dig, hvad jeg observerede.
5.7 Resumé
Under flere kilde filer i dit projekt er fælles, og i dette afsnit, vi gav en rå illustration af bygningen af flere klasser, efterfulgt af emballage og udførelse.
Se venligst de følgende afsnit vedrørende brug Sun Wireless Toolkit, hvilket gør opbygger applikationer meget lettere.
6. Sun "Wireless Toolkit (version 1.0.4_01)"
6.1 Indledning
Sun tilbyder en bekvem udviklingsmiljø for bygge-og emballage J2ME programmer: "Java 2 Platform Micro Edition (J2ME) Wireless Toolkit (version 1.0.4_01)".
(Advarsel: Du skal hente Java 2 SDK 1.4 som beskrevet i et tidligere afsnit til at bruge dette toolkit. Gør dette nu, hvis du ikke allerede har denne version af Java 2 SDK.)
Gå til følgende websted for at hente den værktøjskasse:
http://java.sun.com/products/j2mewtoolkit/
Forsigtig!
Ikke klikker på linket "2.0 Beta 1 English" (i øjeblikket toppen download option), hvis du gør Motorola T720 udvikling - fordi denne version har nogle MIDP-2.0 ting, og få omkring dette kan være en hovedpine.

Du må ikke hente denne version! ("2.0 Beta 1 English")
Jeg forsøgte denne version, og jeg til sidst fik koden til at kompilere med masser af rodet indstillinger ændringer, men efter alle de anstrengelser jeg har en sikkerhed undtagelse, da jeg forsøgte at udføre. Ikke gider!
Hent den "1.0.4_01 English" version. Her er, hvad download siden udseende:

Den Sun J2ME Wireless Toolkit (version 1.0.4_01) download side

Den Sun J2ME Wireless Toolkit (version 1.0.4_01) FTP websted liste
Dette vil hente følgende fil: "j2me_wireless_toolkit-1_0_4_01-bin-win.exe"
Fuldbyrde dette program til at installere på dit system.
6.2 J2ME Wireless Toolkit: lanceringen værktøjslinje
Efter toolkit er installeret, kan du starte det fra "Start" (start) menu system:

Start af værktøjslinjen program
Du kan også få adgang MIDP-1.0 dokumentation via "Documentation" element i denne Start (start) menuen.

J2ME Wireless Toolkit (version 1.0.4_01) dokumentation
6.3 J2ME Wireless Toolkit: oprette projektet og bygge

Værktøjslinjen er klar. Klik "New Project..." at oprette et nyt projekt.

New Project: Type i projektets navn (bliver JAR navn og navnet på nyt projekt mappe), og skriv MIDlet klasse navn (klasse stammer fra MIDlet, hovedsageligt de vigtigste klasse af din ansøgning).

Toolbar: projektet oprettet. Bemærk, at konsollen fortæller dig hvor til at sætte dit *.java kilde filer osv. (f.eks "c:\WTK104\apps\sbj\src", etc)

Klik på "Settings..." på værktøjslinjen for at få dette projekt indstillinger i menuen.
Ignorere "MIDlet-Jar-Size" område (med "værdien" 100 bytes) til nu. Vi vil med tiden skabe den korrekte værdi for at få indstillet.

Klik på MIDlets fanen af projektet indstillingsdialogen.
Klik på den eneste række i tabellen ("MIDlet-1") til at fremhæve og vælge det. Klik på "Edit" knappen.

Ryd "Icon" felt, hvis du ikke har en *.png fil til at sætte i din *.jar fil.
Gøre følgende:
(1) Project --> Clean: Fjerner alle *.class filer;
(2) Build : Opbygger alle *.class filer og preverifies;
(3) Project --> Package --> Create Package : producerer *.jar og *.jad

Resultatet af opbygningen af det *.jar og *.jad
Når du gør disse tre skridt, der følger *.jar og *.jad er straks klar til udførelse i den lokale emulator, eller til umiddelbar indsættelse på din hjemmeside, så andre kan downloade "OTA" (OTA). Den *.jar størrelse området i *.jad fil vil være korrekte. Glem ikke at gøre skridt (3) hver eneste gang du genopbygge!
Nu kan du teste ved at trykke på "Run" (køre)-knappen.

Rammer "Run" for projektet læser *.jad i den emulator. Du kan vælge den specifikke MIDlet at lancere (typisk kun en).
Bare kopiere *.jar og *.jad filer fra bestemte steder (rapporteret af værktøjslinjen's konsol vindue under en ophobning af projektet), såsom:
(Fra konsollen vindue:)
Wrote c:\WTK104\apps\sbj\bin\sbj.jar
Wrote c:\WTK104\apps\sbj\bin\sbj.jad
Lægge disse filer direkte på din hjemmeside uden ændringer, og det burde virke. Her er, hvad jeg så på min mobiltelefon efter at downloade denne udarbejdes ansøgning "æteren" (OTA)

Sam Robertson's Blackjack Trainer (sbj.jar) fuldbyrdende på min mobiltelefon
7. Tilbyder software på en internetside
7.1 Sikre, at Internet web-server angiver MIME former for *.jar filer og *.jad filer
Hvis du har en Apache Internet web-server, skal du oprette en fil med navnet ".htaccess" inden for dit websted rodmappen. Den ".htaccess" fil giver dig mulighed for at tilsidesætte Apache konfiguration, såsom at tilføje eller altovervejende fil MIME typer. Du skal tilføje specificere MIME typer svarende til *.jar filer og *.jad filer, som vist i nedenstående tekst fil:

Min tilpassede ".htaccess" fil for Apache Internet webserver. Note: Jeg opkaldt denne fil ".htaccess.txt" blot at gøre filen nemt at redigere, når du bruger Windows operativsystemet. Filnavnet skal ændres til ".htaccess" før filen kan bruges sammen med Apache Internet webserver.
Her er mit simple .htaccess fil som almindelig tekst:
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar
AddType text/vnd.wap.wml wml
Tilsyneladende, at oprette eller ændre denne fil resulterer i en øjeblikkelig ændring af Apache server problem. Jeg gætte Apache server kontrol ændring dato og tidspunkt for ".htaccess" fil på hvert nyt indgående transaktion, og serveren genladninger denne fil, hvis ændringen dato og tidspunkt har ændret sig.
Hvis du har en anden form for Internet web-server, skal du bestemme, hvordan du kan angive MIME typer, og du skal sikre, at *.jar filer og *.jad filer er tildelt passende MIME typer.
Du vil vide, om de MIME typer er ikke blevet oprettet, hvis mobiltelefonen nægter at hente din *.jad fil og rapporter følgende fejl:
"406: Not Acceptable"
7.2 Eventuelt indeholde links til *.jad fil inden HTML eller WML dokumenter
Den Motorola T720 J2ME mobiltelefonen med AT&T service er i stand til at hente en *.jad fil direkte, ved at skrive URL af *.jad fil til mobiltelefonen. Det er sandsynligt, at arbejde for andre J2ME mobiltelefoner med andre mobiltelefonen tjenesteydere.
Men det ville være mere praktisk for folk at hente *.jad fil ved at vælge et link i en HTML dokument eller inden for en WML dokument. (Bemærk: WML er nu forældet. De fleste mobiltelefoner kan nu fortolke HTML.)

En simpel HTML dokument med et link til en *.jad fil

En simpel WML (WAP) side med et link til en *.jad fil (Bemærk: WML er nu forældet. De fleste mobiltelefoner kan nu fortolke HTML.)
8. Downloade software fra en hjemmeside
Følgende billeder viser den nøjagtige sekvens af handlinger jeg gjorde for at hente og fuldbyrde MIDlet udvikles og installeres som beskrevet i de foregående afsnit ovenfor. Disse billeder er fotografier af skærmen på min mobiltelefon.
(1) Main skærmen: Når du åbner telefonen, kan du se de vigtigste skærmen. Tryk på den midterste knap for at gå til hovedmenuen.
(2) Main Menu: Flyt til det element "WebAccess".
(3) WebAccess: Flyt til det element "Go To URL".
(4) Enter URL: Type i URL af en *.jad fil (eller en HTML dokument, eller af en WML dokument).
(5) Details; Disse oplysninger blev parses fra *.jad fil. Tryk DOWNLD at downloade *.jar fil.
(6) Download Complete; Vent dette budskab til at forsvinde;
(7) Installing; Vent dette budskab til at forsvinde;
(8) xxxx bytes transferred; Vent dette budskab til at forsvinde;
(9) Installed; Vent dette budskab til at forsvinde;
Når WebAccess menuen vises igen, efter programmet er blevet installeret, skal du blot forlade hver menu for at vende tilbage til hovedskærmen.
(1) Main skærmen: Når du åbner telefonen, kan du se de vigtigste skærmen. Vælg den "Games & Apps" mulighed via hovedmenuen, eller trykke på den nedadgående markøren på hovedskærmen.
(2) Java Powered: Vent til dette skærmbillede til at forsvinde.
(3) Games & Apps: Vælg emnet med navnet på dit program!
(4) yay! Vellykket gennemførelse af dit program!
Programmet udseende på mobiltelefonen er meget lig at udseende inden for emulator.
9. Download fejlmeddelelser og installation fejlmeddelelser
9.1 Motorola T720 (J2ME) fejlmeddelelser
Følgende fejl beskeder er kun relevante for Motorola T720 (GSM/J2ME) mobiltelefonen.
9.1.1 "Download Failed"
Årsag # 1
Enhver fil (HTML, JAD, JAR, MID, GIF) over 1644 bytes vil forårsage denne fejl for visse Internet web-værter og servere. Her er en kort liste af værter og servere:
Host / Server Error
=================================================== =================
Apache No
Microsoft Personal Web Server (direct from your PC) No
Earthlink (Apache) No
Yahoo! (custom server) Yes
Problemet skyldes en fejl i den Motorola T720 GSM/J2ME firmware, der forårsager henter filer i fragmenter til at mislykkes.
Den eneste åbenlyse løsning er at skifte Internet web vært eller server type. Andre mobiltelefonen typer ikke har dette problem.
Årsag # 2
Den "MIDlet-Jar-Size:" inden for en *.jad filen ikke angive det præcise byte summen af de tilsvarende *.jar fil.
9.1.2 "Failed: File Corrupt"
Årsag # 1
Den *.jar fil bruger API funktioner, som ikke er tilgængelige på specifikke mobiltelefon.
For eksempel, MIDP 2.0 funktioner er ikke tilgængelige på Motorola T720 GSM/J2ME mobiltelefonen (som kun har MIDP 1.0 funktioner). Et program kan udføre inden for en emulator, men kan ikke eksekvere på mobiltelefonen.
Løsningen er at søge efter MIDP 2.0 funktioner i kildekoden og erstatte dem med MIDP 1.0 funktioner, eller fjerne funktioner, der kræver MIDP 2.0 funktioner.
Årsag # 2
Den "manifest.mf" fil bruges til at skabe de *.jar fil (via "jar" utility) indeholder fejl.
Sørg for, at "manifest.mf" fil har følgende versioner af CLDC og MIDP:
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
Hele "manifest.mf" fil bør se næsten nøjagtig som følgende:
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
Hver linje i teksten i "manifest.mf" fil, herunder det sidste linje i filen, bør ende med en "carraige vende tilbage" (CR; 13; 0x0d) tegn efterfulgt af et "linjeskift" (LF; 10; 0x0a) karakter.
De eneste områder af "manifest.mf" filen i din egen version af den fil, der skal adskille sig fra det viste eksempel er de første tre områder er anført i eksemplet. Den endelige tre områder bør være en eksakt overensstemmelse med det eksempel, og de sidste to bogstaver af filen bør være "vognretur og linjeskift" efter sidste felt.
Her er eventuelle problemer i din version af "manifest.mf" fil:
(1) Din "manifest.mf" filen indeholder tegn, der ikke ASCII tegn; (Se på et diagram af ASCII tegn; enhver karakter uden for de 0 til 127 vifte er ugyldig);
(2) Din "manifest.mf" fil har ikke et "linjeskift" (LF) karakter efter hver "transport vende tilbage" (CR) karakter i slutningen af hver linje;
(3) Din "manifest.mf" fil er usynlige rum eller faner i slutningen af hver linje før (CR)(LF) linje ophør;
(4) Din "manifest.mf" fil indeholder en "Manifest-Version:" linje;
(5) Den sidste linje i din "manifest.mf" filen ikke ender med en (CR)(LF) linje afslutning, men i stedet blot når frem til slutningen af filen;
(6) Din "manifest.mf" filen ikke har det nøjagtige områder og nøjagtige rækkefølge af felter som vist i eksemplet ovenfor;
(7) Din CLDC version er ikke ligefrem 1.0, eller din MIDP version er ikke ligefrem 1.0;
(8) Din forhandler navn er tegn, som ikke er ASCII tegn (f.eks, ikke Unicode-tegn er tilladt);
(9) Din "manifest.mf" filen ikke har et mellemrum efter det andet komma i "MIDlet-1:" linje;
Måske nogle af de tilfælde, der er anført ovenfor faktisk ikke give problemer for mange mobiltelefoner, men at eliminere alle de tilfælde, der er anført ovenfor kan gøre det muligt at hente til at lykkes. Når overførslen er vellykket, kan du eksperimentere med varianter af "manifest.mf" fil for at finde ud af, hvad andre ting du kan gøre uden at forårsage download fejl. Når "manifest.mf" fil er ændret, er det vigtigt at kontrollere at downloade programmet fortsætter med at arbejde for alle mål mobiltelefoner og mobiltelefon tjenesteydere. Nogle telefoner og tjenester er mindre fleksible end andre.
Når en "manifest.mf" fil føjes til en *.jar fil via jar program, de jar program opretter en ny version af manifestfilen inden for *.jar fil. De genererede version af manifestfilen inden for *.jar filen er opkaldt "MANIFEST.MF". Den jar program kan tilføje felter til denne fil, som ikke eksisterer i "manifest.mf" fil, som programmør. Må ikke udtrække en "MANIFEST.MF" fil fra en *.jar fil, medmindre du er parat til at eliminere nogle felter og foretage de resterende felter se ud nøjagtig som i eksemplet "manifest.mf" fil vist ovenfor.
9.1.3 "Unsupported Content Type"
Årsag # 1
Mobiltelefonen kan ikke acceptere MIME type indberettes af den eksterne server for en specifik fil.
For eksempel, JPG billedfiler der ikke understøttes af Motorola T720 og vil forårsage denne fejl.
Denne fejl kan også opstå, hvis MIME type til en understøttet filtype (f.eks GIF, MID, JAD, JAR) er ikke rapporteret korrekt af serveren. En person skal være meget omhyggelig med at rapportere den nøjagtige MIME type for de understøttede filtyper.
Årsag # 2
Filen cache på mobiltelefonen selv skal belyses (f.eks Browser Settings -> Clear Cache).
Hvis du for nylig tilføjet MIME typer til en ekstern server, og derefter forsøgte at downloade en fil, der tidligere havde undladt at installere på grund af en forkert eller manglende MIME type, derefter filen cache på mobiltelefonen kan blive en hindring for at downloade filen igen med den korrekte MIME type.
Det er også muligt, at den eksterne fil blev ændret, og at den cachede version er defekt og forhindrer den reparerede fil version fra at blive hentet som erstatning.
Rydning af cache i browseren på mobiltelefonen bør sikre, at en efterfølgende hente fordelene fra den nyeste server konfiguration (f.eks nye MIME indstillinger) og fjern fil opdateringer.
Årsag # 3
Hvordan man undgår "Unsupported Content type" fejl i WAP
Hvis du får en fejl i WAP siger Unsupported Content type, er det ikke nødvendigvis på grund af indholdet-type indstilling. Mange WAP sider indeholder specialtegn, såsom svenske (å ö ä), og for at få dem til at vise korrekt, skal du angive hvilket tegnsæt du bruger. For at angive, hvilke tegnsæt er anvendt på en WAP side, kan du ændre Content-Type header på serveren svar til også at omfatte de tegnsæt, f.eks "Content-Type: text/vnd.wap.wml; iso-8859-1". Når en bruger får svar fra en server, burde den have alle de nødvendige oplysninger for at vise indholdet korrekt.
Men der er et problem med at bruge denne fremgangsmåde. Alle telefoner over for gateway, som tegnsæt de støtter ved hjælp "Accept-Charset" i anmodningen header. Ifølge HTML specifikationer, skal dette i forhold til det tegnsæt angivet på en server svar, og hvis de ikke stemmer overens, fejlen Unsupported Content type bør genereres.
At gøre problemet mere kompliceret, nogle WAP gateways bekymrer sig ikke om at sammenligne de tegnsæt understøttes af den ønskede enhed og dermed indholdet vil ikke vises korrekt på disse enheder. En anden komplikation er, at strengen med angivelse af tegnsæt er små bogstaver, men nogle WAP gateways behandle dem som små bogstaver i strenge.
Alle sammen, vil der være meget forskellige resultater afhængigt af, hvilken enhed du bruger, som WAP gateway, du bruger, og hvad serveren svar er.
Den eneste måde at være sikker på, at dit indhold vil blive vist korrekt er for altid at kontrollere, hvad tegnsæt er accepteret af kunden og omdanne din reaktion på, at tegnsæt, før du sender den.
9.1.4 "406: Not Acceptable" ("The server cannot generate a response that your client can accept.")
Årsag # 1
Du har en Verizon telefonen!
Verizon ikke tillader sine kunder at hente billeder (GIF), ringetoner (MIDI), eller programmer, fra vilkårlig Internet web-servere. Man skal enten bruge deres "Get It Now" service, eller brug en USB kabel og "Get Around 'Get It Now' (GAGIN)" software.
Løsning: Bare vent til konkurrencen på "det" frie marked at fjerne "lukkede platforme." Hele teknologi kan være forældet på tidspunktet dette lykkes, men det er hvad der sker, når virksomheder er styret af grådighed alene.
Årsag # 2
Den fejlmeddelelse angiver, at MIME type forbindelse med filtypenavn (f.eks .gif, .mid, .jar) af filen er downloadet er ikke blevet specificeret af Internet webserver.
Hvis du har en Apache Internet web-server, for eksempel, skal du ændre en ".htaccess" fil, at tilføje følgende linjer:
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"
Årsag # 1
Serveren er vært for filen er downloadet ikke specificere MIME skrive til filen (f.eks GIF, MID, JAR). Således mobiltelefonen antager, at filen er almindelig tekst. Også, mobiltelefonen kan have en grænse for størrelsen (i byte), i tekstfiler, der er mindre end den grænse på størrelse (i bytes) af binære filer (f.eks GIF, MID, JAR). Derfor er en binær fil fortolkes som en tekstfil kan forventes at overstige den maksimalt tilladte størrelse på en tekstfil, og vil dermed forårsage fejl.
Hvis du har en Apache Internet web-server, for eksempel, skal du ændre en ".htaccess" fil, at tilføje følgende linjer:
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar
AddType text/vnd.wap.wml wml
AddType audio/midi mid
Årsag # 2
Tilsyneladende denne fejl kan også opstå, selv om den eksterne server har den korrekte MIME typer etableret. Jeg har endnu ikke fastlagt, da denne fejl opstår, i stedet for "Download Failed" for denne situation.
Åbenbart, at Motorola T720 GSM/J2ME mobiltelefonen kan ikke behandle et aspekt af den HTTP 1.1 specifikation, der gør det muligt for de filer, der skal brydes i at fragmenter, der kræver flere "GET" anmodninger.
Når du bruger Motorola T720 GSM/J2ME mobiltelefonen til at hente filer fra visse Internet web server typer, en hvilken som helst fil (f.eks HTML, JAD, JAR, MID, GIF), som er større end 1644 bytes vil forårsage denne fejl. Her er en kort liste over Internet web hosting udbydere og uanset om Internet web hosting provider skaber et problem for de Motorola T720 GSM/J2ME mobiltelefon:
Host / Server Error
=================================================== =================
Apache No
Microsoft Personal Web Server (direct from your PC) No
Earthlink (Apache) No
Yahoo! (custom server type) Yes
Problemet skyldes, at firmwaren i Motorola T720 GSM/J2ME mobiltelefonen, som påvirker dets evne til at hente filer i fragmenter.
Det eneste synlige løsning, når du henter til Motorola T720 GSM/J2ME mobiltelefonen, er at undgå visse Internet web hosting server typer. De fleste andre mobiltelefon typer ikke har dette problem, og så dette problem kan nu trygt ignoreres.
9.1.6 "Connection unsuccessful. Try again later."
Årsag # 1
Denne fejl har intet at gøre med internet-server, der er vært for den ønskede fil.
Hvis du får denne fejl, jeg foreslår, at du gøre følgende ting:
(1) Ryd browserens cache;
(2) Ryd browserens historie;
(3) Sluk telefonen;
(4) Fjern batteriet;
(5) Vent et par sekunder;
(6) Sæt batteriet tilbage til telefonen;
(7) Power af telefonen;
(8) Prøv at downloade dem igen;
Jeg modtog den "Connection unsuccessful. Try again later. fejlmeddelelse i flere dage efter jeg først købt en mobiltelefon. Derefter, ved tilfældig chance, jeg fjernet batteriet. Da jeg satte batteriet tilbage til mobiltelefonen, jeg umiddelbart havde adgang til internettet.
Jeg fik denne fejl flere gange i løbet af de efterfølgende seks måneder, og proceduren ovenfor har genetableret adgang til internettet, hver gang. Jeg har ikke afgøre, hvilke trin i proceduren kan være det vigtigste, men jeg tror simpelthen at fjerne batteriet og sætte batteriet tilbage i at mobiltelefonen kan være tilstrækkelig.
Efter min mening er denne fejlmeddelelse er for vag. Hvorfor blev forsøget på at forbinde forgæves? Blev mobiltelefonen servicenet for travlt? Blev mobiltelefonen service's "Gateway-serveren" ikke fungerer? Er min mobiltelefon ikke modtage eller sende nok radio signalstyrke? Når ville være et godt tidspunkt at forsøge at hente igen? Ti sekunder fra nu? En time fra nu? En uge fra nu? Fejlmeddelelsen ville være mere nyttigt, hvis det var mere konkret om årsagen til problemet, og hvis det var mere konkret omkring en mulig løsning.
Årsag # 2
Hvis du har en "Master Reset", eller hvis du aldrig har været i stand til at få adgang til internettet, og derefter kontrollere netværksindstillingerne på mobiltelefonen. For et eksempel på netværksindstillinger (for Motorola T720 GSM/J2ME mobiltelefonen, for AT&T forkyndelse i Los Angeles, California område), se afsnittet angivet af følgende link:
10. Oprettelse, der tilbyder, og at downloade "ringetoner"
10.1 Oprette eller erhverve en MIDI fil (*.mid)
Du kan oprette eller erhverve en MIDI lydfil (*.mid) fra enhver kilde. Jeg fandt tema musik til tv viser "Knight Rider" (1982-1986) i MIDI format (f.eks "knightrider.mid") ved en simpel søgning på internettet.
Følgende billede giver dig en idé om, hvordan en MIDI fil vises i en MIDI editor. Det er ikke nødvendigt at have en MIDI editor til at få musik til telefonen. Du kan få en eksisterende MIDI fil (*.mid) fra enhver kilde. Men du kan også bruge en MIDI redaktør af dit valg for at oprette din egen originale polyfoniske musik.

Cakewalk Home Studio: leger "knightrider.mid"
10.2 Sikre, at din Internet web-server kender MIDI MIME type
Hvis du har en Apache Internet web-server, for eksempel, skal du ændre en ".htaccess" fil, at tilføje følgende linjer:
Den ".htaccess" fil vil angive eller tilsidesætte MIME typer angivet af serveren for filer af forskellige typer (typisk angivet med filtypenavne, såsom .MID, .GIF, .JAR).
Hvis du allerede har tilføjet andre MIME former for andre filtyper, din komplette ".htaccess" fil kunne ligne følgende tekst:
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar
AddType text/vnd.wap.wml wml
AddType audio/midi mid
Tilsyneladende, at oprette eller ændre denne fil resulterer i en øjeblikkelig ændring af Apache server problem. Jeg gætte Apache server kontrol ændring dato og tidspunkt for ".htaccess" fil på hvert nyt indgående transaktion, og serveren genladninger denne fil, hvis ændringen dato og tidspunkt har ændret sig.
Hvis du har en anden form for Internet web-server, skal du bestemme, hvordan du kan angive MIME typer, og du skal sikre, at *.jar filer og *.jad filer er tildelt passende MIME typer.
Du vil vide, om de MIME typer er ikke blevet oprettet, hvis mobiltelefonen nægter at hente din *.jad fil og rapporter følgende fejl:
"406: Not Acceptable"
10.3 Sæt MIDI fil (*.mid) på din Internet web-server
Jeg har kopieret en MIDI fil med navnet "kr.mid" til rodmappen på mit Internet webserver. Du kan bruge software som "Filezilla" at gøre FTP overførsel enkel og praktisk.
10.4 Hent den MIDI filen til din mobiltelefon via telefonen service's Internet service
For Motorola T720 GSM/J2ME mobiltelefonen, henter et MIDI fil begynder med "WebAccess" menuen. Valg "Go To URL", efterfulgt af at skrive URL af MIDI fil, starter den download. For eksempel, jeg har skrevet i det følgende URL:
http://www.colinfahey.com/kr.mid
Hvis overførslen er vellykket, og hvis du bruger en Motorola T720 cellular phone, vil du få mulighed for at opbevare filen på din mobiltelefon. Når du beslutter dig for at gemme den fil, du får mulighed for blot at opbevare i dit sæt af ringetoner eller i stedet indstilling til, at filen bliver den nuværende ringetone (der også, som en bivirkning af butikker i dit sæt af ringetoner) .
Følgende billeder opsummere processen med at hente og spille MIDI filer for Motorola T720 GSM/J2ME mobiltelefonen. Andre J2ME aktiveret mobiltelefoner, med andre mobiltelefonen tjenesteydere, som formodes at have lignende hente procedure. Hvis din mobiltelefon tjenesteyderen er Verizon, så du er ude af lykken; intet af dette arbejde, og du bør gå ud og købe en "Android" telefonen til at hjælpe med at ødelægge "den" lukkede "telefon" marked!
(1) Main skærmen: Tryk på den relevante knap for at vise hovedmenuen.
(2) Main Menu: Gå til "WebAccess" punkt på dagsordenen.
(3) WebAccess: Gå til "Go to URL" punkt på dagsordenen.
(4) Enter URL: Type i URL af en MIDI fil (*.mid) på en hjemmeside på internettet.
(5) Connecting: Vent på download for at begynde. (Hvis du har modtaget den "406: Not Acceptable" fejlmeddelelse, derefter Internet web-serveren ikke tildele en passende MIME type for MIDI filer (*.mid)).)
(6) Downloading: Vent til downloading til slut.
(7) Download Complete: Vent til dette skærmbillede til at forsvinde.
(8) MIDI Playback: Den MIDI fil starter afspilningen straks. Tryk på Menu-knappen for at gå til Tone Menu, og fortsætte til trin (9), eller tryk på "STORE" knappen og gå til trin (12).
(9) Tone Menu: Du har mulighed for at spille ...
(10) Tone Menu: Du har mulighed for at få detaljer.
(11) Details: Her ser vi den størrelse i byte.
(12) Store Options: Fra skridt (8) vi kan trykke den "STORE" knappen for at komme til denne menu. Du har mulighed for lagring til telefonen's samling af sange. Hit "SELECT" til at gemme.
(13) Stored: Den MIDI melodi har været oplagret.
(14) Total Bytes Transferred: Det er simpelthen en anmeldelse af det antal bytes downloadet, så du er ikke overrasket over din kommende mobiltelefon service regningen!
10.5 Spil MIDI fil til enhver tid på mobiltelefonen
Du kan spille de lagrede MIDI filer til enhver tid på din mobiltelefon, og du kan bruge et hvilket som helst MIDI registreret som din ring lyd.
(1) Main skærmen: Tryk på den relevante knap for at gå til hovedmenuen.
(2) Main Menu: Gå til "Media Center".
(3) Media Center: Gå til "My Tones".
(4) My Tones: Fremhævede tone begynder at spille det samme. Du kan ændre navnet med "EDIT" mulighed. At trykke på menu-knappen giver dig andre muligheder.
10.6 Sæt ring stil at bruge en MIDI fil
Gå gennem følgende menuskærme:
(1) hovedskærmen
(2) Main Menu
(3) Ring Styles: Tryk "SELECT"
(4) [Silent, Soft, Loud] Detail: Tryk "CHANGE"
(5) Calls: [current ring style/tune]: Tryk "CHANGE"
Rul selv om listen over ring stilarter (lydløs, vibrationer stilarter, permanent ring melodier, etc), og i bunden vil du se dine downloadede sange. Tryk blot på "SELECT" knappen for at gøre din nye ring tune aktive!
11. Skabe, tilbyde, og overførsel af billeder
11.1 Opret en 120 * 160 GIF billedfil (*.gif)
Følgende trin kan bruges til at skabe en 120 * 160 GIF billedfil (*.gif) egnet til visning på Motorola T720 GSM/J2ME mobiltelefonen, enten som et baggrundsbillede til hovedskærmen, eller som et billede i billede galleriet.
(1) Open enhver billedfil med Microsoft Paint eller Adobe Photoshop eller enhver anden egnet billedredigeringsprogram software;
(2) Scale eller beskære billedet til 120 pixel i bredden og 160 pixels højt (dvs. en 120 * 160 pixel image);
(3) Gem filen i en GIF image format (*.gif); (Inden Adobe Photoshop den måde at gøre dette på er: File -> Export -> Gif89a)
Billedet filen skal være i GIF billede filformat, så de Motorola T720 mobiltelefon er i stand til at afkode og vise billedet. Hvis billedet dimensioner er nøjagtigt 120 * 160, så billedet vil passe perfekt på skærmen af Motorola T720 mobiltelefonen, ellers billedet vil have blank grænser på to sider.
Bemærk: I held hentes og vises en *.gif billedfil, som blev 118 * 120 pixels, der er mindre end skærmstørrelse 120 * 160. Jeg tror, at den resterende del af skærmen er fyldt med en farve vælges fra grænsen af billedet. Måske pixel farve af pixel i øverste venstre hjørne af billedet er anvendt som farve til den tomme grænser omkring to sider af billedet.
Den Motorola T720 mobiltelefonen kan vise 4.096 farver, som jeg mener er kodet som 12-bit RGB (4-4-4). Derfor synes jeg, at billeder med små farveovergange at span store områder bør undgås, fordi grænserne for disse stigninger vil være meget tydelige og distraherende at en person ser på billedet. Også, at GIF format er begrænset til kun 256 forskellige farver, så en person skal være klar over denne begrænsning også. Under alle omstændigheder er det altid bedst at bare se på et billede på mobiltelefonen til at vide, om ikke billedet er egnet til mobiltelefonen.

Space Invaders (Space Invaders): en 120 * 160 GIF image
11.2 Sæt GIF billedfil (*.gif) på din Internet web-server
Jeg har kopieret en GIF fil med navnet "si.mid" til rodmappen på mit Internet webserver. Du kan bruge software som "Filezilla" at gøre FTP overførsel enkel og praktisk.
11.3 Hent den GIF filen til din mobiltelefon via telefonen service's Internet service
For Motorola T720 GSM/J2ME mobiltelefonen, henter et GIF billedfil begynder med "WebAccess" menuen. Valg "Go To URL", efterfulgt af at skrive URL af GIF fil, starter den download. For eksempel, jeg har skrevet i det følgende URL:
http://www.colinfahey.com/si.gif
Hvis overførslen er vellykket, og hvis du bruger en Motorola T720 cellular phone, vil du få mulighed for at opbevare filen på din mobiltelefon. Når du beslutter dig for at gemme den fil, du får mulighed for blot at opbevare i dit sæt af billeder eller i stedet at fastsætte den fil, der skal være den aktuelle baggrund (dvs. "tapet)."
Følgende billeder opsummere processen med at downloade GIF billedfiler til Motorola T720 GSM/J2ME mobiltelefonen. Andre J2ME aktiveret mobiltelefoner, med andre mobiltelefonen tjenesteydere, som formodes at have lignende hente procedure. Hvis din mobiltelefon tjenesteyderen er Verizon, så du er ude af lykken; intet af dette arbejde, og du bør gå ud og købe en "Android" telefonen til at hjælpe med at ødelægge "den" lukkede "telefon" marked!
(1) WebAccess: Gå til "Go to URL" punkt på dagsordenen.
(2) Enter URL: Type i URL af en GIF billedfil (*.gif) på en hjemmeside på internettet.
(3) Connecting: Vent på download for at begynde. (Hvis du har modtaget den "406: Not Acceptable" fejlmeddelelse, derefter Internet web-serveren ikke tildele en passende MIME type for GIF billedfiler (*.gif)).)
(4) Preview af hentet billede, med mulighed for at "STORE" (store) billedet i hukommelsen på det trådløse telefon;
(5) Store Options: Den GIF billede kan simpelthen blive gemt, eller det kan bruges til at erstatte det nuværende "tapet" (baggrund af de vigtigste skærmen), eller det kan bruges som "pauseskærm" (dvs. et billede, som vises, når mobiltelefonen knapper er ikke blevet presset på for en bestemt tid).
(6) Changed: Wallpaper [image name]: Dette er blot en anmeldelse, at det "baggrundsbillede" er blevet ændret.
(7) Fremkomsten af de vigtigste skærmen på mobiltelefonen efter "tapet" (dvs. baggrunden) image er blevet ændret. "Space Invaders" har erobret min mobiltelefon!
11.4 Animerede GIF billede til brug som "en" pauseskærm på mobiltelefonen
Du kan hente en animeret GIF image bruge som "pauseskærm" billede på din mobiltelefon, skal du blot følge vejledningen i forrige afsnit af dette dokument for at forberede og henter et billede.
Hvis GIF billede er en animeret GIF, så "pauseskærmen" vil vise denne animation.
Blot indstille billede som "pauseskærm" billede efter billede er blevet hentet.
Følgende animerede GIF billede kan bruges som en animeret "pauseskærm" billede på Motorola T720 GSM/J2ME mobiltelefonen.

En animeret GIF billede, der kan bruges som en animeret "pauseskærm" billede på Motorola T720 GSM/J2ME mobiltelefonen.
Desværre er Motorola T720 mobiltelefonen ikke animere "baggrundsbillede." Det ville have været meget fantastisk at åbne mobiltelefonen og se en animeret baggrund på hovedskærmen! :^(
Du vil kun se en animeret GIF vises på Motorola T720 mobiltelefon, når telefonen skifter "pauseskærmen" tilstand, som kan kræve, 30 sekunder eller mere for at starte. (Du kan indstille denne forsinkelse i en af menuerne.) Skærmen belysning er sandsynligt, at slukke, før pauseskærmen vises. "Pauseskærmen" vises ikke under et aktivt opkald. Derfor overvejer alle disse fakta, "pauseskærmen" træk ved Motorola T720 mobiltelefonen er lidt halt.
12. Motorola T720 GSM/J2ME mobiltelefonen indstillingerne for AT&T mobiltelefonen nettet
12.1 Indledning
Dette afsnit af dette dokument er usandsynligt, at de kan være nyttige for nogen, fordi dette afsnit beskrives indstillingerne for en meget specifik mobiltelefon (Motorola T720 GSM/J2ME) for en meget specifik mobiltelefon tjenesteudbyder (AT&T) for en meget specifik region (Southern California). Men jeg medtage disse oplysninger i historisk interesse.
12.2 Web Sessions indstillinger
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)
Også er der en DNS indstilling for Java programmer:
Main Menu
Settings
Java Tools
DNS IP: 10.250.1.10
12.3 Kommentarer
(1) vi kan få en "master reset" vil indstille WAP Port numre til "9201," så disse skal ændres til "9203."
(2) Det sekundære WAP IP and Port er indstillet til samme IP og havn som det primære WAP indstillinger. Jeg var i stand til at bruge "mMode" (dvs. gå til enhver URL) med en helt blank sekundære WAP indstilling, men jeg havde "Line Type 1: Modem" på daværende tidspunkt. Jeg ved ikke, om indstillingen til "ISDN" gør det mere sandsynligt, at den sekundære WAP indstillinger vil blive anvendt.
(3) A "Nulstil" gør "Timeout:" område "15 minutes". Ændre værdien til "2 minutes".
(4) Den "Name:", "Homepage:", og "GPRS APN:" felter alle involvere indtaste bogstaver og symboler manuelt.
(5) De felter, der er vist tomme i eksemplet ovenfor, er egentlig beregnet for ikke at have nogen tekst indtastet. Statister er ikke tilfældig.
13. Links til andre mobiltelefonen ressourcer
13.1 Motorola J2ME SDK 3.0
Motorola har et Software Development Kit SDK, der omfatter en emulator i stand til at efterligne mange Motorola telefoner, herunder T720. Du kan få denne SDK gratis, og du
behøver ikke CodeWarrior at bruge telefonen emulator inkluderet i SDK, trods al omtale af CodeWarrior om Motorola hjemmeside. Også i almindelighed Jeg tror, kan du klare dig uden CodeWarrior eller Motorola SDK selvom du gør faglig udvikling for T720.
Du skal registrere hos Motorola til selv lære om deres J2ME SDK, endsige hente den.
http://kb.motorola.metrowerks.com/motorola/developmentTools.do
Der er nogle funktioner til afspilning af "Compact MIDI" og endda "*.wav" filer. Installere og læs dokumentationen for at få flere detaljer.
Her er en kommentar, jeg modtog i en e-mail:
Den Motorola J2ME SDK giver dig (blandt andet) "skind til" emulator, så den vil emulator til at ligne den telefon, du programmeringen for. Det er mere end kosmetisk. Skærmens størrelse kan variere for eksempel, så hvis du designe noget, hvor skærmstørrelsen spørgsmål, er det afgjort bidrager til at have en emulator, der matcher målet. Den SDK også indeholder nogle Motorola skabt åbne Java klasser kaldes Lightweight Windowing Toolkit at give dig noget af det, skal du oprette en ansøgning med en reel UI - forskellige UI widgets.
Kan du klare dig uden det, men hvis du var i gang med seriøse arbejde du sandsynligvis vil have det. Hvis jeg var at skabe ting for Sony Ericsson eller Nokia eller enhver anden telefon, jeg ønsker, at deres SDKs også.
Her er et citat fra Motorola's websted om deres SDK:
Den Motorola Software Development Kit (SDK) for J2ME™ platform er et værktøj, der anvendes til at udvikle og afprøve programmer skrevet i Java programmeringssprog. Den SDK omfatter programmer, som gør det let at lancere MIDlets (J2ME™ Programs) bruger Motorola J2ME™ enhed emulator. Sammen disse værktøjer giver dig mulighed for at udvikle og debug din J2ME™ programmer i emulering, før du kan downloade dem til en målenhed. Den Motorola SDK kan integreres i Metrowerks' CodeWarrior™ Wireless Studio, Professional Edition, Version 7.
Denne version af SDK omfatter en lang række forbedringer af ydelse og stabilitet. Alle af funktionaliteten af den tidligere version er støttet med disse nye funktioner:
Nye håndsæt understøttes af denne version: A830.
Ny funktionalitet understøttes af denne version:
A830 - Gaming API, Serial Port Connectivity, HTTPS protokol støtte.
All devices - Bedre grafik ydeevne
Den SDK understøtter følgende udstyr:
*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
En af mine venner tilsyneladende ikke havde noget problem at downloade og bruge dette toolkit - som tilsyneladende giver dig alt, hvad du har brug for (JDK, MIDP, CLDC) og ekstra værktøjer til at gøre JAD osv. Jeg har ikke prøvet det selv. Her er andre kommentarer om dette toolkit:
Citat fra en Slashdot udstationering:
Du kunne have sparet dig selv nogle problemfri installation af alle de forskellige værktøjer. Bare download [sun.com] Sun ONE Studio 4 update 1, Mobile Edition, sin helt gratis (som i øl), og er en stor integreret udviklingsmiljø (ca. 20 MB download). Alle de værktøjer, emulatorer og demoer fra artiklen er bundtet. Siden sidste uge jeg kører den i henhold RH Linux 7.2 med 512mb for ram (YOU NEED LOTS OF RAM!!!).
Fandt lige et minut [sun.com] fra skipping den regestration skærmen for at styrke gennem ormen spil i debugger (Jeg altid elske spillet ormen / slange / nibbles i alle dets inkarnationer, og den demo-version forudsat er smukt programmeret - enkle, men objekt-orienteret og multi-threaded i en lille mængde kode).
Du skal registrere dig for at downloade. Understøttede platforme: Linux, Windows, Solaris.
Citat fra en Slashdot udstationering:
Fra sun hente faq [sun.com]:
"På grund af den måde vores download-service håndterer session forvaltning, kan du ikke genoptage delvise downloads ved at klikke på linket igen i browservinduet. Snarere ved at åbne download manager program, du bruger, og genoptage processen fra download manager selv.
Vi fortsætte med at arbejde med vores ingeniører til at aktivere understøttelse for mere download driftsledere på flere platforme. For dog allerede nu, skal du slukke alle andre download driftsledere og forsyningsselskaber, hvis du har download problemer."
Downloade store filer fra sun under linux har været virkelig svært for omkring et år nu. Den eneste download manager indtil for nylig havde jeg været i stand til at komme til arbejde blev DAP under windows (advarsel: Spyware). Dybest mest download driftsledere (prozgui, getright, opera) ikke vil være i stand til at håndtere Sun's [insincerity]. Latterligt i stedet for at fastsætte deres hjemmeside til lidt arbejde, Sun har skrevet deres egen download manager [sun.com]. Sine skriftlige i java, og dens eneste lillebitte 140KB! Det overraskende er, at dette er en virkelig fremragende download manager, lille fodaftryk, ikke browserkapring, ingen adware / spyware, arbejder under nogen OS, automatisk fil kontrol, automatisk unzips, og solid som en klippe
13.3 Random forum udstationering:
Den Jad og Jar filer er de eneste filer er nødvendige for at køre et program på en telefon og, afhængigt af telefonen og den metode, du overfører det app til telefonen, kan du kun har brug for jar.
Hvis ansøgningerne skal sendes Over the Air (OTA), dvs via en web URL, skal du oprette et link på en side læses af telefonen (f.eks wml, cHtml, cHtml) til JAD fil. For OTA downloads skal du også oprette din webserver til at håndtere jar og jad filtyper. I apache skal du tilføje følgende linjer til httpd.conf fil:
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar
Også, skal du sørge for, at URL for jar fil er URL for JAR filen på serveren, ikke den lokale URL
Hvis du derimod ønsker at overføre via IR, Bluetooth eller et kabel du behøver kun at overføre filer til telefonen, installere og køre. Den JAD fil er generelt bruges specifikt til at give telefonen oplysninger, der er nødvendige for OTA downloads og som sådant, Nokia 7650 og nogle andre modeller behøver du kun at overføre jar fil til ikke-OTA overførsler.
13.4 http://wireless.java.sun.com/midp/questions/sar/
SAR (eller WTP-SAR) står for Segmentation and Reassembly. Det er en valgfri funktion af Wireless Transaction Protocol (WTP) inden WAP. SAR definerer en metode til en WAP gateway til at bryde en lang besked (en JAR fil, du henter, for eksempel) i små stykker (segmenteringen) og for telefonen til at stykke det sammen igen (den igen).
Ikke alle telefoner bruge SAR, men de fleste vil få adgang til web-servere gennem en WAP gateway. Nokia bruger SAR, mens Motorola bruger funktionerne i HTTP 1.1 at hente små dele af en fil, en ad gangen og derefter igen den.
Et problem, der opstår med WAP gateways bekymringer MIME typer returneres af web-serveren. Hvis en bruger anmoder om en JAD eller JAR fil, og serveren returnerer en forkert MIME type, gateway og derefter telefonen vil håndtere overførsel forkert. At sikre en ordentlig downloading af MIDlets, skal du bruge følgende MIME typer:
text/vnd.sun.j2me.app-descriptor jad
application/java-archive jar
13.5 Random forum udstationering
du er nødt til at have korrekte MIME indstillinger på serveren, der gemmer .JAD/.JAR filer. Efter at du er i stand til at hente programmer til enheden. Husk, at: - denne proces er snarere enhed specifikke (ikke nødvendigvis bruger WA protokol) - Du må hellere have absolutte stier til .JAD og .JAR sæt (dvs. http://www.fooserver.com/repository/JoeDoeApp.JAD)
13.6 Random forum udstationering
Mindst i Siemens udstyr, du har en bestemt konfiguration til Java, som er anderledes end for WAP og GPRS. Du kan navigere gennem WAP, men når en midlet er fundet, en anden opsætning automatisk ændret til kontinuerlig download. I M50 handy, er du nødt til at indstille Java profiler i henhold til de parametre for din udbyder; i c55 handy, det samme sæt kaldes "HTTP profile" og det bruges også for andre former for download (f.eks http forbindelser i MIDlet) .
13.7 Diverse interessante links om avancerede MIDlet undertegnelsen stuff
13.8 Meget cool MIDlet programmering indførelsen
13.9 http://wireless.java.sun.com/midp/articles/deploy/
Til at indsætte dit trådløse applikationer fjernadgang:
Upload din ansøgning filer (JAD og JAR) til en ekstern webserver. Hvis dit projekt er opkaldt spil, for eksempel overføre filerne: games.jad og games.jar fra bin mappe i dit projekt hjemmet (for eksempel, <toolkit>/apps/games/bin). Bemærk, at de to filer skal ende i den samme mappe på serveren.
Omkonfigurere webserveren, så det kan registrere JAD og JAR filer:
For JAD filtype, indstille filtypenavn til .jad og MIME type til text/vnd.sun.j2me.app-descriptor.
For JAR filtype, indstille filtypenavn til .jar og MIME type til application/java-archive.
Hvordan du konfigurerer den web-server afhænger af, hvilken en du bruger. For eksempel, hvis du bruger Tomcat, så sørg for din web.xml fil indeholder følgende linjer:
<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>
Skift din JAD filens MIDlet-Jar-URL ejendom at specificere URL af din JAR fil. For eksempel i den kopi af games.jad du har uploadet til serveren, ændrer ...
MIDlet-Jar-URL: games.jar
... til ...
MIDlet-Jar-URL: http://YourWebServerAddress:port/pathTo/games.jar
13.10 Diverse links
13.11 Nokia J2ME program udvikling links
Fra en Nokia site:
Nokia's J2ME gennemførelse består af branchens standard MIDP 1.0 og CLDC 1.0. Platformen er forlænget ved Nokia User Interface (UI) API. Det giver anvendelsen udviklere adgang til visse basale telefonens funktionalitet, der ikke er specificeret af CLDC 1.0 eller MIDP 1.0. Den Nokia UI API giver adgang til enkle lydfunktioner, vibrationer, display belysning, samt nogle grafiske forbedringer.
Fra en e-mail-besked, jeg har modtaget:
Så Nokia synes at være virkelig åbne det telefoner til nogen form for speciel modifikation kan du tænke på. Du kan tilføje vibrationer til java spil, tilføj tegneserie bobler til billeder du tager, og også uploade billeder til din side! Du kan skrive din egen server, og folk kan uploade ting til dig!
Her er nogle cool 7650 links:
13.12 Mobiltelefonen program links
14. J2ME versus BREW
14.1 Indledning
Der er to dominerende software platforme til mobile enheder: J2ME og BREW. Mange mobiltelefon-selskaber har besluttet at tilbyde telefoner med J2ME støtte: AT&T, T-Mobile, og Sprint. Et stort luftfartsselskab har besluttet kun at tilbyde telefoner med BREW støtte: Verizon.
En mobil enhed, der understøtter J2ME kan udføre J2ME programmer, men kan ikke eksekvere BREW programmer. En mobil enhed, der understøtter BREW kan udføre BREW programmer, men kan ikke eksekvere J2ME programmer.
Producenter af mobile enheder ofte tilbyde flere versioner baseret på forskellige trådløse broadcast standarder. For eksempel, Motorola tilbyder to versioner af T720: GSM og CDMA. Tilfældigvis, at GSM version af T720 støtter J2ME programmer, og CDMA version af T720 støtter BREW ansøgninger. Selv om trådløse broadcast krav ikke er teknisk tilknytning til telefon operativsystemer, forholdene på markedet har ført til denne utilsigtet korrelation.
14.2 Mobiltelefonen tjenesteydere beslutte, hvad en kunde kan gøre med en mobiltelefon-enhed
Her er et sammendrag af, hvad mobiltelefonen tjenesteudbydere tillader kunderne at gøre:
[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 tilbyder den bedste kunden og udvikleren adgang til mobiltelefonen udstyr og multimedie-filer på internettet. Åbenbart, AT&T har besluttet at fokusere på de forretningsmæssige af transport bytes via deres netværk i stedet for at forsøge at være beskæftiger sig med salg af multimedieindhold.
Verizon er de mest undertrykkende mobiltelefon udbyder af dem alle. Deres "Get It Now." forretningsmodel, der indebærer kunstigt begrænser kundens brug af deres egen mobiltelefon udstyr til at beskytte med salg af multimedieindhold, har inspireret mange frustrerede kunder til at opsige deres kontrakter med Verizon eller finde måder at omgå "Get It Now." portal. Ligesom biografer og sports-arenaer kan opkræve meget høje priser for fødevarer, fordi kunderne ikke kan nemt få adgang til alternative kilder til fødevarer under disse omstændigheder (dvs. der er mangel på adgang til konkurrence), Verizon kan opkræve meget høje priser for adgang til multimedie-filer og software-programmer, fordi kunderne ikke kan nemt få adgang til alternative kilder til MMS-filer og programmer.
14.3 Binary Runtime Environment for Wireless (BREW)
BREW er "Binary Runtime Environment for Wireless, en proprietær software platform udviklet af QUALCOMM. Hvis du vil vide mere om BREW, skal du besøge følgende websted:
http://www.qualcomm.com/brew
Den SDK kan downloades fra Qualcomm. I 2002 blev SDK kunne bruges til at bygge software ved hjælp Microsoft Visual C++ 6.0, og de programmer kan overføres til en mobiltelefon uden en "test signatur."
Alle telefoner med Verizon kontrakter brug BREW. Alle software, billeder og musik skal overføres gennem Verizon's "Get It Now." portal, og som regel indebærer at betale gebyrer ud over de netværksbåndbredden omkostninger.
14.4 Java 2 Platform, Micro Edition (J2ME)
J2ME er "Java 2 Platform, Micro Edition", en "stærkt optimeret" Java Runtime Environment. Hvis du vil vide mere om J2ME, skal du besøge følgende websted:
http://java.sun.com/j2me
Du har måske allerede gjort nogle Java programmering. J2ME omfatter mange af den Java klasser anvendes til stationær computer-programmer. Naturligvis, enhver Java klasser, som er ren Java kode, og er ikke afhængige af nogen hardware eller operativsystem funktioner, kan kompileres til at udføre inden for rammerne af enhver Java virtuel maskine.
En person kan oprette tråde, stikkontakter, grafik canvases osv. meget let. En person kun har brug for at hente en *.JAR fil (og muligvis en *.JAD fil) til at installere et program på en mobiltelefon.
Downloade Java SDK
er gratis. Dokumentationen for Java er grundig. Millioner af mennesker har udviklet koden for Java. Der er mange internet fora diskuterer forskellige aspekter af Java programmering.
I blotte minutter for at søge på internettet, jeg har fundet hundredvis af interessante programmer, og billeder, og lydeffekter, alle for Motorola T720 GSM/J2ME mobiltelefonen - og alle filer koster ikke noget at hente.
Jeg er meget glade ved at være i stand til at drage fuld nytte af MMS aspekter af min ejendom (dvs. min mobiltelefon) uden at skulle betale min mobiltelefon tjenesteudbyder for at få noget mere end brugen af deres mobiltelefon-nettet.
14.5 Min BREW og Verizon rædselshistorie
Jeg har lavet software til både J2ME og BREW platforme, og efter min mening, jeg synes begge teknologier har deres fordele og ulemper, og begge er helt i stand til at blive brugt til at skabe avancerede programmer meget let.
Men en virksomhed, som er interesseret i at oprette og sælger software til mobiltelefoner bør starte med at overveje et enkelt spørgsmål: "Hvis jeg udvikler software, vil jeg have lov til at sælge det?"
Hvis en virksomhed udvikler software til J2ME platform, så de fleste mobiltelefonen tjenesteudbydere tillader kunderne at gå til ethvert andet websted og hente alle J2ME software, uden at omkostningerne ud over omkostningerne ved overførsel af bytes via mobiltelefonen nettet. Således er et software udviklings-virksomhed er sikker på at kunne få adgang til potentielle kunder, og kan træffe deres egne ordninger for indsamling af penge fra kunder for enhver software køb.
Hvis en virksomhed udvikler software til BREW platform, så Verizon beslutter, om softwaren ikke vil være til rådighed for salg til kunder. Desuden Verizon vil udtrække en stor procentdel af salgsprisen af software til det privilegium at få lov til at sælge software gennem deres eksklusive portal.
Her er min BREW og Verizon rædselshistorie:
Jeg havde en unik idé til et software-program til mobiltelefoner på et tidspunkt, hvor mobiltelefoner var begyndt at være i stand til at fuldbyrde BREW og J2ME programmer. Jeg var meget glade, fordi jeg troede at jeg kunne oprette og udgive et unikt program for disse platforme længe før nogen konkurrenter ville være klar til at oprette et lignende produkt. Jeg var overbevist om, at jeg endelig kan gøre noget i mit liv, der ville gøre mig rig. Så jeg afslutte mit arbejde og begyndte at arbejde på en BREW version af min software idé. Efter seks måneders hårdt arbejde, og ingen indkomst, jeg var færdig med min BREW program! Jeg var klar til at sende det til Qualcomm for testning.
Det er, når jeg lavet en gruopvækkende opdagelse: Selv om mit program har bestået kvalitetssikring testning, Verizon ville have til at godkende ved salg af min software - og Verizon kunne afvise af min software til en eller anden grund (ud over de indlysende grunde for at være krænkende eller i konkurrence med et andet aspekt af Verizon's business). Jeg simpelthen ikke forestille mig denne mulighed. Alt, hvad jeg læser om BREW udvikling indebar, at den udfordring var at viderebringe kvalitetssikring testning. Intet jeg læste nævnt noget behov for at have software godkendt af mobiltelefonen tjenesteydere. Jeg ville ikke have været overrasket over at erfare, at mobiltelefonen tjenesteudbydere kan vælge at ikke sælge krænkende eller skadelige programmer, men sådanne overvejelser syntes så uvæsentligt for min særlige projekt, at jeg ikke tænke på det mere generelle begreb, at mobiltelefonen tjenesteydere kunne vælge til ikke at sælge ordinære programmer!
En af mine venner, der allerede havde solgt flere video-spil-programmer gennem Verizon, spurgte en Verizon repræsentant hvis Verizon ville godkende min software til salg på deres netværk ... Den Verizon repræsentant sagde: "nej," fordi der var et par andre programmer i at brede genre allerede. Min software var et ordforråd vejleder (med særligt hensyn til SAT og GRE standardiserede tests), men Verizon repræsentant sagde, at ordspil genre var allerede "overfyldt," trods det faktum, at der var færre end 10 ord-relaterede programmer samlet i "Få Det Now." Portal, og de andre programmer var meget forskellige (f.eks crossword puslespil, "Scrabble", "Boggle", etc). Mit program var en teknologisk præstation: Det er lagret definitionerne af 5000 ordforråd ord, sammen med synonymer og antonymer, og ordet betyder grupper (så quiz spørgsmål vil være udfordrende), i et program, der var mindre end 1 MB. Mit program ville have været enestående på markedet i mange måneder, og potentielt for et par år.
Jeg var vred, deprimeret, og finansielt brød. Seks måneders arbejde var spildt, fordi Verizon kun ønskede software, der var nogle til at sælge tusinder af kopier i deres salg portal, og Verizon repræsentant ikke tror min software havde en høj salg potentiale.
Her er den vigtigste lektie lærte jeg fra denne bitre erfaring: Kontrollere alle dele af en forretningsplan, før man begynder at arbejde. (Ideelt set alle dele af forretningsplanen kunne blive testet flere gange, ved selve udførelsen af de forskellige kritiske procedurer, før og under bestræbelserne på at skabe produktet.)
Jeg burde have kontrolleret, om der ville være enhver sandsynlig hindring for at sælge min software, før jeg begyndte at udvikle software. Jeg ville have opdaget, at Verizon kunne vælge at ikke tillade mig at sælge min software.
Jeg har lært en anden lektie: Undgå situationer, hvor andre mennesker har evnen til at afgøre, om du har adgang til kunder!