J2ME ohjelmistokehitystä Matkapuhelimissa
(2002)
Colin Fahey

Motorola T720 kännykkä, näkyy avattu
1. Varoitus
Tämä asiakirja on vanhentunut! Tiedot tässä asiakirjassa olisi ollut voimassa ja hyödyllistä vuonna 2002, mutta monet asiat ovat muuttuneet seuraavina vuosina! Tämä asiakirja on nyt vain pidettävä mielenkiintoinen historiallinen kirjaa vuoden 2002. Älä luottaa mitään tietoja tai neuvoja tässä asiakirjassa. Kaikki tekniset tiedot tässä asiakirjassa on hyvin vanhentunutta.
Ladataan itse luotuja ohjelmistoja, itse luotuja kuvia, ja itse luonut puhelin hälyttämään melodiat (eli "soittoäänet)," oli suhteellisen harvinainen ja vaikea vuonna 2002. Surullista kyllä, kuusi vuotta myöhemmin, noin kännykkä palveluntarjoajat (mukaan lukien Apple, joka tarjoaa yksinomainen ohjelmisto-ja "soittoäänen" portaali on iPhone) vielä asettaa rajoituksia lataamiseksi, kuvia ja musiikkia, koska kännykkä palveluntarjoajien nauttinut erittäin suuria taloudellisia voittoja ohjaamalla tämän tyyppisiä tiedostoja.
Onneksi, matkapuhelimista, kuten näkyy "Android" ohjelmistoalustaa, on ikuisesti loppuun yritysten mahdollisuuksia luoda ja hyödyntää suljetuilla markkinoilla tällaisia käyttötarkoituksia matkapuhelimista. Vaikka kuluttajat mielellään ostettu kännykkä palvelu suunnitelmia, jotka sisälsivät hyvin suuria kustannuksia lataamiseksi, kuvia ja musiikkia, tämä on siksi, että rajallinen määrä kännykkä palvelu vaihtoehdoista.
Talouden dynamiikka, jotka ovat mahdollistaneet eräiden yritysten kasvavan hallitsevat markkinoita ei pidä tulkita epäsuorasti vahva hyväksyntä kuluttajille. Koska yritykset alkavat hallita, ja sitten on vaikeaa tai mahdotonta kilpailijoiden pääsyä markkinoille, hallitsevat yritykset voivat tarjota tuotteet, joita yhdistää suuri positiivinen arvo (esim. kyky kommunikoida mistä tahansa), joilla on suuri negatiivinen arvo (esim. korkeat hinnat on toivottavaa, ohjelmisto, kuvia ja musiikkia, jotka kaikki olisi muutoin vapaasti saatavilla, joten palvelu lisää negatiivinen arvo). N: o kuluttajan on pakko ostaa kännykkä, mutta ei ole epäilystäkään, että hallitseva kännykkä palveluntarjoajien on vähitellen luonut edellytykset, joita ei voida pitää "vapailla markkinoilla." Sen vuoksi kännykkä palvelu markkinoilla on ollut taloudellisesti "tehoton" ja se on ollut kohtuutonta rasitusta kuluttajille.
Toivottavasti vaatimukset, kännykkä palvelun radio-taajuuksia on käytettävissä kilpailevia palveluita palauttaa normaalin markkina-arvojen tietojen siirtoon siten, että kännykkä palveluntarjoajat ovat jälleen alennetaan pelkkä harjoittajien tiedot (eli vain tarjoamalla kaistanleveys) pikemminkin kuin tiedon tai viihteen tarjoajat !
Liiketoiminnan kuljettaa tiedot on erotettava liiketoiminnan myynti tiedot, muuten tulee kannustaa tietojen kuljetus liiketoiminta estää kilpailijoita myymästä kautta samat tiedot kuljetus-kanava.
Video peli konsoli markkinoilla kärsii samasta ongelmasta. Valmistajien videopeli konsoli laitteisto ovat liiketoiminnan luoda laitteita, jotka voivat näyttää video-pelejä, mutta nämä samat yritykset on myös yksinoikeus valvonnan siirtämistä ohjelmiston, jotka video pelikonsolit. Tämän vuoksi on kannustavaa, että videopeli konsoli valmistajat voivat estää kilpailijoiden myynti-ohjelmisto videon pelin konsolit. Jos videopeli konsoli laitteiston valmistajan keskityttiin suunnittelu ja valmistus laitteet, jotka voidaan myydä voittoa (eikä tuottaa merkittävää tappiota, joista on X-Box ja PlayStation ja Nintendo videopeli konsolit), sitten video peli markkinoilla menestyvät, ja laadun parhaat videopelit merkittävästi parantaa, ja kustannukset videopelien romahtaa.
2. Aihe hakemisto
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
3. J2ME kehitystyökaluja
Tässä jaksossa kuvataan, miten voit ladata kehitystyökaluja, joiden avulla voidaan koota J2ME lähde koodi luokan tiedostot soveltuvat mobiililaitteisiin. Huomaa, että Sun "J2ME Wireless Toolkit," käsitellään myöhemmin tämän artikkelin osassa, edellyttää lataamalla Java SDK kuvataan tässä osiossa.
3.1 JDK 1.4 (tai uudempi)
Tämä merkitsee, että sinun tarvitsee tavanomaisen Java 2 SDK alkaen Sun. Olen ladannut ja käytetty versio 1.4 kautta seuraavasta linkistä:
Tässä on mitä lataa sivu näyttää tältä:
Käynnistä asennusohjelma. Install oletussijainnin ( c:\j2sdk1.4.0_03 ) ellet ole pystynyt ratkaisemaan polku ongelmia, joita saattaa syntyä.
3.2 Connected Limited Device Configuration (CLDC)
En aio teeskennellä, että tiedän mitä tämä on, mutta en yksinkertaisesti ladanneet sen, että Sun verkkosivuilla.
Tässä on mitä CLDC tärkeimmät ladata web-sivu näyttää seuraavalta:
Vain 1.0.3 ollut käytettävissä, kun vierailin.
Jotta voit ladata tästä, minun tarvitsi rekisteröityä Sun verkkosivuilla. Olen luonut seuraavanlaisia:
Username: anon***anon
Password: nospamplease
Favorite color: blue
Full name: Prof. Anon Nospamplease
Olen ladannut seuraava tiedosto:
j2me_cldc-1_0_3-fcs-src-b17-winunix-14_sep_2001.zip
I purettu, että seuraavaan kansioon:
Minun nimi "cldc-1_0_3-fcs" hakemiston yksinkertaisesti:
cldc (eli koko polku on c:\j2me\cldc)
3.3 Mobile Information Device Profile (MIDP)
En aio teeskennellä, että tiedän mitä tämä on, mutta olen vain hakenut sitä, että Sun verkkosivuilla.
Tässä mitä MIDP tärkeimmät ladata web-sivu näyttää seuraavalta:
Olen ladannut seuraava tiedosto:
j2me_midp-1_0_3-fcs-src-b26-win-19_sep_2001.zip
I purettu, että seuraavaan kansioon:
Minun nimi "midp-1_0_3-fcs" hakemiston yksinkertaisesti:
midp (eli koko polku on c:\j2me\midp)
3.4 Tehdään työkalut
3.4.1 Perustaa polkuja
Lisää seuraavat rivit AUTOEXEC.BAT tiedosto:
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%
Sitten voimassa näistä muuttujista on ladattu uudelleen suorittamalla eräajotiedosto:
Voit myös perustaa näitä samoja muuttujia käyttäen Windows-ympäristössä muuttuja ohjauspaneelissa.
Huomaan, että olen päättänyt määritellä selvästi Hakemistopolut minun nykyinen versio, joka Java 2 SDK. Siksi, jos päivitän, niin minun täytyy muuttaa AUTOEXEC.BAT tiedosto määrittää uusia hakemistoja.
3.4.2 Tarkista Jave 2 SDK binäärit
Kun edellä mainitut asetukset tulevat voimaan, sinun pitäisi pystyä suorittamaan Java työkalu ohjelmia komentokehotteeseen täsmentämättä täydellinen polku, väline-ohjelmat.
Seuraava komento käynnistää kännykkä laite-emulaattori:
Seuraavassa kuvassa näkyy kännykkä laite-emulaattori:
4. Simple J2ME ohjelma
4.1 Kirjoita Java koodi
Käyttäen mitä tahansa tekstieditorilla, henkilö voi kirjoita koodi, kuten tämän HelloMIDlet.java lähdekooditiedostoa:
Tässä on koodi vain teksti-muodossa:
// 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 Täytä *.java koodi *.class
Varoitus: seuraava komento on oltava yhtenäinen linja, mutta sitä on laajennettu useita riviä tekstiä vain selvyyden vuoksi.
(Current directory: C:\HelloMIDlet)
javac
-target 1.1
-d .\
-bootclasspath c:\j2me\midp\classes
HelloMIDlet.java
Huomautus: "-target 1.1" on tarpeen, jotta vältettäisiin virhe tulevaisuudessa "preverify" vaiheessa. Ilmeisesti tässä on jotain tekemistä sen kanssa ongelmia MIDP 1.0.3 tukea JDK 1.4.
4.3 Preverify luoda uusia *.class tiedosto
(Current directory: C:\HelloMIDlet)
preverify -classpath c:\j2me\midp\classes;. HelloMIDlet
Tämä luo uusia *.class tiedoston uusi nimisen alihakemiston "output" (oletusarvona).
4.4 Testaa uusi *.class tiedosto
(Current directory: C:\HelloMIDlet)
midp -classpath c:\j2me\midp\classes;.\output HelloMIDlet
Tämä käynnistää puhelimen emulaattori, joka osoittaa, että uusi "output" hakemisto sisältää eräitä välttämättömiä *.class tiedostoja.
Seuraavassa kuvassa näkyy toivottua tulosta.
4.5 Luo uusi tekstitiedosto, "manifest.mf", ja muokata tiedoston
A "manifest.mf" tiedosto on tärkeää saada todellinen kännykkä tulkita sisältö on *.jar tiedosto. Jos oikea "manifest.mf" tiedostoa ei kuuluvat *.jar tiedosto, sitten matkapuhelin saattaa onnistuneesti ladata *.jar tiedoston, mutta eivät kykene tulkitsemaan ladattua tiedostoa, mahdollisesti raportoinnin virheen kuten "Unsupported Content Type".
Seuraavassa on esimerkki yksinkertaisesta "manifest.mf" tiedosto.
Tässä on "manifest.mf" tiedosto tekstimuodossa:
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
Huomaa, että CLDC ja MIDP versiot ovat tässä tiedoston. Ole erittäin varovainen ja konservatiivinen muokattaessa eri aloilla tätä tiedostoa. Jos saat "File Corrupt" virheitä, ja yritä sitten poistaa kaikki kentät, jotka eivät ole osoittaneet, tässä esimerkki. Myös laittaa kentät siinä järjestyksessä, jossa ne näkyvät esimerkiksi. Myös lyhentää kunkin kentän arvo niin paljon kuin voit, ja pitää merkkiä pelkäksi kirjaimia, numeroita, pisteitä ja väliviivoja. Jotkin matkapuhelin palvelut sekä matkapuhelimet, voi sietää enemmän vaihtelua alalla tilaus ja kentän sisällöstä.
Varoitus:
Kun "jar" ohjelmaa käytetään luomaan *.jar tiedoston, ja "manifest.mf" tiedosto on määritetty manifest-tiedosto, "jar" ohjelma lukee manifest-tiedosto ja saattaa lisätä kenttiä, sillä se luo tiedoston nimeltä "MANIFEST.MF" on tuotoksen *.jar tiedosto. Näin ollen, jos "MANIFEST.MF" tiedosto on purettu, joka *.jar tiedoston, ja sen jälkeen verrattuna alkuperäiseen "manifest.mf" tiedosto aikana on perustettu *.jar, kaksi tiedostoja voi olla erilainen, ja "MANIFEST.MF"-tiedosto, joka sisältää useita kenttiä kuin alkuperäinen "manifest.mf" tiedosto .
Älä purkaa "MANIFEST.MF" tiedosto on *.jar tiedosto ja yritä muodostaa uudet *.jar tiedoston että manifest-tiedosto. Jos purkaa "MANIFEST.MF" tiedosto on *.jar tiedoston, sitten varmasti poistaa kaikki kentät lukuun ottamatta niitä, jotka näkyvät esimerkiksi "manifest.mf" tiedosto yllä.
Huomaa:
Symbolit ohjelmien ilmeisesti eivät kuulu Motorola T720 puhelimeen. Siksi ei kuvata minun MIDlet kanssa kuvakkeen. Kuitenkin seuraavat osoittaa, kuinka voit asettaa kuvaketta ohjelma on ilmeinen tiedosto:
MIDlet-1: My_Description, /icon.png, HelloMIDlet
Kun kehitysmaiden Matkapuhelimissa, jotka eivät näytä kuvakkeet sovelluksiin, määritä kuvaketta tiedostonnimi, ja lisää kuvake kuvatiedosto itse on *.jar tiedosto määrittämällä tiedoston nimi keskuudessa tiedoston nimet tiedostoja voidaan liittää *.jar tiedosto.
4.6 Laita "manifest.mf" tiedosto ja *.class tiedosto on *.jar tiedosto
Seuraava komento luo *.jar tiedosto. The *.jar tiedosto sisältää tietyn manifest.mf tiedosto ja sisältää *.class tiedostoja löydy määritetystä hakemistosta.
Current directory: C:\HelloMIDlet
jar cfm hi.jar manifest.mf -C .\output HelloMIDlet.class
Complex hypoteettinen esimerkki luoda *.jar tiedosto
Oletetaan kuvake kuvatiedoston (esim. "icon.png") on esitettävä *.jar kuva "/icon.png". (Huom: Ohjelman kuvakkeet eivät näy, että Motorola T720 kännykkä, mutta ne eivät näy muuta kännykkä, ja ne eivät esiinny MIDP emulaattori).
Oletetaan, on hakemiston nimeltä "images" kanssa kuvatiedostot (*.png-muodossa). Oletetaan tämän hakemiston, ja kaikki kuvat sisältyvät hakemistoon, olisi helppo pääsy Java ohjelma suhteellinen hakemisto /images (siten, että kuvan "a.png" olisi helposti käyttämällä polkua "/images/a.png").
Oletetaan, koko *.class tiedostot laatinut preverify komento sisältyvät hakemiston nimeltä "verified". Esimerkiksi todennettujen version tärkein luokka, "MyApp.class", olisi sen "verified" kansioon yhdessä muiden luokkien ohjelmaan. Kaikki nämä luokat on saatavilla root-hakemistossa on *.jar tiedosto.
Seuraava komento luo *.jar-tiedosto, joka saavutetaan eri tavoitteet määritelty edellisissä kohdissa. Varoitus: komento on laajennettu useita riviä tekstiä täällä vain selvyyden vuoksi. Kun kirjoittamalla komento, käsky ei saa sisältää rivinvaihtoja, muuten komennon tulkki tulkitsee kirjoittamasi tekstin useita riippumattomia komennot.
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 .
Viimeinen osa komento on vaikea ymmärtää. Se on seuraava merkitys: "Vaihda nykyinen työ hakemiston .\verified, ja sitten kaikki *.class tiedostot, jotka löytyvät suhteellisen hakemiston '.' (eli kaikki *.class tiedostot nykyisen working directory) periksi *.jar tiedosto." Koska hakemistossa oli muuttunut ennen täsmennetään polku luokkiin esittää, että *.jar tiedosto, paikallinen polku ei näy suhteellinen polku, jos tiedostot on sijoitettu, että *.jar tiedosto.
Oletetaan esimerkiksi, todennettujen luokat ovat seuraavat vaihtoehdot:
C:\MyApp\verified
Oletetaan, on luokan tiedostoja, kuten seuraavat:
C:\MyApp\verified\w.class
Sitten eritellään "-C .\verified ." vuonna komento luoda *.jar tiedosto, alkaen nykyisen hakemiston "C:\MyApp", johtaa "w.class" on otettu root-hakemistossa on *.jar tiedosto. </ e>
Varoitus: Kun "-C" vaihtoehto ei ole määritetty, se muuttaa nykyisen working directory tässä vaiheessa käsittelyn yleistä järjestystä komento parametrit muuttujaan jar komento. Näin ollen jar komento saattaa valittaa, että se ei löydä muita tiedostoja mainittu komento parametrit kuin "-C" vaihtoehto. Jos näin tapahtuu, yksinkertaisesti siirtää "-C .\verified ." olla lopullinen parametrit koko komento.
Seuraavat osoittaa verbose tuotokseksi, jar komento.
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 Luo ja muokkaa uuden *.jad tiedosto
A *.jad tiedosto on välttämätöntä, jotta kännykkä voi kuvata tietokoneohjelman sellaiselle henkilölle ennen kuin henkilö päättää ladata ohjelman. The *.jad tiedosto sisältää myös joitakin välillisen alkaen *.jar itse.

Yksi esimerkki *.jad tiedosto, kuvaavat *.jar tiedosto
Tässä on esimerkki hi.jad tiedoston vain teksti-muodossa:
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
On olemassa ohjelmia, jotka voivat tuottaa *.jad-tiedosto, jonka avulla on helpompi päivittää "MIDlet-Jar-Size:" alalla aina, kun *.jar tiedosto on muuttunut (ja sen koon muutokset). Jos haku Internetistä löydät hyödyllistä J2ME ohjelmia.
Jos koko kenttä ei ole tarkka tavu kokonaismäärästä, *.jar tiedosto, sitten seuraava virhe saattaa näkyä, kun onnistuneen ladata matkapuhelinverkon puhelin: "Download Failed" (lataaminen epäonnistui).
Jotta Motorola T720 kännykkä, näyttöön tulee seuraava virhesanoma voitaisiin käyttää inidcate kelpaa kentistä on *.jad tiedoston, tai mahdollisesti kelpaa kentistä on luotu MANIFEST.MF tiedosto on *.jar tiedosto: "Failed: File Corrupt" (epäonnistui: tiedosto korruptoitunut).
Huomautus: Jos *.jar tiedosto on samassa hakemistossa kuin vastaava *.jad tiedoston Internet-Web-palvelin, niin *.jad tiedosto voi yksinkertaisesti ilmoittaa tiedoston nimi, *.jar tiedosto, täsmentämättä täydellinen URL, kuten seuraava esimerkki:
MIDlet-Jar-URL: hi.jar
Kun lataat nämä tiedostot alkaen Apache Internet-palvelin, joka Motorola T720 kännykkä, on hyväksyttävää, ei sisällä koko URL. Kuitenkin silloin, kun lataat nämä tiedostot on Yahoo! Internet-palvelin, joka Motorola T720 kännykkä, yritetään ladata ei onnistu, ellei täydellinen URL polku, *.jar tiedosto, jotka on määritetty *.jad tiedosto, kuten seuraava esimerkki:
MIDlet-Jar-URL: http://www.colinfahey.com/hi.jar
En tiedä syytä tähän ongelmaan, ja tiedän, että tämä ongelma ei vaikuta muihin matkapuhelimista (tai kännykkä palveluntarjoajat). Ottaa täsmentää koko URL varten *.jar tiedosto on *.jad tiedosto on tietenkin vaikeaa, koska siirtämällä tiedostoja eri paikassa palvelin edellyttää muuttaa tietoja kaikissa *.jad tiedostoja. Kuitenkaan täsmentämättä, koko URL saattaisivat tehdä *.jad entistä luotettavampia tiettyjen matkapuhelimet ja tiettyjen kännykkä palveluntarjoajille.
4.8 Testaa *.jar tiedosto ja *.jad tiedosto suorittamalla ohjelma
Seuraavat teloitetaan luokan esiintyy *.jar tiedoston, joita kuvataan *.jad tiedosto.
(Current directory: C:\HelloMIDlet)
midp -classpath c:\j2me\midp\classes;.\hi.jar -descriptor hi.jad
4.9 Viittaukset J2ME, MIDP, CLDC kehitys
Suuri osa siitä, mitä olen esittänyt täällä löytyy monia muita Internet-sivustoja. Olen kuitenkin korjattu joitakin virheitä löytynyt muita Internet-sivustoja, sekä lisätään puuttuvat tiedot ja esitettävä täydellinen kokemus siitä, että joku yrittää tehdä tätä kamaa. Täällä ovat hyvin informatiivisia linkkejä, jotka auttoivat minua pääset alkuun:
5. Complex J2ME ohjelma
5.1 Johdanto
Yksinkertainen ohjelma esiteltiin edellisessä osassa tämä asiakirja on vain yksi lähdekooditiedostoa, ja ohjelma tekee lähes mitään ja siten ei ole hyvä esimerkki kännykkä ohjelmointi.
Ystäväni Sam Robertson kirjoitti mielenkiintoisen J2ME ohjelma, joka opettaa henkilön pelata korttia pelin "Blackjack" (kutsutaan myös "21"). Pelaaja on esitetty "jälleenmyyjä-korttiin, ja" pelaajan pari korttia ja pelaajan on päätettävä, mitä "tehdä:" pysy, "osuma, kaksois-alas," tai "jakaa."
Tämä ohjelma on kuusi lähdekoodin tiedostoja. Ohjelma vastaa käyttäjä syöttää eikä yksinkertainen piirustus-ja teksti-päivityksiä.
5.2 Lähdekoodi
Napsauta seuraavaa linkkiä päästäksesi lähdekoodia, ja *.jad tiedosto, "manifest.mf" tiedoston, ja erä-tiedoston, kaikki yhdessä kätevässä ZIP tiedosto.
sbj.zip
Lähdekoodi kotelossa, jossa ZIP tiedosto
6090 tavua
MD5: bf3922035b7a4eef24e107d03b7524c9
Uutetta mielivaltaisesti hakemistossa, mutta jos uutetta "c:\" nojalla Windows, seuraavan esimerkin keskustelu on vieläkin lähempänä todellista tilannetta.

Extracting sbj.zip on "c:\" luo hakemiston "c:\sbj"
5.3 Manifest-tiedosto
Tiedosto: "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 Eräajotiedosto rakentaa ohjelma
Seuraavat eräajotiedosto on karkea, mutta se toimii esimerkkinä siitä, miten voit aloittaa kirjallisesti oman eräajotiedosto rakentaa J2ME ohjelmaan. Tämä esimerkki eräajotiedosto ei seuraavasti:
(1) Poista hakemisto sisältää vanhan *.class tiedostot;
(2) Poista hakemisto sisältää vanhan tarkisti *.class tiedostot;
(3) Tee "luokkiin" tuotos hakemisto;
(4) Täytä kaikki *.java lähteistä sisään *.class tiedostoja, joiden tuotosta menee "luokkiin" hakemistoon.
(5) Tee "vahvistettu" tuotos hakemisto;
(6) Preverify kaikki luokat "luokat," sekä esittää todennettujen luokkia "todennettujen" hakemistoon.
(7) Luo *.jar tiedosto, ja lisää mainfest tiedosto ja kaikki luokat "todennettujen" hakemisto;
*(8) Testaa ohjelman kautta preverified luokkia suoraan;
*(9) Testaa ohjelman kautta *.jar ja *.jad tiedostot;
(*... Nämä vaiheet ovat käytössä (kommentoimalla) minun Eräsiirtoja.)

Eräajotiedosto "build_sbj.bat" rakennettaessa ohjelma
Tässä on sama tiedosto ("build_sbj.bat") vain teksti-muodossa:
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 Rakennuksen komentokehotteesta
Tässä on seurausta käynnissä "build_sbj.bat" erän tiedoston komentoriviltä:

Toteuttaa "build_sbj.bat" eräajotiedosto
Huomaa, että varoitukset on "rmdir" ja "del" operaatioiden yksinkertaisesti osoittaa, että mikään ei poista.
Voit nähdä uusia hakemistoja (eli "classes" ja "verified") ja uusi *.jar-tiedosto, joka johtui käynnissä eräajotiedosto:

Lähdekoodi tiedostoja ja uusia syntyy tiedosto
5.6 *.jad tiedosto
Jos haluat asentaa sbj.jar tiedosto, meidän täytyy luoda ja muokata sbj.jad tiedosto on oikea *.jar koko varattuun kenttään:
Tiedosto: 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
Henkilö saattaa olla tarpeen lisätä koko URL on *.jar tiedosto kun *.jad tiedosto on saatettu Internet-sivuilta - mutta sain tietää (jonka kokeilu), että olen voinut välttää mainitsematta koko URL (eli minulla on vain täsmennetty *.jar tiedoston nimi itse). Kuitenkin, että käytössä on täydellinen URL, mutta halusin antaa sinulle mahdollisuuden tietää, mitä olen seurannut.
5.7 Yhteenveto
Ottaa eri lähteistä tiedostoja projekti on yhteinen, ja tässä jaksossa meillä oli raakaöljyn esimerkki rakentaa useita luokkia, jonka jälkeen pakkauksiin ja toteutus.
Ole hyvä ja lue seuraava osa osalta käyttäen Sun Wireless Toolkit, mikä tekee rakennuksen sovelluksia paljon helpompaa.
6. Sun "Wireless Toolkit (version 1.0.4_01)"
6.1 Johdanto
Sun tarjoaa kätevän kehitysympäristö, jolla rakennetaan ja pakkaus J2ME ohjelmat: "Java 2 Platform Micro Edition (J2ME) Wireless Toolkit (version 1.0.4_01)".
(Varoitus: Sinun täytyy ladata Java 2 SDK 1.4 kuvatun aikaisemman osa käyttää tätä työkalupakkiin. Onko tämä nyt, jos sinulla ei vielä ole tämä versio on Java 2 SDK.)
Siirry seuraavaan Internet-sivustolla ja lataa toolkit:
http://java.sun.com/products/j2mewtoolkit/
Varoitus!
Älä klikkaa linkkiä "2.0 Beta 1 English" (tällä hetkellä alkuun latauksia vaihtoehto), jos te teette Motorola T720 kehittäminen - koska tämä versio on hieman MIDP-2.0 tavaraa, ja kiertää tämä voi olla päänsärky.

Älä lataa tämä versio! ("2.0 Beta 1 English")
Olen yrittänyt tätä versiota, ja lopulta sai koodi kokoamaan on paljon sotkuinen asetusten muutoksia, mutta sen jälkeen kaikki voimat Sain turvallisuus poikkeus, kun olen yrittänyt toteuttaa. Älä välitä!
Lataa "1.0.4_01 English" versio. Tässä on mitä lataa sivu näyttää tältä:

The Sun J2ME Wireless Toolkit (version 1.0.4_01) lataussivulle

The Sun J2ME Wireless Toolkit (version 1.0.4_01) FTP sivustoluetteloa
Tämä lataa seuraava tiedosto: "j2me_wireless_toolkit-1_0_4_01-bin-win.exe"
Execute ohjelma asentaa.
6.2 J2ME Wireless Toolkit: käynnistää työkalurivin
Kun Työvälineet on asennettu, voit käynnistää sen, että "Start" (aloitus)-valikko järjestelmä:

Lähtölista työkalurivin ohjelma
Voit myös käyttää MIDP-1.0 asiakirjat kautta "Documentation" erä tässä Start (aloitus)-valikko.

J2ME Wireless Toolkit (version 1.0.4_01) asiakirjat
6.3 J2ME Wireless Toolkit: luoda hankkeeseen ja rakentaa

Työkalurivillä on valmis. Valitse "New Project..." luoda uusi hanke.

New Project: Kirjoita projektin nimi (tulee JAR nimi ja nimen uuden projektin hakemistoon), ja kirjoita MIDlet luokan nimi (luokka peräisin MIDlet lähinnä tärkeimmät luokan hakemuksenne).

Toolbar: Projektissa luotiin. Huomaa, että konsoli kertoo, mihin laittaa *.java lähdetiedostot jne. (esim. "c:\WTK104\apps\sbj\src" jne.)

Klikkaa "Settings..." että työkalurivi hankkeen valikko.
Jättää "MIDlet-Jar-Size" alalla (ja arvo "100" tavua) nyt. Me lopulta aiheuttaa sen, että oikea arvo saa asettaa.

Klikkaa MIDlets välilehden hankkeen asetukset-valintaikkunassa.
Klikkaa vain rivin taulukossa ("MIDlet-1") tuoda esiin ja valitse se. Sitten "Edit" painiketta.

Tyhjennä "Icon" kenttä, jos sinulla ei ole *.png tiedoston laittaa oman *.jar tiedosto.
Voit tehdä tämän seuraavasti:
(1) Project --> Clean: Poistaa kaikki *.class tiedostot;
(2) Build : Rakentaa kaikki *.class tiedostot ja preverifies;
(3) Project --> Package --> Create Package : Tuottaa *.jar ja *.jad

Tuloksena rakentamisen *.jar ja *.jad
Kun teet nämä kolme vaihetta, tuloksena *.jar ja *.jad ovat heti valmiita suorittamisen paikallisen emulaattori tai välitöntä käyttöönottoa koskevan Internet-sivuston muita latauksia "Over The Air" (OTA). The *.jar koko alalla *.jad tiedosto on oikea. Älä unohda tehdä askel (3) joka ikinen kerta, kun rakentaa uudelleen!
Nyt voit testata, jonka osuvan "Run" (RUN)-painiketta.

Hitting "Run" hanketta varten lukee *.jad periksi emulaattori. Voit valita tietyn MIDlet käynnistää (yleensä vain yksi).
Vain kopioida *.jar ja *.jad tiedostot määritellyissä paikoissa (ilmoitetaan työkalupalkin konsoli-ikkunan aikana rakentaa, että hanke), kuten:
(Ensilähetys konsoli-ikkuna:)
Wrote c:\WTK104\apps\sbj\bin\sbj.jar
Wrote c:\WTK104\apps\sbj\bin\sbj.jad
Laita nämä tiedostot suoraan omaan Internet-sivuilla ilman muutoksia, ja sen pitäisi toimia. Tässä on mitä olen nähnyt minun kännykkä, kun lataat tämän koottu soveltaminen "yli ilmassa" (OTA)

Sam Robertson's Blackjack Trainer (sbj.jar) täytäntöönpanovaltion minun kännykkä
7. Tarjoamalla ohjelmistoja Internet-sivuston
7.1 Varmista, että Internet-palvelimen määrittää MIME tyypeistä *.jar tiedostot ja *.jad tiedostot
Jos sinulla on Apache Internet-palvelimelle, sinun täytyy luoda tiedoston nimeltä ".htaccess" oman www-sivuston juurihakemistoon. The ".htaccess"-tiedoston avulla voit ohittaa Apache kokoonpano, kuten lisätä tai ylivoimainen tiedosto MIME tyyppejä. Sinun täytyy lisätä täsmentää MIME tyypit vastaavat *.jar tiedostot ja *.jad tiedostoja, kuten käy ilmi seuraavasta tekstitiedosto:

Oma mukautetun ".htaccess" tiedosto on Apache Internet-palvelimelle. Huomautus: I nimetty tämän tiedoston ".htaccess.txt" vain tehdä tiedoston helppo muokata, kun käytät Windows käyttöjärjestelmä. Tiedoston nimi on muutettava, jotta ".htaccess" ennen kuin tiedosto voidaan käytetään yhdessä Apache Internet-palvelimelle.
Tässä on yksinkertainen .htaccess tiedosto tekstimuodossa:
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar
AddType text/vnd.wap.wml wml
Näyttää siltä, että luodaan tai muutetaan tämän tiedoston tuloksia välitöntä muutosta Apache palvelimen käyttäytymistä. Luulen että Apache palvelin tarkistaa muutoksen päivämäärä ja aika, jolloin ".htaccess" tiedosto, kun jokainen uusi saapuvan liiketoimi, ja palvelin uudelleenlatauksesta, että tiedosto, jos muutokseen päivämäärä ja kellonaika on muuttunut.
Jos sinulla on erilaisia Internet-palvelimelle, sinun on päätettävä, miten määritellä MIME tyypit, ja sinun on varmistettava, että *.jar tiedostot ja *.jad tiedostot on liitetty asianmukaiset MIME tyyppejä.
Te tiedätte, jos MIME tyyppiä ei ole perustettu, jos kännykkä ei ladata *.jad tiedosto ja ilmoittaa seuraavan virheilmoituksen:
"406: Not Acceptable"
7.2 Vaihtoehtoisesti tarjota siteitä *.jad tiedosto HTML tai WML asiakirjat
The Motorola T720 J2ME kännykkä kanssa AT&T palvelu voi ladata *.jad tiedoston suoraan, kirjoittamalla URL on *.jad tiedosto on kännykkä. Tämä on todennäköisesti työskentelemään muiden J2ME matkapuhelinkin muiden kännykkä palveluntarjoajille.
Saattaa kuitenkin olla helpompi ihmisten ladata *.jad tiedosto valitsemalla linkin, joka HTML asiakirja tai sellaisen WML asiakirja. (Huomautus: WML on nyt vanhentunut. Suurin osa matkapuhelimista voi nyt tulkita HTML.)

Yksinkertainen HTML asiakirja, jossa on linkki, joka *.jad tiedosto

Yksinkertainen WML (WAP) sivu, jossa on linkki, joka *.jad tiedosto (Huomautus: WML on nyt vanhentunut. Suurin osa matkapuhelimista voi nyt tulkita HTML.)
8. Lataamalla ohjelmiston Internet-sivuston
Seuraavia kuvia näytä tarkka toimintojen sarjaa tein myös ladata ja suorittaa MIDlet kehitetty ja käytössä on kuvattu Edellisissä osissa edellä. Nämä kuvat ovat valokuvia näytössä oma kännykkä.
(1) Päänäyttö: Kun avaat puhelimen, näet päänäyttö. Paina keskimmäistä painiketta päästäksesi päävalikkoon.
(2) Main Menu: Siirrä kohde "WebAccess".
(3) WebAccess: Siirrä kohde "Go To URL".
(4) Enter URL: Kirjoita sen URL on *.jad tiedoston (tai sellaisen HTML asiakirja, tai sellaisen WML asiakirja).
(5) Details; Tämä tieto oli jäsentää siitä *.jad tiedosto. Paina DOWNLD ladata *.jar tiedosto.
(6) Download Complete; Odota tämä viesti katoaa;
(7) Installing; Odota tämä viesti katoaa;
(8) xxxx bytes transferred; Odota tämä viesti katoaa;
(9) Installed; Odota tämä viesti katoaa;
Kun WebAccess valikko tulee näkyviin uudelleen, kun ohjelma on asennettu, voit poistua kustakin valikosta palata päänäyttö.
(1) Päänäyttö: Kun avaat puhelimen, näet päänäyttö. Valitse "Games & Apps" vaihtoehto kautta päävalikkoon tai paina alaspäin kursori päänäytössä.
(2) Java Powered: Odota tämän näytön katoamaan.
(3) Games & Apps: Valitse kohteen nimi ohjelmaan!
(4) Yay! Onnistunut toteuttaminen ohjelmaan!
Ohjelman ulkonäkö että matkapuhelin on hyvin samankaltainen ulkoasu on emulaattori.
9. Lataa virheilmoituksia ja asennuksen virheilmoitukset
9.1 Motorola T720 (J2ME) virheilmoituksia
Seuraavat virheet viestit on merkitystä vain Motorola T720 (GSM/J2ME) kännykkä.
9.1.1 "Download Failed"
Syy # 1
Jokainen tiedosto (HTML, JAD, JAR, MID, GIF) yli 1644 tavua aiheuttaa tämän virheen tiettyjen Internet-isännät ja palvelimia. Tässä on lyhyt lista hosts-palvelimet:
Host / Server Error
=================================================== =================
Apache No
Microsoft Personal Web Server (direct from your PC) No
Earthlink (Apache) No
Yahoo! (custom server) Yes
Ongelma johtuu virhe on Motorola T720 GSM/J2ME firmware, joka aiheuttaa ladattaessa tiedostoja sirpaleiden epäonnistua.
Ainoa ilmeinen ratkaisu on vaihtaa Internet-isännät tai palvelimen tyyppi. Muut kännykkä tyyppiä ei ole tätä ongelmaa.
Syy # 2
The "MIDlet-Jar-Size:" alalla on *.jad tiedosto ei ilmoittakaa tarkka tavu yhteensä vastaavat *.jar tiedosto.
9.1.2 "Failed: File Corrupt"
Syy # 1
The *.jar tiedosto käyttää API toimintoja, jotka eivät ole saatavilla erityisiä kännykkä.
Esimerkiksi MIDP 2.0 toiminnot eivät ole käytettävissä, jos Motorola T720 GSM/J2ME kännykkä (joka on vain MIDP 1.0 toiminnot). Ohjelma voi suorittaa osana emulaattori, mutta ei ehkä voi suorittaa tietyllä solutasolla puhelimeen.
Ratkaisu on etsiä MIDP 2.0 toimintoja lähdekoodit ja korvata ne MIDP 1.0 tehtäviä tai poistaa toimintoja, jotka edellyttävät MIDP 2.0 toimintoja.
Syy # 2
The "manifest.mf" tiedosto käyttää luoda *.jar tiedosto (kautta "jar" apuohjelma) sisältää virheitä.
Varmista, että "manifest.mf" tiedosto on seuraavat versiot CLDC ja MIDP:
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
Koko "manifest.mf" tiedoston pitäisi näyttää melkein täsmälleen samalta kuin seuraavasti:
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
Kunkin rivin teksti, "manifest.mf" tiedostosta, mukaan lukien lopulliseen rivi tiedoston, olisi päätyttävä kanssa "carraige palata" (CR; 13; 0x0d) merkki, jota seuraa "rivinvaihto" (LF; 10; 0x0a) luonnetta.
Ainoa aloilla: "manifest.mf" tiedosto omalla versiolla, jonka pitäisi erota Oheisessa esimerkissä on kolmen ensimmäisen luetelluilla aloilla esimerkkiä. Kolmessa viimeisessä aloilla olisi tarkka ottelu esimerkissä, ja viimeiset kaksi merkkiä tiedoston pitäisi olla "kuljetus paluuta ja rivinvaihdon" jälkeen lopullinen alalla.
Tässä ovat mahdollisia ongelmia oman version, "manifest.mf" tiedosto:
(1) Sinun "manifest.mf" tiedosto sisältää merkkejä, jotka eivät ole ASCII merkkiä (Katso kaavio on ASCII merkkiä, mikä tahansa merkki ulkopuolella 0 kautta 127 alue ei kelpaa);
(2) Sinun "manifest.mf" tiedosto ei ole "rivinvaihdon" (LF) merkin jälkeen kunkin "kuljetukseen palata" (CR) merkin lopussa kutakin viivan;
(3) Sinun "manifest.mf" tiedosto on näkymätön välilyöntejä tai välilehdet lopussa kunkin rivin ennen (CR)(LF) linja päättäminen;
(4) Sinun "manifest.mf" tiedosto sisältää "Manifest-Version:" linja;
(5) Viimeinen rivi teidän "manifest.mf" tiedosto ei pääty kanssa (CR)(LF) linja päättäminen, vaan yksinkertaisesti saavuttaa tiedoston loppuun;
(6) Sinun "manifest.mf" tiedosto ei ole tarkka kentät ja tarkka kenttien järjestys siten kuin edellä oleva esimerkki;
(7) Sinun CLDC versio ei ole juuri 1.0, tai MIDP versio ei ole juuri 1.0;
(8) myyjän nimi on merkkejä, jotka eivät ole ASCII merkkiä (esim. ei ole Unicode-merkkejä ovat sallittuja);
(9) Sinun "manifest.mf" tiedosto ei ole tilaa sen jälkeen, kun toinen pilkku on "MIDlet-1:" linja;
Ehkä joissakin tapauksissa edellä luetellut eivät itse aiheuttaa ongelmia monissa matkapuhelimissa, mutta poistaa kaikki edellä lueteltuja tapauksia voi olla lataaminen onnistuu. Kun lataus on onnistunut, voit kokeilla muutoksia, "manifest.mf" tiedosto saada selville, mitä muita asioita voit tehdä aiheuttamatta ladata virheitä. Kun "manifest.mf" tiedostoa on muokattu, se on tärkeää varmistaa, että lataamalla ohjelma jatkaa työtään kaikkien kohderyhmien matkapuhelimet ja kännykkä palveluntarjoajille. Jotkut puhelimet ja palvelut ovat vähemmän joustavia kuin toiset.
Kun "manifest.mf" tiedosto on lisätty, joka *.jar tiedosto kautta jar ohjelma, jar ohjelma luo uuden version manifest-tiedosto on *.jar tiedosto. Luotu versio manifest-tiedosto on *.jar tiedoston nimi on "MANIFEST.MF". The jar ohjelma saattaa lisätä kenttiä tämän tiedoston, joka ei sisälly "manifest.mf" tiedosto, jonka ohjelmoija. Älä purkaa "MANIFEST.MF" tiedosto on *.jar tiedosto, jos et ole valmis poistamaan joitakin kenttiä ja antaa loput kentät näyttää täsmälleen samalta kuin esimerkiksi "manifest.mf" tiedosto yllä.
9.1.3 "Unsupported Content Type"
Syy # 1
Matkapuhelinverkon puhelin ei voi hyväksyä MIME raportoitu, että kauko-palvelimeen tietyn tiedoston.
Esimerkiksi JPG kuvatiedostoja ei tueta, jonka Motorola T720 ja aiheuttaa tämän virheen.
Tämä virhe voi ilmetä myös, jos MIME tyyppi tuettu tiedostotyyppi (esim. GIF, MID, JAD, JAR) ei ole ilmoitettu oikein palvelimelle. Henkilön on oltava hyvin varovaisia kertomaan tarkkaa MIME tyyppi tuetut tiedostomuodot.
Syy # 2
Tiedosto cache että kännykkä itsessään on selvitetty (e