English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية 
J2ME rozwój oprogramowania dla telefonów komórkowych
(2002)
Colin Fahey
moto_t720_open_lightanddark02.jpg
Motorola T720 telefon komórkowy, pokazano otwarte

1. Ostrzeżenie

Ten dokument jest już nieaktualny!  Informacje zawarte w niniejszym dokumencie mogły być ważne i przydatne w roku 2002, ale wiele rzeczy uległy zmianie w kolejnych latach!  Dokument ten powinien być traktowany jedynie jako interesujący historycznego rekordu w roku 2002.  Nie należy polegać na żadnych informacji lub porad w tym dokumencie.  Wszystkie informacje techniczne zawarte w niniejszym dokumencie jest bardzo przestarzałe. 

Pobieranie oprogramowania tworzone samodzielnie, samodzielnie utworzonych obrazów, a także samodzielnie stworzył telefon wpisu melodie (np.  "dzwonków)," była stosunkowo rzadkie i trudne w roku 2002.  Niestety, sześć lat później, kilka telefonów komórkowych dostawców usług (w tym Apple, który stanowi wyłączną oprogramowania i "dzwonek" portal dla iPhone) nadal nie nakłada ograniczeń na pobieranie oprogramowania, grafiki i muzyki, ponieważ telefon komórkowy dostawców usług korzystają wyjątkowo duże zyski finansowe poprzez kontrolowanie tego typu pliki do pobrania. 

Na szczęście, telefonów komórkowych, takich jak te występujące w "Android" platformy oprogramowania, koniec zawsze będzie zdolność przedsiębiorstw do tworzenia i wykorzystywania zamkniętych rynków dla takich zastosowań telefonów komórkowych.  Mimo, że konsumenci chętnie nabywane telefon komórkowy usług plany, które obejmowały bardzo wysokie koszty oprogramowania do pobrania, zdjęć i muzyki, to ze względu na ograniczoną liczbę telefonów komórkowych usług dostępnych opcji. 

Dynamiki gospodarczej, które umożliwiły niektórym firmom wzrosnąć do dominują na rynku nie powinno być interpretowane jako ukryte silne zatwierdzeniu przez konsumentów.  Firm jak zacząć dominować, a następnie utrudniają lub uniemożliwiają dla konkurentów do wejścia na rynek, z dominującym przedsiębiorstwa mogą oferować produkty, które łączą wysoki pozytywne wartości (np.  umiejętność porozumiewania się w dowolnym miejscu) o wysokiej wartości ujemne (np.  wysokich cen pożądane dla oprogramowania, grafiki i muzyki, które inaczej mogłyby być swobodnie dostępne, w ten sposób, usługi dodaje ujemna).  Nr konsument jest zmuszony do zakupu telefonu komórkowego, ale nie ma wątpliwości, że dominującą telefon komórkowy usługodawców stopniowo stworzył warunki, że nie może być uznany za "wolny rynek."  W związku z tym, telefonu komórkowego rynku usług została ekonomicznie "nieefektywne" i został nadmiernych obciążeń na konsumentów. 

Mamy nadzieję, że wymagania telefonu komórkowego usługa częstotliwości radiowych być dostępne dla konkurencyjnych usług przyczyni się do przywrócenia normalnej wartości rynkowej do transferu danych, w taki sposób, że telefon komórkowy usługodawców są ponownie zmniejszona do zaledwie nośniki danych (np.  dostarczanie tylko szerokość pasma) zamiast informacji lub rozrywki dostawców ! 

Działalności transportu danych musi być oddzielone od działalności w zakresie sprzedaży danych, w przeciwnym razie nie będzie stanowić zachętę dla transportu danych biznesowych konkurentów do bloku danych ze sprzedaży za pośrednictwem tego samego kanału transportu danych. 

Konsola gier wideo na rynku cierpi ten sam problem.  Producentów sprzętu konsoli gier wideo firmy znajdują się w tworzenie urządzeń, które mogą wyświetlać gry wideo, ale również te same spółki mają wyłączną kontrolę nad przeniesienie oprogramowania do tych gier komputerowych.  W związku z tym, istnieje bodziec dla producentów konsoli do gier video, aby zablokować konkurentów ze sprzedaży oprogramowania do gier komputerowych.  Jeśli konsola gier wideo producentem sprzętu koncentruje się na projektowaniu i produkcji sprzętu, który mógłby być sprzedawany w zysku (zamiast na znaczne straty, ponieważ z X-Box i PlayStation i Nintendo gier komputerowych), a następnie gry wideo rynku dobrze prosperować, a jakości z najlepszych gier wideo będzie znacznie poprawić, i gier video kosztów zwinąć będzie. 

2. Temat indeksu

(1)
J2ME rozwoju narzędzi
(2)
Prosty program J2ME
(3)
Złożona J2ME programu
(4)
Sun "bezprzewodowy zestaw narzędzi"
(5)
Oferowanie oprogramowania na stronie internetowej
(6)
Pobieranie oprogramowania z witryny internetowej
(7)
Pobierz komunikaty o błędach i komunikaty o błędach instalacji
(8)
Tworzenie, oferowanie, a pobieranie "dzwonków"
(9)
Tworzenie, oferowanie i pobieranie obrazów
(10)
AT&T telefon komórkowy ustawienia konfiguracyjne (w sieci)
(11)
Linki do innych zasobów telefonów komórkowych
(12)
J2ME porównaniu BREW

3. J2ME rozwoju narzędzi

W tej sekcji opisano, jak pobrać rozwoju narzędzi, które mogą być używane do kompilacji kodu źródłowego w J2ME do klasy pliki odpowiednie dla urządzeń mobilnych.  Należy pamiętać, że Sun "J2ME Wireless Toolkit," omówione w późniejszej części niniejszego artykułu, wymaga pobierania Java SDK opisanych w tej sekcji. 

3.1 JDK 1.4 (lub nowsze)

Oznacza to konieczność konwencjonalnych Java 2 SDK z Sun.  I pobrane i użyte w wersji 1.4 poprzez poniższy link:
http://java.sun.com/j2se/1.4/download.html
Oto co na stronie wygląda następująco:
java2sdk_download_page.jpg
Uruchom program instalacyjny.  Zainstaluj w domyślnej lokalizacji ( c:\j2sdk1.4.0_03 ) ile jesteś w stanie rozwiązać problemów ścieżki, które mogą się pojawić. 

3.2 Connected Limited Device Configuration (CLDC)

Nie będę udawać, aby wiedzieć, co to jest, ale ja po prostu go pobrać z witryny internetowej Sun.
http://wwws.sun.com/software/communitysource/j2me/cldc/download.html
Oto co CLDC pobrać stronie głównej wygląda tak:
cldc_download_page.jpg
1.0.3 była dostępna tylko w czasie odwiedziłem.
W tym celu należy pobrać, musiałem się zarejestrować w Sun stronie internetowej.  I utworzone następujące profile:
Username:        anon***anon
Password:        nospamplease
Favorite color:  blue
Full name:       Prof. Anon Nospamplease
I pobrać następujący plik:
j2me_cldc-1_0_3-fcs-src-b17-winunix-14_sep_2001.zip
I unzipped do następującego katalogu:
C:\j2me
I przemianowane na "cldc-1_0_3-fcs" po prostu do katalogu:
cldc (czyli pełna ścieżka jest c:\j2me\cldc)

3.3 Mobile Information Device Profile (MIDP)

Nie będę udawać, aby wiedzieć, co to jest, ale ja po prostu go pobrać z witryny internetowej Sun.
http://java.sun.com/products/midp/
Oto co MIDP pobrać stronie głównej wygląda tak:
midp_download_page.jpg
I pobrać następujący plik:
j2me_midp-1_0_3-fcs-src-b26-win-19_sep_2001.zip
I unzipped do następującego katalogu:
C:\j2me
I przemianowane na "midp-1_0_3-fcs" po prostu do katalogu:
midp (czyli pełna ścieżka jest c:\j2me\midp)

3.4 Konfigurowanie narzędzia

3.4.1 Ustalenie ścieżek

Dodaj następujące linie do swojego pliku AUTOEXEC.BAT:
REM ---- Java Support ----
SET MIDP_HOME=C:\j2me\midp
SET PATH=%PATH%;c:\j2sdk1.4.0_03\BIN;
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\j2sdk1.4.0_03\BIN;C:\j2me\midp\bin;%PATH%
Wtedy życie tych zmiennych, które mają być odświeżona przez uruchomienie pliku wsadowego:
cmd_prompt_autoexec_bat.jpg
c:\>  autoexec.bat
Można również skonfigurować te same zmienne za pomocą zmiennych środowiskowych systemu Windows w Panelu sterowania.

Zauważ, że wybrałem do katalogu wyraźne określenie ścieżki do mojej obecnej wersji z Java 2 SDK.  Dlatego też, jeśli mogę uaktualnić, potem musi zmodyfikować plik AUTOEXEC.BAT określić nowe katalogi. 

3.4.2 Sprawdź Jave 2 SDK binarnych

Gdy powyższe ustawienia zaczęły obowiązywać, należy być w stanie uruchomić programy Java narzędzie z wiersza polecenia bez określenia ścieżki kompletne narzędzie do programów. 

Następujące polecenie uruchomi telefon komórkowy urządzenie emulatora: 
cmd_prompt_midp.jpg
c:\>  midp
Poniższy obraz przedstawia telefon komórkowy urządzenie emulatora: 
java_midp_launch.jpg

4. Prosty program J2ME

4.1 Napisz Java kod

Za pomocą dowolnego edytora tekstu, osoba może wpisać kod, takich jak na ten HelloMIDlet.java kodu źródłowego pliku:
file_image_hellomidlet_java.jpg
Oto kod w formacie tekstowym:
// File: HelloMIDlet.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

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

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

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

    public void pauseApp()
    {
    }

    public void destroyApp( boolean unconditional )
    {
    }

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

4.2 *.java skompilować kod *.class

cd  c:\HelloMIDlet
Uwaga: Poniższe komendy muszą być w jednej linii, lecz został rozszerzony na kilka linii tekstu, tylko dla jasności.
(Bieżący katalog: C:\HelloMIDlet)
javac
    -target 1.1
    -d .\
    -bootclasspath c:\j2me\midp\classes
    HelloMIDlet.java
cmd_prompt_javac.jpg
Uwaga: "-target 1.1" jest konieczne w celu uniknięcia błędu w przyszłości "preverify" etapie.  Najwyraźniej to coś zrobić z problemem z MIDP 1.0.3 wsparcia w JDK 1.4. 

4.3 Preverify, aby wygenerować nowy plik *.class

cmd_prompt_preverify.jpg
(Bieżący katalog: C:\HelloMIDlet)
preverify  -classpath  c:\j2me\midp\classes;.  HelloMIDlet
Ten generuje nowy plik *.class w nowym podkatalogu o nazwie "output" (domyślnie).

4.4 Test nowej *.class plik

cmd_prompt_midp_midlet.jpg
(Bieżący katalog: C:\HelloMIDlet)
midp  -classpath  c:\j2me\midp\classes;.\output  HelloMIDlet
Zostanie uruchomiony emulator telefonu, wskazując, że nowe "output" katalog zawiera kilka niezbędnych *.class plików.
Poniższy obraz pokazuje spodziewanych wyników.
java_midp_hellomidlet.jpg

4.5 Utwórz nowy plik tekstowy, "manifest.mf" i edytować plik

A "manifest.mf" plik jest niezbędny do uzyskania rzeczywistego telefonu komórkowego do interpretacji treści o *.jar pliku.  Jeżeli właściwe "manifest.mf" plik nie jest wliczone w *.jar plik, a następnie do telefonu komórkowego może być z powodzeniem *.jar pobrać plik, ale może nie interpretują pobrany plik, w miarę możliwości raportowania o błędach, takich jak "Unsupported Content Type". 
Poniżej przedstawiono przykład prostego pliku "manifest.mf".
file_image_manifest_mf.jpg
Tutaj znajduje "manifest.mf" plik jako zwykły 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
Zauważ, że CLDC i MIDP wersje są wyszczególnione w tym pliku.  Być bardzo ostrożne i konserwatywne podczas edytowania różnych dziedzinach w tym pliku.  Jeśli otrzymasz "File Corrupt" błędy, a następnie spróbuj wyeliminowanie wszystkich dziedzinach, które nie są widoczne w tym przykładzie.  Również umieścić pola w kolejności, w jakiej pojawiają się w przykładzie.  Także skrócić każdej dziedzinie wartości, jak można, na bieżąco i ogranicza się do prostych znaków liter, cyfr, kropki i kreski.  Niektóre usługi telefonii komórkowej i telefonów komórkowych, można tolerować więcej zmianę zakresie zamawiania i zawartości pól. 
Uwaga: 

Gdy "jar" program jest używany do tworzenia pliku *.jar i "manifest.mf" plik jest określony jako manifest pliku, program odczytuje "jar" manifest pliku i może dodać więcej pól, gdyż tworzy plik o nazwie "MANIFEST.MF" ramach *.jar pliku wyjściowego.  Dlatego też, jeśli "MANIFEST.MF" plik jest wyodrębniony z *.jar plik, a następnie w porównaniu z pierwotnym "manifest.mf" pliku podanego podczas tworzenia tego *.jar, dwa pliki mogą być różne, z "MANIFEST.MF" plik zawierający więcej pól niż oryginalny plik "manifest.mf" . 

Nie "MANIFEST.MF" wyodrębnić plik z pliku *.jar i próby utworzenia nowego pliku przy użyciu *.jar że manifest pliku.  Jeśli "MANIFEST.MF" wyodrębnić plik z *.jar plik, a następnie upewnij się, w celu wyeliminowania wszystkich dziedzinach z wyjątkiem tych, które pokazano na przykładzie "manifest.mf" pliku pokazane powyżej. 
Uwaga:

Ikony programy pozornie nie pojawiają się na Motorola T720 telefonu.  To dlaczego nie opisywać moje MIDlet z ikoną.  Jednak, następujące pokazuje jak ustawić ikony dla danego programu w pliku manifestu: 

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

Przy opracowywaniu dla telefonów komórkowych, które nie wyświetlać ikony dla aplikacji, określa ikonę pliku i dodać ikonę pliku obrazu się do *.jar plik określając nazwę pliku w pliku nazwy plików, które mają być dodane do pliku *.jar. 

4.6 Umieść plik "manifest.mf" i *.class plik do pliku *.jar

Poniższa komenda tworzy plik *.jar.  W *.jar plik będzie zawierać określone manifest.mf plik, a będzie zawierać *.class plików w określonym katalogu.
cmd_prompt_jar.jpg
Aktualnym katalogu: C:\HelloMIDlet
jar  cfm  hi.jar  manifest.mf  -C .\output  HelloMIDlet.class
Złożona hipotetyczny przykład *.jar tworząc plik
Załóżmy ikonę pliku obrazu (np.  "icon.png") ma się pojawić w *.jar plik jako "/icon.png".  (Uwaga: Program ikony nie są wyświetlane na Motorola T720 telefon komórkowy, ale nie pojawiają się na inne typy telefonów komórkowych, a nie pojawiają się w MIDP emulatora). 

Załóżmy istnieje katalog o nazwie "images" z plików graficznych (*.png formacie).  Załóżmy tym katalogu, a wszystkie obrazy zawarte w katalogu, powinny być dostępne dla programu Java przez względną katalogu /images (takie, że obraz "a.png" byłyby dostępne przy użyciu ścieżki "/images/a.png"). 

Załóżmy, wszystkie z *.class pliki wyprodukowane przez preverify polecenia zawarte są w katalogu o nazwie "verified".  Na przykład, zweryfikowanych wersji główne klasy, "MyApp.class", byłoby w folderze "verified", wraz z innymi klasami programu.  Wszystkie te zajęcia mają być dostępne w katalogu głównym na *.jar pliku. 

Następujące polecenie utworzy plik, który osiąga *.jar różnych celów określonych w poprzednich akapitach.  Uwaga: polecenia została rozszerzona do kilku wierszy tekstu tutaj tylko dla jasności.  Podczas wpisywania polecenia w wierszu polecenia, polecenie nie musi zawierać linię podziału, inaczej interpretują polecenia interpreter będzie wprowadzony tekst jako niezależny wieloma poleceniami. 

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 .
W końcowej części polecenia jest trudny do zrozumienia.  Ma następujące znaczenie:  "Zmiana obecnego .\verified pracy do katalogu, a następnie umieścić wszystkie pliki *.class znaleźć w katalogu '.' względnej (czyli *.class wszystkich plików w bieżącym katalogu roboczym) w *.jar do pliku."  Ponieważ katalog został zmieniony przed podaniem ścieżki do klas, aby umieścić w pliku *.jar, lokalnej ścieżki nie będą wyświetlane w ścieżkę względną, gdy pliki są umieszczane w *.jar do pliku. 

Na przykład załóżmy, zweryfikowanych klas są w następującym katalogu: 

C:\MyApp\verified 

Załóżmy, istnieją klasy plików takich jak: 

C:\MyApp\verified\w.class 

Następnie określając w "-C .\verified ."  polecenia, aby utworzyć plik *.jar, począwszy od bieżącego katalogu "C:\MyApp", spowoduje "w.class" są umieszczone w katalogu głównym na *.jar pliku.  </ e>

Ostrzeżenie: Gdy "-C" opcja jest określona, to zmiany katalogu bieżącego w danym punkcie ogólnej przetwarzania sekwencji komend jar parametrów do polecenia.  W związku z tym, jar polecenia może skarżyć się, że nie może znaleźć inne pliki wymienione w poleceniu parametry poza "-C" opcji.  Jeśli tak się zdarzy, po prostu przesuń "-C .\verified ."  się ostateczna parametrów polecenia ogólne. 

Poniżej pełne wyjście z jar polecenia. 
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 Tworzyć i edytować nowy plik *.jad

A *.jad plik jest konieczne, aby telefon komórkowy można opisać program komputerowy do osoby, zanim dana osoba zdecyduje się pobrać program.  W pliku *.jad przewiduje również pewne pośredni z *.jar sama. 
file_image_hi_jad.jpg
Na przykład plik *.jad, opisujące *.jar plik
Oto przykład hi.jad plik w formacie tekstowym:
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
Istnieją programy, które mogą generować *.jad plik, który ułatwia aktualizację "MIDlet-Jar-Size:" dziedzinie *.jar za każdym razem, gdy plik zostanie zmieniony (i jego zmiany rozmiaru).  Jeżeli wyszukiwanie w Internecie znajdziesz przydatne programy J2ME. 

Jeśli rozmiar pola nie określają dokładnie łącznie z bajt *.jar plik, a następnie wyświetla następujący komunikat o błędzie może pojawiać się po udanej pobrania na telefon komórkowy: "Download Failed" (nie do pobrania). 

Do Motorola T720 telefon komórkowy, następujący komunikat o błędzie może zostać wykorzystana do inidcate nieprawidłowe pola w *.jad pliku, lub ewentualnie nieprawidłowe pola w MANIFEST.MF generowanych plików w *.jar pliku: "Failed: File Corrupt" (nie: uszkodzony plik). 
Uwaga: Jeżeli plik jest *.jar w tym samym katalogu co plik odpowiadający *.jad internetowych na serwerze, a następnie *.jad plik może po prostu podać nazwę pliku *.jar pliku, bez określania pełnej URL, jak w poniższym przykładzie: 

MIDlet-Jar-URL: hi.jar 

Gdy pobieranie plików z Internetu Apache serwer internetowy do Motorola T720 telefon komórkowy, jest nie do zaakceptowania zawierać pełną URL.  Jednak, kiedy ściąganie plików z Internetu Yahoo!  serwer internetowy do Motorola T720 telefon komórkowy, próbę pobierz zakończy się niepowodzeniem, chyba że URL pełną ścieżkę do pliku *.jar jest określony w *.jad plik, tak jak w poniższym przykładzie: 

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

Nie znam przyczyny tego problemu, a wiem, że ten problem nie dotyczy innych telefonów komórkowych (telefon komórkowy lub usługodawców).  Mając na celu określenie pełnego URL dla *.jar pliku w *.jad plik jest oczywiście niewygodne, ponieważ przenoszenie plików do innej lokalizacji na serwerze wymagałaby zmiany wszystkich informacji w *.jad plików.  Jednakże, podając pełną URL mogłyby sprawić, że *.jad bardziej wiarygodne dla niektórych telefonów komórkowych i telefonów komórkowych niektórych usługodawców. 

4.8 Przetestuj *.jar pliku i *.jad plików przez wykonanie programu

Realizuje następujące klasy znaleźć w pliku *.jar, opisane przez *.jad pliku. 
cmd_prompt_midp_jar_jad.jpg
(Bieżący katalog: C:\HelloMIDlet)
midp  -classpath c:\j2me\midp\classes;.\hi.jar  -descriptor hi.jad

4.9 Odsyłacze do J2ME, MIDP, CLDC rozwoju

I wiele z tego, co tu można znaleźć na wielu innych stronach internetowych.  Niemniej jednak, niektóre poprawione błędy znalezione na innych stronach internetowych, oraz dodano brakujące szczegóły, a pełna zaprezentowane doświadczenia ktoś próbuje to zrobić rzeczy.  Oto linki, które zawierają informacje bardzo pomógł mi zacząć: 
http://wireless.java.sun.com/midp/articles/getstart
http://wireless.java.sun.com/midp/articles/setup

5. Złożona J2ME programu

5.1 Wstęp

Prosty program, przedstawiony w poprzednim rozdziale tego dokumentu tylko do pojedynczego kodu źródłowego pliku, a program robi prawie nic, a tym samym nie jest dobry przykład telefon komórkowy programowania. 

Mój przyjaciel Sam Robertson napisał ciekawy program, który uczy J2ME osoby do gry karty gry "Blackjack" (zwane także "21").  Gracz jest przedstawiona z "kart rozdającego," a gracz na parę karty, a gracz musi zdecydować, co zrobić: "pobyt, nacisnąć dwukrotnie w dół," lub "podzielone." 

Ten program ma sześć pliki zawierające kod źródłowy.  Program jest odpowiedzią na danych wprowadzonych przez użytkownika, a nie prosty rysunek i tekst aktualizacje. 
sbj_screen_on_phone.jpg

5.2 Kod źródłowy

Kliknij na poniższy link, aby pobrać kod źródłowy i *.jad plik, "manifest.mf" pliku, a plik wsadowy, wszystkie w jednym wygodnym ZIP pliku.
sbj.zip
Źródło kod zawarty w pliku ZIP
6090 bytes
MD5: bf3922035b7a4eef24e107d03b7524c9
Wyciąg do niepożądanych katalogów, ale jeśli wyciąg do "c:\" pod Windows, następującym przykładzie dyskusji będzie nawet zbliżenie się do rzeczywistej sytuacji.
sbj_directory_files.jpg
Wydobywanie sbj.zip do "c:\" tworzy katalog "c:\sbj"

5.3 Manifest pliku

Plik: "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 Plik wsadowy do zbudowania programu

Następujący plik wsadowy jest szorstka, ale służy jako ilustracja tego, w jaki sposób możesz zacząć z pisania własnych plik wsadowy do budowy J2ME programu.  Ten przykład pliku wsadowego ma następujące brzmienie:
(1) Usuń katalog zawierający pliki *.class starych; 
(2) Usuń katalog zawierający stare sprawdzone *.class plików; 
(3) Zrób "klas" katalogu wyjściowego; 
(4) kompilacji wszystkich *.java źródeł w *.class pliki wyjściowe z "klas" będzie katalog. 
(5) Zrób "zweryfikowane" katalogu wyjściowego; 
(6) Preverify wszystkich klas w katalogu "zajęć" i położyli zweryfikowanych klas w katalogu "zweryfikowane." 
(7) Utwórz *.jar plik, a następnie dodaj plik mainfest, i wszystkich klas w katalogu "zweryfikowane;" 
*(8) Przetestuj przez preverified programu zajęć bezpośrednio; 
*(9) Testowanie programu za pośrednictwem *.jar i *.jad plików; 

(*...  Te kroki są wyłączone (poprzez opiniowanie) w moim pliku wsadowego). 
sbj_build_sbj_bat_file.jpg
Plik wsadowy "build_sbj.bat" do budowania programu
Tutaj jest ten sam plik ("build_sbj.bat") w formacie tekstowym:
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 Budowanie z polecenia

Oto wynik "build_sbj.bat" uruchamiając plik wsadowy w wierszu polecenia:
sbj_build_command_prompt.jpg
Wykonywaniem "build_sbj.bat" plik wsadowy
Zauważ, że komunikaty ostrzegawcze dla "rmdir" i "del" operacji wskazują, że po prostu nie ma nic do usunięcia. 

Możesz zobaczyć nowe katalogi (np.  "classes" i "verified") i nowe *.jar pliku, który wynikał z uruchamiając plik wsadowy:
sbj_new_files_after_build.jpg
Kod źródłowy plików i nowe wygenerowane plik

5.6 *.jad plik

Aby wdrożyć sbj.jar pliku, musimy tworzyć i edytować plik sbj.jad do prawidłowego *.jar rozmiar w odpowiednim polu:
Plik: 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
Osoba może trzeba dodać pełny URL do *.jar plik *.jad gdy plik jest umieszczany na stronie internetowej - ale odkryłem (w drodze eksperymentu), że udało mi się uniknąć podając pełny URL (tzn.  tylko w określonym *.jar sama nazwa pliku).  Jednakże oddanie w pełny URL, ale chciałem, aby poinformować Cię, co ja obserwuje.

5.7 Podsumowanie

Posiadanie wielu plików źródłowych w projekt wspólnego, w tej sekcji wydał surowy budynku ilustracją wielu klas, a następnie pakowania i wykonanie. 

Zobacz następującą sekcję dotyczącą Sun Wireless Toolkit użyciu, co sprawia, że budowanie aplikacji o wiele łatwiejsza. 

6. Sun "Wireless Toolkit (version 1.0.4_01)"

6.1 Wstęp

Sun oferuje dogodne środowisko dla rozwoju budownictwa i opakowań J2ME programy: "Java 2 Platform Micro Edition (J2ME) Wireless Toolkit (version 1.0.4_01)". 

(Uwaga: Musisz pobrać Java 2 SDK 1.4 jak opisano we wcześniejszej sekcji, aby skorzystać z tej narzędzi.  Zrób to teraz, jeśli nie ma już tej wersji z Java 2 SDK.) 

Przejdź do następującej stronie internetowej do pobrania narzędzi: 

http://java.sun.com/products/j2mewtoolkit/ 
Ostrożnie!
 

NIE kliknąć na link "2.0 Beta 1 English" (obecnie opcja pobierania górę), jeśli robisz Motorola T720 rozwoju - ponieważ ta wersja ma pewne MIDP-2.0 rzeczy, i poruszania może to być bóle głowy. 
j2me_wireless_toolkit_2_0_download_page.jpg
Nie pobieraj tej wersji!  ("2.0 Beta 1 English")
Próbowałem tę wersję, a ja w końcu dostałem kodu do kompilacji wiele z chaotyczną zmiany ustawień, ale po każdym wysiłku mam bezpieczeństwa wyjątek przy próbie wykonania.  Nie ma potrzeby! 
Pobierz "1.0.4_01 English" wersji.  Oto co na stronie wygląda następująco: 
j2me_wireless_toolkit_1_0_4_01_download_page.jpg
Sun J2ME Wireless Toolkit (version 1.0.4_01) na stronie
j2me_wireless_toolkit_1_0_4_01_download_page2.jpg
W Sun J2ME Wireless Toolkit (version 1.0.4_01) FTP miejscu listy
Będzie to pobierz następujący plik: "j2me_wireless_toolkit-1_0_4_01-bin-win.exe" 
Wykonaj ten program, aby zainstalować w swoim systemie.

6.2 J2ME Wireless Toolkit: rozpoczęcie Toolbar

Po narzędzi jest zainstalowany, można uruchomić go z "Start" (początek) system menu:
j2me_wireless_toolkit_1_0_4_ktoolbar.jpg
Uruchamianie programu Toolbar
Można również uzyskać dostęp do dokumentacji MIDP-1.0 poprzez "Documentation" przedmiot w tej Start (początek) menu.
j2me_wireless_toolkit_2_0_wtk20_docs_api_index_html.jpg
J2ME Wireless Toolkit (version 1.0.4_01) dokumentacji

6.3 J2ME Wireless Toolkit: tworzenia projektu i budowy

j2me_wireless_toolkit_1_4_ktoolbar_window.jpg
Pasek narzędzi jest gotowa.  "New Project..."  Kliknij, aby utworzyć nowy projekt.
j2me_wireless_toolkit_1_4_ktoolbar_new_project.jpg
New Project: Wpisz nazwy projektu (imię i staje się JAR nazwę nowego katalogu projektu), i wpisz nazwę MIDlet klasy (klasy pochodzące z MIDlet, zasadniczo główne klasy aplikacji). 
j2me_wireless_toolkit_1_4_ktoolbar_project_created.jpg
Toolbar: projekt utworzony.  Zauważ, że konsola powie Ci, gdzie umieścić swój *.java plików źródłowych, itp.  (np.  "c:\WTK104\apps\sbj\src", itp) 
j2me_wireless_toolkit_1_4_ktoolbar_project_settings.jpg
Kliknij na "Settings..."  na pasku narzędzi, aby ten projekt w menu Ustawienia. 
Pominąć "MIDlet-Jar-Size" dziedzinie (o wartości "100 bytes)" do teraz.  Będziemy w końcu spowodować, aby uzyskać poprawną wartość zestawu. 
j2me_wireless_toolkit_1_4_ktoolbar_project_midlet_settings.jpg
Kliknij na MIDlets karcie projektu ustawienia okna.
Kliknij na jedyny wiersz w tabeli ("MIDlet-1") w celu podkreślenia i wybierz ją.  Następnie kliknij przycisk "Edit". 
j2me_wireless_toolkit_1_4_ktoolbar_project_no_icon.jpg
Wyczyść pole "Icon" jeśli nie masz jeszcze akt *.png umieścić w swoim pliku *.jar. 
Wykonaj następujące czynności: 

(1) Project --> Clean: usuwa wszystkie pliki *.class;
(2) Build : Buduje wszystkie pliki *.class i preverifies;
(3) Project --> Package --> Create Package : *.jar produkuje i *.jad
j2me_wireless_toolkit_1_4_ktoolbar_clean_build_create_package.jpg
W wyniku budowy *.jar i *.jad
Po wykonaniu tych trzech kroków, wynikających *.jar i *.jad są natychmiast gotowe do realizacji w lokalnych emulator, lub do natychmiastowego rozmieszczenia na swojej stronie internetowej do pobrania przez innych "Over The Air" (OTA).  W *.jar rozmiar pola w pliku *.jad będą poprawne.  Nie zapomnij zrobić krok (3) każdym razem, gdy odbudować! 

Teraz można testować przez uderzenie w "Run" (run) przycisk. 
j2me_wireless_toolkit_1_4_ktoolbar_project_launch.jpg
j2me_wireless_toolkit_1_4_ktoolbar_project_running.jpg
Hitting "Run" dla projektu czyta *.jad do emulatora.  Możesz wybrać MIDlet uruchomienie (zwykle tylko jeden). 
Wystarczy skopiować *.jar i *.jad plików z określonych lokalizacji (zgłoszone przez pasek narzędzi w oknie konsoli podczas kompilacji projektu), takich jak:
(Od oknie konsoli:)
Wrote c:\WTK104\apps\sbj\bin\sbj.jar
Wrote c:\WTK104\apps\sbj\bin\sbj.jad
Umieścić te pliki bezpośrednio do Twojej strony internetowej bez zmian, i wszystko powinno działać.  Oto co widziałem na mój telefon komórkowy po pobraniu tej skompilowanego stosowania "w powietrzu" (OTA)
sbj_screen_on_phone.jpg
Sam Robertson's Blackjack Trainer (sbj.jar) wykonującemu na mój telefon komórkowy

7. Oferowanie oprogramowania na stronie internetowej

7.1 Upewnij się, że serwer WWW Internet MIME określa rodzaje *.jar plików i pliki *.jad

Jeśli masz Apache internetowych serwera, musisz utworzyć plik o nazwie ".htaccess" w swojej witrynie internetowej katalogu głównym.  W ".htaccess" pliku pozwala nadpisać konfigurację Apache, takich jak dodawanie lub nadrzędnymi MIME typów plików.  Musisz dodać wyszczególnić w MIME odpowiadające *.jar typów plików i *.jad plików, jak pokazano w poniższym pliku tekstowego: 
htaccess_image.jpg
Moje zamówienie ".htaccess" plik na serwer Apache internetowych.  Uwaga: ten plik o nazwie ".htaccess.txt" jedynie, aby plik łatwe do edycji przy użyciu Windows systemu operacyjnego.  Nazwa pliku musi być zmieniony na ".htaccess" przed plik może być używany z Apache internetowych serwera. 
Oto mój prosty .htaccess plik jako zwykły tekst:
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar
AddType text/vnd.wap.wml wml
Najwyraźniej, tworzenia lub modyfikowania tego pliku powoduje natychmiastową zmianę Apache zachowanie serwera.  Apache guess I na serwer sprawdza zmiany daty i godziny w ".htaccess" pliku po każdej nowej transakcji przychodzącej i serwer ładuje się, że plik, jeżeli zmiana daty i czasu uległa zmianie. 

Jeśli masz inny rodzaj internetowego serwera, musisz ustalić, jak MIME określać rodzaje, i należy się upewnić, że pliki *.jar i *.jad pliki są przypisane do odpowiednich rodzajów MIME. 

Będziesz wiedzieć, czy MIME typy nie zostały utworzone, jeżeli telefon komórkowy odmawia pobrać *.jad pliku i raporty następujący błąd: 

"406: Not Acceptable" 

7.2 Opcjonalnie dostarcza linki do plików *.jad ciągu HTML lub WML dokumentów

Motorola T720 J2ME na telefon komórkowy z AT&T usługa jest w stanie pobrać plik *.jad bezpośrednio wpisując URL z *.jad plik do telefonu komórkowego.  Jest to prawdopodobnie J2ME pracy dla innych telefonów komórkowych z telefonów komórkowych innych usługodawców. 

Jednakże, może to być wygodniejsze dla ludzi, aby pobrać plik *.jad wybierając link ramach HTML dokumentu lub w WML dokumentu.  (Uwaga: WML jest już nieaktualne.  Większości telefonów komórkowych mogą teraz interpretować HTML.) 
file_image_hi_html.jpg
Prosty HTML dokument z linkiem do pliku *.jad
file_image_hi_wml.jpg
Prosty WML (WAP) strona z linkiem do pliku *.jad  (Uwaga: WML jest już nieaktualne.  Większości telefonów komórkowych mogą teraz interpretować HTML.) 

8. Pobieranie oprogramowania z witryny internetowej

Następujące obrazy pokazują dokładną kolejność działań zrobiłem w celu pobrania i wykonania MIDlet opracowane i wdrażane w sposób opisany w poprzednich sekcjach powyższego.  Te obrazy są fotografie na ekranie mojego telefonu komórkowego. 
t720_screens_download_program.jpg
(1) Główne ekranu: Po otwarciu telefonu widać na ekranie głównym.  Naciśnij środkowy przycisk, aby przejść do menu głównego. 
(2) Main Menu: Przejdź do pozycji "WebAccess". 
(3) WebAccess: Przejdź do pozycji "Go To URL". 
(4) Enter URL: Wpisz w URL z *.jad pliku (lub z HTML dokument, lub z WML dokumentu). 
(5) Details; Informacja ta została analizowany z *.jad pliku.  DOWNLD Naciśnij aby pobrać plik *.jar. 
(6) Download Complete; Poczekaj na ten komunikat powinien zniknąć; 
(7) Installing; Poczekaj na ten komunikat powinien zniknąć; 
(8) xxxx bytes transferred; Poczekaj na ten komunikat powinien zniknąć; 
(9) Installed; Poczekaj na ten komunikat powinien zniknąć; 


Gdy WebAccess menu pojawi się ponownie, po program został zainstalowany, po prostu wyjść każdym menu, aby powrócić do głównego ekranu. 
t720_screens_start_program.jpg
(1) Główne ekranu: Po otwarciu telefonu widać na ekranie głównym.  Wybierz opcję "Games & Apps" za pomocą menu głównego lub naciśnij dół kursora na ekranie głównym. 
(2) Java Powered: Poczekaj na tym ekranie, aby zniknąć. 
(3) Games & Apps: Wybierz pozycję z nazwą Twojego programu! 
(4) Yay!  Udanej realizacji swojego programu! 
Program na wygląd telefonu komórkowego jest bardzo podobny do wyglądu w emulatorze.

9. Pobierz komunikaty o błędach i komunikaty o błędach instalacji

9.1 Motorola T720 (J2ME) komunikatów o błędach

Następujących komunikatów błędów są tylko istotne dla Motorola T720 (GSM/J2ME) telefon komórkowy. 

9.1.1 "Download Failed"

Przyczyna # 1
Wszelkie plik (HTML, JAD, JAR, MID, GIF) ponad 1644 bajtów spowoduje, że ten błąd w odniesieniu do niektórych internetowych hostów i serwerów.  Oto krótka lista hostów i serwerów: 
Host / Server                                               Error
===================================================    =================
Apache                                                       No
Microsoft Personal Web Server (direct from your PC)          No
Earthlink (Apache)                                           No
Yahoo! (custom server)                                       Yes
Problemem jest to, ze względu na usterkę w Motorola T720 GSM/J2ME firmware, co powoduje ściąganie plików na fragmenty na porażkę.
Jedynym rozwiązaniem jest oczywiste, aby przełączyć internetowych hosts lub serwera typu.  Inne typy telefonów komórkowych nie mają tego problemu. 
Przyczyna # 2
W dziedzinie "MIDlet-Jar-Size:" z *.jad plik nie wskazuje dokładnie byte sumie *.jar odpowiedni plik.

9.1.2 "Failed: File Corrupt"

Przyczyna # 1
W *.jar plik używa API funkcje, które nie są dostępne w sprawie szczegółowych telefon komórkowy. 

Na przykład, MIDP 2.0 funkcje nie są dostępne na Motorola T720 GSM/J2ME telefonu komórkowego (który ma tylko MIDP 1.0 funkcji).  Program może wykonać w ciągu emulator, ale nie może wykonywać na telefon komórkowy. 

Rozwiązaniem jest wyszukiwanie MIDP 2.0 funkcji w kodzie źródłowym i zastąp je MIDP 1.0 funkcji, lub wyeliminowania funkcji, które wymagają MIDP 2.0 funkcji. 
Przyczyna # 2
W "manifest.mf" pliku używany do tworzenia *.jar pliku (za pomocą narzędzia "jar") zawiera błędy. 

Upewnij się, że "manifest.mf" plik posiada następujące wersje CLDC i MIDP: 
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
Całego "manifest.mf" plik powinien wyglądać niemal dokładnie tak jak poniżej: 
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
Każda linia tekstu w "manifest.mf" plików, w tym końcowy wiersz pliku musi kończyć się "carraige powrotu" (CR; 13; 0x0d) znaków, a następnie "linii paszy" (LF; 10; 0x0a) charakter. 

Jedynym pola z "manifest.mf" pliku we własnej wersji pliku, która powinna różnić się od przykładem są tutaj pokazane pierwszych trzech dziedzinach wymienionych w przykładzie.  W ostatnich trzech dziedzinach powinny być dokładnie z przykładem, a dwóch ostatnich znaków z pliku powinien być "powrót karetki" i "pasz" po "linii" końcowej pola. 

Oto możliwe problemy w wersji z "manifest.mf" pliku: 
(1) Twój "manifest.mf" pliku zawiera znaki, które nie są ASCII znaków; (Spójrz na wykres z ASCII znaków; dowolny znak spoza zakresu od 0 do 127 jest nieprawidłowa); 
(2) Twój "manifest.mf" plik nie posiada "linii paszy" (LF) znak po każdej (CR) znak "powrotu karetki" na końcu każdej linii; 
(3) Twój "manifest.mf" pliku niewidoczne spacji ani tabulacji na końcu każdej linii przed linią (CR)(LF) zakończenia; 
(4) Twój "manifest.mf" plik zawiera "Manifest-Version:" linii; 
(5) Ostatni wiersz swojego "manifest.mf" plik nie kończy się (CR)(LF) zakończenia linii, ale zamiast po prostu osiągnie koniec pliku; 
(6) Twój "manifest.mf" plik nie posiada pól i dokładnie takiej kolejności dziedzinach, jak pokazano w przykładzie powyżej; 
(7) Twój CLDC wersja nie jest dokładnie 1.0, lub MIDP wersja nie jest dokładnie 1.0; 
Twoje imię (8) sprzedawca ma znaków, które nie są ASCII znaków (np.  nie są dozwolone znaki Unicode); 
(9) Twój "manifest.mf" plików nie ma spacji po drugie przecinek w "MIDlet-1:" linii; 
Być może niektóre z wymienionych powyżej przypadkach nie są faktycznie powodować problemy dla wielu telefonów komórkowych, ale wyeliminowanie wszystkich wymienionych powyżej przypadkach może umożliwić pobieranie powodzenia.  Po pobraniu jest udane, można poeksperymentować z odmianami z "manifest.mf" plik do odkrycia tego, co inne rzeczy można zrobić bez powodowania błędów pobrać.  Gdy "manifest.mf" plik zostanie zmodyfikowany, ważne jest, aby sprawdzić, czy pobieranie programu nadal pracować dla wszystkich telefonów komórkowych i telefonów komórkowych usługodawców.  Niektóre telefony i usługi są mniej elastyczne niż inne. 

Gdy "manifest.mf" plik zostanie dodany do pliku *.jar poprzez jar program, jar program tworzy nową wersję pliku manifestu w *.jar pliku.  Wygenerowaną wersję pliku manifestu w *.jar plik o nazwie "MANIFEST.MF".  W programie jar może dodać pola do tego pliku, które nie istnieją w pliku "manifest.mf" przewidzianych przez programistę.  Nie "MANIFEST.MF" wyodrębnić plik z pliku *.jar, chyba że jesteś przygotowany do wyeliminowania niektórych dziedzinach i na pozostałych obszarach wyglądają dokładnie tak, jak na przykład "manifest.mf" pliku pokazane powyżej. 

9.1.3 "Unsupported Content Type"

Przyczyna # 1
Telefonu komórkowego może nie zaakceptować MIME typu zgłaszane przez zdalny serwer dla konkretnego pliku. 

Na przykład, JPG plików graficznych nie są obsługiwane przez Motorola T720 i spowoduje, że ten błąd.

Ten błąd może również wystąpić, jeśli MIME typ obsługiwanego typu plików (np.  GIF, MID, JAD, JAR) nie jest poprawnie zgłoszony przez serwer.  Osoba musi być bardzo ostrożnym, aby zgłosić MIME dokładny typ obsługiwanych typów plików. 
Przyczyna # 2
Plik pamięci podręcznej na telefon komórkowy sam musi być wyczyszczone (np.  Browser Settings -> Clear Cache). 

Jeśli niedawno dodano MIME typy na zdalnym serwerze, a następnie próbował pobrać plik, który wcześniej nie udało się zainstalować ze względu na nieprawidłowe lub brakujące MIME typu, a następnie plik pamięci podręcznej na telefon komórkowy może być przeszkodą w ściągnięciu pliku ponownie MIME z właściwego typu. 

Możliwe jest również, że zdalny plik został zmodyfikowany, a wersja z pamięci podręcznej jest uszkodzony i jest zapobieganie naprawiony plik pobrany od wersji jako zamienniki. 

Czyszczenie pamięci podręcznej przeglądarki na telefon komórkowy powinien zapewnić, aby pobrać kolejny korzysta z najnowszych konfiguracji serwera (np.  nowe ustawienia MIME) i zdalnego pliku aktualizacji. 
Przyczyna # 3
[Od Motorola dokumentacji: http://developers.motorola.com/developers//wireless/global/emea/other/UCT.html]
Jak uniknąć błędów "Unsupported Content type" w WAP 

Jeśli pojawi się błąd w WAP mówiąc Unsupported Content type, to niekoniecznie ze względu na ustawienie typu treści.  Wiele stron WAP zawierać znaków specjalnych, takich jak szwedzki (å ö ä), w celu uzyskania ich, aby wyświetlić prawidłowo należy określić zestaw znaków, który używasz.  W celu określenia zestawu znaków, który jest używany na stronie WAP, edycją Content-Type nagłówek w odpowiedzi na serwer zawiera zestaw znaków, na przykład "Content-Type: text/vnd.wap.wml; iso-8859-1".  Gdy użytkownik otrzyma odpowiedzi z serwera, nie powinny mieć wszystkie potrzebne informacje, aby poprawnie wyświetlać zawartość. 

Jednakże, istnieje problem z wykorzystaniem tej metody.  Wszystkie telefony wskazują na bramą zestaw znaków, które obsługują one za pomocą "Accept-Charset" w nagłówku żądania.  Według specyfikacji HTML, powinno to być w porównaniu do zestawu znaków określonego w odpowiedzi serwera, a jeśli nie pasują do siebie, błąd Unsupported Content type powinny być generowane. 

Aby uczynić ten problem bardziej skomplikowany, niektórzy WAP bramki nie troszczysz się o porównanie zestawu znaków obsługiwanych przez urządzenie, do którego kierowany jest wniosek, stąd treści nie będą wyświetlane poprawnie na tych urządzeń.  Innym powikłaniem jest, że ciąg określający zestaw znaków jest wielkość liter, ale niektóre WAP bram traktować je jako ciągi wielkość liter. 

Wszyscy razem, będą bardzo różne wyniki w zależności od tego, co korzystanie z urządzenia, które WAP używania bramy i serwera, co jest odpowiedź. 

Jedynym sposobem, aby upewnić się, że treść będzie wyświetlana jest właściwie zawsze sprawdzić, co zestaw znaków zostanie zaakceptowana przez klienta i przekształcić swoje odpowiedzi do tego zestawu znaków przed jej wysłaniem. 

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

Przyczyna # 1
Masz Verizon telefon! 

Verizon nie pozwalają swoim klientom, aby pobrać obrazy (GIF), dzwonków (MIDI), lub programy, od arbitralnej internetowych serwerach.  Trzeba użyć ich "Get It Now" usługi, lub użyj kabla USB i "Get Around 'Get It Now' (GAGIN)" oprogramowania. 

Rozwiązanie: Wystarczy poczekać na konkurencję na "wolnym rynku" w celu wyeliminowania "zamknięte platformy."  Całej technologii może być przestarzałe w tym czasie uda, ale to co się dzieje, gdy przedsiębiorstwa są kierowane przez chciwość samodzielnie. 
Przyczyna # 2
Komunikat o błędzie wskazuje, że MIME typu związane z rozszerzenia pliku (np.  .gif, .mid, .jar) z pobranego pliku nie została określona przez Internet serwer WWW.

Jeśli masz Apache internetowych serwerów, na przykład, musisz zmodyfikować plik ".htaccess", dodając następujące linie:
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"

Przyczyna # 1
W pliku serwerze nie są pobierane określa MIME dla tego typu pliku (np.  GIF, MID, JAR).  Tak więc, telefonu komórkowego zakłada, że plik jest zwykły tekst.  Ponadto, telefon komórkowy może mieć limit wielkości (w bajtach) z plików tekstowych, który jest mniejszy niż limit wielkości (w bajtach) z plików binarnych (np.  GIF, MID, JAR).  Dlatego, plik binarny interpretowane jako plik tekstowy może przekraczać maksymalnej dopuszczalnej wielkości pliku tekstowego, a tym samym spowodować błąd. 

Jeśli masz Apache internetowych serwerów, na przykład, następnie należy zmienić przeciętną ".htaccess" plik, dodając następujące linie:
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar
AddType text/vnd.wap.wml wml
AddType audio/midi mid
Przyczyna # 2
Widocznie ten błąd może również wystąpić nawet wtedy, gdy zdalny serwer ma odpowiednie rodzaje MIME siedzibę.  Mam jeszcze ustalić, kiedy ten błąd występuje, zamiast do "Download Failed" do tej sytuacji. 

Oczywiste jest, że Motorola T720 GSM/J2ME telefon komórkowy nie może proces aspekt HTTP 1.1 w specyfikacji, który pozwala na pliki, które mają być rozdzielane na fragmenty, wymagające wielu "GET" wniosków. 

Podczas korzystania z telefonu komórkowego Motorola T720 GSM/J2ME do pobierania plików z niektórych typów serwerów internetowych, dowolny plik (np.  HTML, JAD, JAR, MID, GIF) większe niż 1644 bajtów spowoduje, że ten błąd.  Oto krótka lista dostawców internetowych i hostingu, czy internetowych hosting provider powoduje problem dla Motorola T720 GSM/J2ME telefon komórkowy:
Host / Server                                               Error
===================================================    =================
Apache                                                       No
Microsoft Personal Web Server (direct from your PC)          No
Earthlink (Apache)                                           No
Yahoo! (custom server type)                                  Yes
Problem wynika z firmware w Motorola T720 GSM/J2ME telefon komórkowy, który wpływa na jego zdolność do pobierania plików w kawałki. 

Jedynym rozwiązaniem widoczne, gdy do pobierania Motorola T720 GSM/J2ME telefon komórkowy, jest uniknięcie niektórych internetowych hosting serwera typów.  Większość pozostałych typów telefonów komórkowych nie mają tego problemu, a więc tego problemu mogą być teraz bezpiecznie zignorować. 

9.1.6 "Connection unsuccessful.  Try again later."

Przyczyna # 1
Ten błąd nie ma nic wspólnego z serwerem internetowym, który jest gospodarzem żądany plik. 

Jeśli pojawi się ten błąd, sugerują, że mogę zrobić następujące rzeczy: 
(1) Wyczyść cache; 
(2) Wyczyść historię przeglądarki; 
(3) Wyłącz telefon; 
(4) Wyjmij baterię; 
(5) Poczekaj kilka sekund; 
(6) Umieść baterię z powrotem do telefonu; 
(7) zasilania telefonu; 
(8) Spróbuj ponownie pobrać; 
I otrzymał "Connection unsuccessful.  Try again later.  komunikat o błędzie do kilku dni po raz pierwszy zakupiła telefon komórkowy.  Następnie, przez losowa szansa, mogę usunąć baterię.  Kiedy umieścić z powrotem w baterii do telefonów komórkowych, natychmiast miał dostęp do Internetu. 

Otrzymałem ten błąd kilka razy w ciągu kolejnych sześciu miesięcy, a powyższą procedurą ma przywrócić dostęp do Internetu za każdym razem.  I nie określają, które krok tej procedury może być najważniejszy, ale ja wierzę, że po prostu usunięcie baterii i oddanie baterii z powrotem do telefonu komórkowego może być wystarczająca. 

Moim zdaniem, ten komunikat o błędzie jest zbyt ogólnikowe.  Dlaczego było nieudane próby połączenia?  Był telefon komórkowy usługa sieciowa zbyt zajęty?  Był telefon komórkowy usługi "Gateway" serwer nie działa?  Czy mój telefon komórkowy nie otrzymuję przekazującą lub wystarczająco sygnał?  Kiedy będzie dobry moment do próby pobierania ponownie?  Dziesięć sekund od teraz?  Godziny od teraz?  A tygodnia od teraz?  Komunikat o błędzie byłby bardziej pomocne, gdyby to było o bardziej szczegółowe przyczyny problemu, a jeśli były bardziej szczegółowe na temat możliwych rozwiązań. 
Przyczyna # 2
Jeśli dokonał "Master Reset", lub jeśli nigdy nie były w stanie uzyskać dostęp do Internetu, a następnie kontrolować ustawienia sieci na telefon komórkowy.  Dla przykładu ustawień sieciowych (Motorola T720 GSM/J2ME na telefon komórkowy, za AT&T usługi w dziedzinie Los Angeles, California), patrz punkt określony przez następujący link: 
AT&T telefon komórkowy ustawienia konfiguracyjne (w sieci)

10. Tworzenie, oferowanie, a pobieranie "dzwonków"

10.1 Utwórz lub nabyć MIDI plik (*.mid)

Możesz stworzyć lub nabyć MIDI plik (*.mid) dźwięku z dowolnego źródła.  Znalazłem temat muzyki do telewizji pokazują "Knight Rider" (1982-1986) w MIDI formacie (np.  "knightrider.mid") przez proste wyszukiwanie w Internecie. 

Poniższy obraz daje pewne pomysł, w jaki sposób MIDI plik pojawi się w edytorze MIDI.  Nie jest konieczne, aby mieć MIDI edytor do muzyki na telefonie.  Możesz pobrać plik MIDI istniejącego (*.mid) z dowolnego źródła.  Jednakże, można również użyć edytora MIDI wybranym do stworzenia własnej oryginalnej muzyki polifonicznej. 
home_studio_midi_knight_rider.jpg
Cakewalk Home Studio: gry "knightrider.mid"

10.2 Upewnij się, że Twój serwer internetowy Internetu zna MIDI MIME typu

Jeśli masz Apache internetowych serwerów, na przykład, następnie należy zmienić przeciętną ".htaccess" plik, dodając następujące linie: 
AddType audio/midi mid
W ".htaccess" pliku lub zastąpić określenie rodzajów MIME wskazanych przez serwer plików różnych typów (zazwyczaj wskazany przez rozszerzeń plików, takich jak .MID, .GIF, .JAR). 

Jeśli masz już dodane inne rodzaje MIME dla innych typów plików, pełny ".htaccess" plik może przypominać następujący tekst:
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar
AddType text/vnd.wap.wml wml
AddType audio/midi mid
Najwyraźniej, tworzenia lub modyfikowania tego pliku powoduje natychmiastową zmianę Apache zachowanie serwera.  Apache guess I na serwer sprawdza zmiany daty i godziny w ".htaccess" pliku po każdej nowej transakcji przychodzącej i serwer ładuje się, że plik, jeżeli zmiana daty i czasu uległa zmianie. 

Jeśli masz inny rodzaj internetowego serwera, musisz ustalić, jak MIME określać rodzaje, i należy się upewnić, że pliki *.jar i *.jad pliki są przypisane do odpowiednich rodzajów MIME. 

Będziesz wiedzieć, czy MIME typy nie zostały utworzone, jeżeli telefon komórkowy odmawia pobrać *.jad pliku i raporty następujący błąd: 

"406: Not Acceptable" 

10.3 Umieścić MIDI plik (*.mid) do Internetu Twój serwer internetowy

Skopiowałem MIDI plik o nazwie "kr.mid" do katalogu głównego serwera mojego internetowych.  Można użyć oprogramowania, takiego jak "Filezilla" do dokonania przelewu FTP proste i wygodne. 

10.4 MIDI Pobierz plik na swój telefon komórkowy za pośrednictwem telefonu usługi internetowe usługi

Do Motorola T720 GSM/J2ME telefon komórkowy, MIDI pobraniem pliku zaczyna się od "WebAccess" menu.  Wybór "Go To URL", a następnie wpisując URL z MIDI pliku, rozpoczyna się pobieranie.  Na przykład, w I wpisane następujące URL:
http://www.colinfahey.com/kr.mid
Jeśli pobieranie zakończy się powodzeniem, a jeśli używasz Motorola T720 cellular phone, będziesz mieć możliwość przechowywania plików na swój telefon komórkowy.  Gdy zdecydujesz się zapisać plik, pojawia się możliwość przechowywania w prosty zestaw dzwonków lub zamiast ustawiania pliku do bieżącego dzwonek (który również, jako efekt uboczny, w sklepach swój zestaw dzwonków) . 
Następujące obrazy Podsumowując proces pobierania i odtwarzania plików MIDI dla Motorola T720 GSM/J2ME telefon komórkowy.  Inne J2ME włączona telefonów komórkowych, telefon komórkowy z innymi dostawcami usług, które mogą mieć podobną procedurę pobierania.  Jeśli Twój telefon komórkowy jest Verizon usługodawcy, to na szczęście, nikt nie będzie działać z tym, należy iść i kupić "Android" telefonu, aby pomóc zniszczyć "zamkniętym telefonie" rynku! 
t720_screen_midi_download.jpg
(1) Główne ekranie: Naciśnij odpowiedni przycisk, aby wyświetlić menu głównego. 
(2) Main Menu: Przejdź do "WebAccess" poz. 
(3) WebAccess: Przejdź do "Go to URL" poz. 
(4) Enter URL: Wpisz w URL z MIDI plik (*.mid) na stronie internetowej. 
(5) Connecting: Poczekaj, aby rozpocząć pobieranie.  (Jeśli pojawi się komunikat o błędzie "406: Not Acceptable", a następnie internetowych Serwer nie przypisał odpowiednie MIME typ MIDI plików (*.mid))). 
(6) Downloading: Poczekaj na pobieranie, aby zakończyć. 
(7) Download Complete: Poczekaj na tym ekranie, aby zniknąć. 
(8) MIDI Playback: The MIDI plik zaczyna grać od razu.  Naciśnij przycisk menu, aby przejść do Tone Menu i przejdź do kroku (9), lub naciśnij przycisk "STORE" i przejdź do kroku (12). 
(9) Tone Menu: Masz możliwość grania ... 
(10) Tone Menu: Nie masz możliwość uzyskiwania informacji. 
(11) Details: Tutaj widzimy rozmiar w bajtach. 
(12) Store Options: Od krok (8) możemy trafić na "STORE", aby uzyskać dostęp do tego menu.  Masz możliwość przechowywania do telefonu kolekcja melodii.  Hit "SELECT" do sklepu. 
(13) Stored: The MIDI melodii zostało zapisane. 
(14) Total Bytes Transferred: To jest po prostu zgłoszenie liczby pobranych bajtów, dlatego, że nie jesteś zaskoczony przez telefon komórkowy nadchodzących usługi Bill! 

10.5 MIDI odtworzyć pliku w dowolnym momencie na telefon komórkowy

Można odtwarzać pliki zapisane MIDI w każdej chwili na swoim telefonu komórkowego, możesz użyć dowolnego pliku MIDI jako pierścień dźwięku.
t720_screen_midi_playback.jpg
(1) Główne ekranie: Naciśnij odpowiedni przycisk, aby przejść do menu głównego. 
(2) Main Menu: Przejdź do "Media Center". 
(3) Media Center: Przejdź do "My Tones". 
(4) My Tones: Zaznaczony sygnał zaczyna grać od razu.  Można zmienić nazwę z "EDIT" opcji.  Uderzając w menu daje inne możliwości. 

10.6 Ustaw pierścień stylu użyć pliku MIDI

Idź za pomocą następujących ekranów menu:

(1) Główne ekranie 
(2) Main Menu 
(3) Ring Styles: Notatka "SELECT" 
(4) [Silent, Soft, Loud] Detail: Notatka "CHANGE" 
(5) Calls: [current ring style/tune]: Notatka "CHANGE" 


Wskaż choć lista pierścień stylów (cichy, wibracje style, melodie stały pierścień, itp.), a na dole zobaczysz swój pobrany melodii.  "SELECT" po prostu naciśnij przycisk, aby dostroić swój nowy pierścionek aktywnych! 

11. Tworzenie, oferowanie i pobieranie obrazów

11.1 Utwórz 120 * 160 GIF plik obrazu (*.gif)

Następujące kroki mogą być wykorzystywane do tworzenia 120 * 160 GIF plik obrazu (*.gif) nadaje się do wyświetlania na Motorola T720 GSM/J2ME telefon komórkowy, albo jako tło dla głównego ekranu, lub jako obraz w galerii zdjęć. 
(1) Otwórz dowolny plik obrazu z Microsoft Paint lub Adobe Photoshop lub innego odpowiedniego oprogramowania do edycji obrazu; 
Skala (2) lub przyciąć obraz do 120 pikseli szerokości i 160 pikseli wysokości (tj.  podstawowy 120 * 160 piksel obrazu); 
(3) Zapisz plik w GIF format obrazu (*.gif); (Adobe Photoshop W drodze do tego jest: File -> Export -> Gif89a) 
Plik obrazu musi być w GIF plik obrazu w formacie Motorola T720 tak, że telefon komórkowy jest zdolny do dekodowania i wyświetlania obrazu.  Jeżeli wymiary zdjęcia są dokładnie 120 * 160, a następnie obraz będzie idealnie nadające się na ekranie telefonu komórkowego w Motorola T720; inny obraz będzie miał puste po obu stronach granicy. 
Uwaga: je pomyślnie pobrana i wyświetlona *.gif jeden plik obrazu, który został 118 * 120 pikseli, który jest mniejszy niż rozmiar ekranu 120 * 160.  Myślę, że pozostała część ekranu jest wypełniona kolor wybrany z granicy obrazu.  Być może kolor piksela na piksel w lewym górnym rogu obrazu jest używany jako kolor dla pustych granicach otaczających dwie strony tego obrazu. 
Motorola T720 na telefon komórkowy może wyświetlić 4096 kolorów, co myślę, że jest zakodowany jako 12-bit RGB (4-4-4).  Dlatego, myślę, że obrazy z małych kolor gradienty, że duże obszary należy unikać, gdyż granice te gradienty będą bardzo oczywiste i odwracają się do osoby, patrząc na obraz.  Ponadto, GIF format jest ograniczony tylko do 256 różnych kolorów, a więc osoba musi mieć świadomość tego ograniczenia, too.  W każdym razie, zawsze jest najlepiej wystarczy spojrzeć na zdjęcie na telefon komórkowy, aby wiedzieć, czy obraz jest odpowiednia do telefonu komórkowego. 
si.gif
Space Invaders (Space Invaders): a 120 * 160 GIF obrazu

11.2 Umieścić GIF plik obrazu (*.gif) do Internetu Twój serwer internetowy

Skopiowałem GIF plik o nazwie "si.mid" do katalogu głównego serwera mojego internetowych.  Można użyć oprogramowania, takiego jak "Filezilla" do dokonania przelewu FTP proste i wygodne. 

11.3 GIF Pobierz plik na swój telefon komórkowy za pośrednictwem telefonu usługi internetowe usługi

Do Motorola T720 GSM/J2ME telefon komórkowy, GIF pobraniem pliku obrazu rozpoczyna się "WebAccess" menu.  Wybór "Go To URL", a następnie wpisując URL z GIF pliku, rozpoczyna się pobieranie.  Na przykład, w I wpisane następujące URL:
http://www.colinfahey.com/si.gif
Jeśli pobieranie zakończy się powodzeniem, a jeśli używasz Motorola T720 cellular phone, będziesz mieć możliwość przechowywania plików na swój telefon komórkowy.  Gdy zdecydujesz się zapisać plik, pojawia się możliwość przechowywania w prosty zestaw obrazów lub ustawienie pliku zamiast być obecne w tle (np.  "tapety)." 
Następujące obrazy Podsumowując proces pobierania plików graficznych GIF dla Motorola T720 GSM/J2ME telefon komórkowy.  Inne J2ME włączona telefonów komórkowych, telefon komórkowy z innymi dostawcami usług, które mogą mieć podobną procedurę pobierania.  Jeśli Twój telefon komórkowy jest Verizon usługodawcy, to na szczęście, nikt nie będzie działać z tym, należy iść i kupić "Android" telefonu, aby pomóc zniszczyć "zamkniętym telefonie" rynku! 
t720_screen_image_download.jpg
(1) WebAccess: Przejdź do "Go to URL" poz. 
(2) Enter URL: Wpisz w URL z GIF plik obrazu (*.gif) na stronie internetowej. 
(3) Connecting: Poczekaj, aby rozpocząć pobieranie.  (Jeśli pojawi się komunikat o błędzie "406: Not Acceptable", a następnie internetowych Serwer nie przypisał odpowiednie MIME typ GIF plików graficznych (*.gif))). 
(4) Podgląd pobrany obraz, z opcją "STORE" (magazynu) obrazu w pamięci telefonu komórkowego; 
(5) Store Options: The GIF obraz może być przechowywany po prostu, czy może on być stosowany w celu zastąpienia obecnego "tapetę" (tło na ekranie głównym), czy może on być stosowany jako "wygaszacz ekranu" (np.  obraz, który będzie wyświetlany, gdy telefon komórkowy przyciski nie były tłoczone na określony czas). 
(6) Changed: Wallpaper [image name]: To jest po prostu zgłoszenie, że "tapeta" została zmieniona. 
Pojawienie się (7) Do tego głównym ekranie telefonu komórkowego po "tapetę" (np.  tło) obraz został zmieniony.  "Space Invaders" mają podbił mojego telefonu komórkowego! 

11.4 GIF animowany obraz do użycia jako "wygaszacza ekranu" na telefon komórkowy

Aby pobrać obraz animowany GIF do użycia jako "wygaszacza ekranu" na obraz swój telefon komórkowy, wystarczy postępować zgodnie z instrukcjami w poprzednim rozdziale tego dokumentu za przygotowanie i pobieranie obrazu. 
Jeśli GIF obrazu jest GIF animacji, a następnie "wygaszacz" ekranu wyświetli tej animacji. 
Wystarczy ustawić obraz jako "wygaszacz" ekranu obrazu po obraz został pobrany. 
Następujące GIF animowany obraz może być stosowany jako "wygaszacz" animowany obraz na Motorola T720 GSM/J2ME telefon komórkowy. 
sun.gif
GIF animowany obraz, który może być użyty jako "wygaszacz ekranu" animacji obrazu na Motorola T720 GSM/J2ME telefon komórkowy.
Niestety, Motorola T720 telefon komórkowy nie ożywiać w "tapeta."  Byłoby bardzo awesome aby otworzyć telefon komórkowy i zobaczyć animacji w tle na głównym ekranie!  :^( 

Wyświetlana będzie tylko animowany GIF pojawiają się na Motorola T720 telefonu komórkowego, gdy telefon wejdzie w trybie "wygaszacza ekranu," które mogą wymagać, 30 sekund lub więcej, aby rozpocząć.  (Można to ustawić opóźnienia w jednym z menu).  Ekranie oświetlenia jest prawdopodobne, aby wyłączyć zanim pojawi się wygaszacz ekranu.  "Wygaszacz" ekranu nie pojawi się w trakcie rozmowy telefoniczne.  Dlatego też, biorąc pod uwagę wszystkie te fakty, "wygaszacz" ekranu z funkcją Motorola T720 telefon komórkowy jest dość kulawy. 

12. Motorola T720 GSM/J2ME telefon komórkowy ustawienia dla sieci telefonii komórkowej AT&T

12.1 Wstęp

Ta sekcja Ten dokument jest mało prawdopodobne, aby być użyteczne dla każdego, ponieważ ta sekcja opisuje ustawienia na telefon komórkowy bardzo konkretnych (Motorola T720 GSM/J2ME) do bardzo konkretnych dostawcą usług telefonii komórkowej (AT&T) w bardzo konkretny region (Southern California).  Jednak ja zawierać informacje o tym historycznym. 

12.2 Web Sessions ustawienia

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)
Ponadto, istnieje DNS ustawienie Java programów:
Main Menu
  Settings
    Java Tools
      DNS IP:  10.250.1.10

12.3 Komentarze

(1) Doing "master reset" będzie ustawić WAP Port numery do "9201," więc te muszą zostać zmienione na "9203." 

(2) wtórnego WAP IP and Port jest ustawiona na tej samej IP i portu jako podstawowy WAP ustawienia.  Byłem w stanie wykorzystać "mMode" (czyli przejść do dowolnej URL) z całkowicie puste wtórne WAP ustawienie, ale miałem "Line Type 1: Modem" w tym czasie.  Nie wiem, czy ustawienie go "ISDN" sprawia, że bardziej prawdopodobne, że wtórne WAP ustawienia zostaną wykorzystane. 

A (3) "począt" sprawia, że "Timeout:" dziedzinie "15 minutes".  Zmień wartość "2 minutes". 

(4) W "Name:", "Homepage:", i obejmują wszystkie dziedziny "GPRS APN:" wpisywanie liter i symboli ręcznie. 

(5) W dziedzinach, które pokazywane są puste w powyższym przykładzie są przeznaczone do naprawdę nie ma żadnego tekstu wpisane.  Puste pola nie są przypadkowe. 

13. Linki do innych zasobów telefonów komórkowych

13.1 Motorola J2ME SDK 3.0

Motorola ma Software Development Kit SDK, że zawiera emulator zdolne do emulacji wielu Motorola telefonów, w tym T720.  Możesz pobrać ten SDK za darmo, i nie trzeba CodeWarrior korzystać z telefonu wraz z emulatorem SDK, mimo wszelkich wzmianek o CodeWarrior na Motorola stronie internetowej.  Ponadto, w ogóle myślę, że można dostać bez CodeWarrior lub przez Motorola SDK nawet jeśli robisz rozwoju zawodowego dla T720.

Musisz się zarejestrować w Motorola nawet dowiedzieć się o ich J2ME SDK, niech sam go pobrać. 

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

Istnieje kilka funkcji do gry "Compact MIDI" a nawet "*.wav" plików.  Zainstalować i zapoznać się z dokumentacją, aby dowiedzieć się więcej szczegółów. 
Oto komentarz otrzymałem w wiadomości e-mail:
W Motorola J2ME SDK daje (między innymi) do "skóry" tak, że emulator emulator będzie wyglądać w telefonie masz do programowania.  To więcej niż kosmetyczne.  Rozmiar ekranu może się różnić na przykład, więc jeśli coś projektowaniu gdzie rozmiaru ekranu sprawach, to z pewnością pomaga się emulator, który pasuje do docelowej.  W SDK obejmuje również niektóre Motorola otwarte Java utworzone klasy o nazwie Lightweight Windowing Toolkit, że daje pewne tego, co jest potrzebne do tworzenia aplikacji z prawdziwego UI - UI różne wzory. 

Można uzyskać przez bez niego, ale jeśli robisz były poważne prace prawdopodobnie reklamodawca chce go mieć.  Gdybym był na tworzenie rzeczy Sony Ericsson lub Nokia lub jakiegokolwiek innego telefonu, Poproszę SDKs ma ich zbyt. 
Oto cytat z Motorola's stronie internetowej dotyczących ich SDK:
W Motorola Software Development Kit (SDK) dla platformy J2ME™ to narzędzie wykorzystywane do rozwijania i testowania programów napisanych w języku programowania Java.  W SDK zawiera aplikacje, które ułatwiają rozpoczęcie MIDlets (J2ME™ Programs) przy użyciu urządzenia Motorola J2ME™ emulatora.  Wszystkie te narzędzia pozwalają na opracowanie i debugowania programów w Twoim J2ME™ emulacji przed pobraniem ich do docelowego urządzenia.  W Motorola SDK mogą być brane pod uwagę Metrowerks' CodeWarrior™ Wireless Studio, Professional Edition, Version 7. 

Ta wersja z SDK zawiera liczne akcesoria dla wydajności i stabilności.  Wszystkie funkcje poprzednich wersji jest obsługiwana, z tych nowych funkcji: 

Nowe telefony obsługiwane przez tę wersję: A830. 

Nowe funkcje obsługiwane przez tę wersję: 

A830 - Gaming API, Serial Port Connectivity, HTTPS obsługę protokołów.
All devices - Lepsza wydajność grafiki

W SDK obsługuje następujące urządzenia:
*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

A friend of mine najwyraźniej nie miał problemu pobierania i korzystania z tego narzędzi - które najwyraźniej daje Ci wszystko, czego potrzebujesz (JDK, MIDP, CLDC) i dodatkowych narzędzi, aby JAD, itp.  I nie próbował go sam.  Tu są inne uwagi na temat tego narzędzi: 
Cytat z Slashdot delegowania: 
Można mieć zapisane pewne siebie draka instalowania wszystkich różnych narzędzi.  Wystarczy pobrać [sun.com] Sun ONE Studio 4 update 1, Mobile Edition, jej całkowicie bezpłatne (w piwa), i jest wielkim interfejsu Integrated Development Environment (około 20 MB pobrania).  Wszystkie narzędzia, emulatory i pokazy z tego artykułu są spakowane.  Ponieważ w zeszłym tygodniu jestem działa ona w ramach RH Linux 7.2, z 512mb z ram (YOU NEED LOTS OF RAM!!!). 

Wziął tylko jeden minut [sun.com] z pomijam regestration na ekranie, aby wzmocniono poprzez robaka gry w debugera  (I zawsze miłość gry robaka / snake / Nibbles we wszystkich jego wcieleniach, a wersja demo jest pięknie pod warunkiem zaprogramowany - prosty, ale obiektowych i wiele wątków w niewielką ilość kodu). 

Musisz się zarejestrować, aby pobrać.  Obsługiwane platformy: Linux, Windows, Solaris.
Cytat z Slashdot delegowania:
Od sun pobrać faq [sun.com]: 
"Ze względu na nasz sposób pobierania świadczenia usług zarządzania obsługuje sesji, nie można wznowić częściowe pobieranie danych przez kliknięcie na link ponownie w oknie przeglądarki.  Raczej otworzyć menedżera pobierania programu, którego używasz, i wznowić pobrania w Download Manager sama.

Będziemy kontynuować współpracę z naszym inżynierom, aby umożliwić obsługę większej liczby menedżerów pobierania na więcej platform.  Na razie jednak, należy wyłączyć wszelkie inne menedżery pobierania i obiektów użyteczności publicznej, jeżeli masz problemy pobrać."
Pobieranie dużych plików z sun pod linux była naprawdę trudna do około roku.  Jedynym download manager i do niedawna był w stanie dostać się do pracy została DAP pod windows (uwaga: Spyware).  Zasadniczo większość menedżerów pobierania (prozgui, getright, opera) nie będzie w stanie radzić sobie z Sun's [nieszczerość].  Ludicrously niż ustalenie ich stronie tylko do pracy, Sun napisali własne Download Manager [sun.com].  java w swoich pismach, a jedynie jej drobny 140KB!  W zaskakujące jest to, że jest to naprawdę wspaniałe Download Manager, drobny ślad, nie przejmowanie kontroli nad przeglądarką, nie adware / spyware, pracuje w żadnym OS, automatycznej weryfikacji plików, automatyczne unzips i stałe jako rock 

13.3 Random Post na forum:

W Jad i Jar pliki są tylko pliki niezbędne do uruchomienia aplikacji na telefon oraz, w zależności od telefonu i metody jesteś przeniesienie aplikacji do telefonu, można tylko potrzebne jar. 

Jeżeli wnioski mają być wysłane Over the Air (OTA), tj.  za pośrednictwem internetowej URL, trzeba będzie utworzyć link na stronie odczytanie przez telefon (np.  wml, cHtml, cHtml) do JAD pliku.  Do pobrania OTA będzie także potrzebny, aby skonfigurować serwer WWW do obsługi jar i jad typów plików.  W apache należy dodać następujące wiersze do pliku httpd.conf: 

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

Ponadto, będziesz musiał upewnić się, że URL dla jar plik jest URL dla JAR pliku na serwerze, a nie lokalnym URL 

Jeśli z drugiej strony chcesz przesłać za pośrednictwem IR, Bluetooth lub kabla wystarczy przenieść pliki do telefonu, zainstalować i uruchomić.  W JAD plik jest powszechnie używane w szczególności do zapewnienia telefon OTA informacje potrzebne do pobrania i jako takie, Nokia 7650 i kilka innych modeli tylko musimy przenieść plik jar dla OTA transferów. 

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

SAR (lub WTP-SAR) oznacza Segmentation and Reassembly.  Jest to funkcja opcjonalna z Wireless Transaction Protocol (WTP) ciągu WAP.  SAR definiuje metodę dla WAP bramy złamać dużą wiadomość (a JAR masz pobieranie plików, na przykład) na małe kawałki (segmentacji) oraz telefon do kawałka go z powrotem razem (na przebudowę). 

Nie wszystkie telefony wykorzystania SAR, ale większość z nich dostęp do serwerów za pośrednictwem WAP bramy.  Nokia używa SAR, natomiast Motorola używa funkcji HTTP 1.1 małe kawałki, aby pobrać plik z jednym naraz, a następnie ponownie go. 

Jeden problem, który wynika z obawy WAP bram MIME typy zwracane przez serwer WWW.  Jeśli użytkownik żąda JAD lub JAR plików i serwer zwraca zły MIME typu, bramy, a następnie telefonu zajmie przeniesienie niepoprawnie.  Aby zapewnić prawidłowe pobieranie MIDlets, MIME korzystać z następujących rodzajów: 

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

13.5 Random Post na forum

musisz mieć poprawne MIME ustawienia na serwerze, na którym przechowuje .JAD/.JAR plików.  Po tym będziesz mógł pobrać aplikacje do urządzenia.  Należy pamiętać, że: - proces ten jest dość specyficzne urządzenia (niekoniecznie przy użyciu protokołu WA)  - Ci lepiej mieć bezwzględnych ścieżek do .JAD i .JAR ustaw (tj.  http://www.fooserver.com/repository/JoeDoeApp.JAD) 

13.6 Random Post na forum

Przynajmniej w Siemens urządzeń, masz specyficzne dla konfiguracji Java, która jest różna od tej, WAP i GPRS.  Możesz poruszać WAP, ale kiedy midlet znajduje, inny instalacji jest automatycznie zmieniły się dokonać pobrania.  W M50 poręczne, musisz ustawić Java profile w zależności od parametrów twojego usługodawcy; w c55 poręczne, w sam zestaw nazywa "HTTP profile" i jest wykorzystywany także do innych rodzajów pobrania (np.  http połączenia w aplikacji) . 

13.7 Różne ciekawe linki na zaawansowanych aplikacji podpisania stuff

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

13.8 Bardzo fajne wprowadzenie programowania aplikacji

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

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

Aby wdrożyć swoje aplikacje bezprzewodowe zdalnie: 

Prześlij swoje pliki aplikacji (JAD i JAR) na zdalnym serwerze internetowym.  Jeśli twój projekt ma nazwę gry, na przykład, przesyłać pliki: games.jad i games.jar z bin katalogu projektu domu (na przykład, <toolkit>/apps/games/bin).  Należy pamiętać, że oba pliki muszą kończyć się w tym samym katalogu na serwerze. 

Ponowna konfiguracja serwera WWW tak, że rozpoznaje JAD i JAR pliki: 

Do JAD typ pliku, rozszerzenie pliku ustawić do .jad i MIME typu do text/vnd.sun.j2me.app-descriptor. 

Do JAR typ pliku, rozszerzenie pliku ustawić do .jar i MIME typu do application/java-archive. 

Jak skonfigurować serwer WWW, które z nich zależy od używasz.  Na przykład, jeśli używasz Tomcat, upewnij się, że Twoje web.xml plik zawiera następujące wiersze: 

<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> 


Zmień swój JAD pliku MIDlet-Jar-URL własności określić URL Twoich JAR pliku.  Na przykład, w ci kopia games.jad przesłane do serwera, zmiany ... 

MIDlet-Jar-URL: games.jar 

...  do ...

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

13.10 Różne linki

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

13.11 Nokia J2ME programu rozwoju powiązań

Z Nokia witrynie:
Nokia's J2ME wykonania składa się z przemysłowymi standardami MIDP 1.0 i CLDC 1.0.  Platforma jest przedłużony o Nokia User Interface (UI) API.  Daje programistom dostęp do stosowania pewnych podstawowych funkcji telefonu, że nie jest określony przez CLDC 1.0 lub MIDP 1.0.  W Nokia UI API zapewnia prosty dostęp do funkcji audio, wibracje, wyświetlacz oświetlenia, jak również niektóre grafiki związane z akcesoriów. 
Od wiadomości e-mail otrzymałem:
Więc Nokia wydaje się być naprawdę otwarcie się telefony do wszelkiego rodzaju niestandardowe zmiany można myśleć.  Można dodać do drgań java gier, dodać do baniek cartoon zrobieniu zdjęcia, a nawet przesłać zdjęcia do Twojej strony!  Można napisać swój własny serwer, a ludzie mogą przesłać materiały do Ciebie! 
Oto niektóre 7650 fajne linki:
DOOM na 7650!!: http://www.wildpalm.co.uk/Doom7650.html 
7650 na stronie: http://www.nokia.com/nokia/0,1522,,00.html?orig=/phones/7650/index.html 
Nokia J2ME FAQ: http://www.nokia.com/nokia/0,5184,2776,00.html 
Pobierz SDKs, J2ME samouczków i więcej: http://www.forum.nokia.com 

13.12 Program łączy telefon komórkowy

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

14. J2ME porównaniu BREW

14.1 Wstęp

Istnieją dwie dominujące platformy oprogramowania dla urządzeń mobilnych: J2ME i BREW.  Wiele telefonów komórkowych mieć przewoźników zdecydowała się oferować telefony z J2ME wsparcia: AT&T, T-Mobile, a Sprint.  Jedną z głównych przewoźnik zdecydował się wyłącznie ofertę telefonów z BREW wsparcia: Verizon. 

Urządzenia, które obsługuje J2ME mogą wykonywać J2ME programy, ale nie może wykonywać BREW programów.  Urządzenia, które obsługuje BREW mogą wykonywać BREW programy, ale nie może wykonywać J2ME programów. 

Producenci urządzeń mobilnych często oferują kilku różnych wersjach w oparciu o bezprzewodową transmisję normy.  Na przykład, Motorola oferuje dwie wersje tego T720: GSM i CDMA.  Przypadkowo, w GSM wersji z T720 obsługuje J2ME programy, a CDMA wersji z T720 obsługuje BREW wniosków.  Tak więc, chociaż bezprzewodowego nadawania normy nie są technicznie związane z telefonu systemów operacyjnych, sytuacji na rynku doprowadziły do tej przypadkowej korelacji. 

14.2 Telefon komórkowy usługodawców zdecydować, co klient może zrobić z telefonu komórkowego urządzenie

Oto podsumowanie tego, co telefon komórkowy usługodawców klienci mogli zrobić: 
[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 oferuje najlepsze klienta i dewelopera dostęp do telefonu komórkowego i urządzenia do plików multimedialnych w Internecie.  Najwyraźniej AT&T postanowiła skupić się na działalności w zakresie transportu bajtów za pośrednictwem swoich sieci, a nie próbować się w branży sprzedaży treści multimedialnych. 

Verizon jest najbardziej dręczącego dostawcą usług telefonii komórkowej z nich wszystkich.  "Get It Now."  ich modelu biznesowego, który zakłada ograniczenie sztucznie klienta wykorzystania własnych telefonów komórkowych w celu ochrony urządzeń biznesowych sprzedaży treści multimedialnych, zainspirował wielu udaremniony klientów do wypowiedzenia umów z Verizon lub znalezienia sposobów na ominięcie "Get It Now."  portalu.  Podobnie jak kina i arenach sportowych mogą obciążyć niezwykle wysokie ceny żywności, ponieważ klienci nie mogą łatwo uzyskać dostęp do alternatywnych źródeł pożywienia w tych okolicznościach (np.  brak dostępu do konkurencji), Verizon mogą obciążyć niezwykle wysokie ceny za dostęp do plików multimedialnych i oprogramowania, ponieważ klienci nie mogą łatwo uzyskać dostęp do alternatywnych źródeł dla plików multimedialnych i oprogramowania. 

14.3 Binary Runtime Environment for Wireless (BREW)

BREW jest "Binary Runtime Environment for Wireless, prawnie oprogramowania platformy opracowane przez QUALCOMM.  Aby dowiedzieć się więcej o BREW, odwiedź następującą witrynę internetową: 

http://www.qualcomm.com/brew

W SDK można pobrać z Qualcomm.  W 2002 r.  SDK mogłyby zostać wykorzystane do tworzenia oprogramowania przy użyciu Microsoft Visual C++ 6.0 i programy mogłyby być przekazywane do telefonu komórkowego bez "testu podpisu." 

Wszystkie telefony z Verizon umów wykorzystania BREW.  Wszystkie programy, zdjęcia, muzykę i muszą być przekazywane za pośrednictwem portalu Verizon's "Get It Now!", i zazwyczaj obejmuje wnoszenia opłat poza sieci koszty. 

14.4 Java 2 Platform, Micro Edition (J2ME)

J2ME jest "Java 2 Platform, Micro Edition", "wysoce zoptymalizowany" Java Runtime Environment.  Aby dowiedzieć się więcej o J2ME, odwiedź następującą witrynę internetową: 

http://java.sun.com/j2me

Można już zrobić kilka Java programowania.  J2ME zawiera wiele z Java klasy desktop wykorzystywanych do programów komputerowych.  Oczywiście, każdy Java klas, które są Java czystego kodu, a nie zależy od jakiegokolwiek sprzętu lub funkcji systemu operacyjnego, mogą być skompilowane do realizacji w ramach Java wszelkie maszyny wirtualnej. 

Osoba może tworzyć wątki, gniazd, grafika płócien, itp, bardzo łatwo.  Osoba, tylko trzeba pobrać *.JAR plik (i ewentualnie *.JAD pliku), aby zainstalować aplikację na telefon komórkowy. 

Pobieranie Java SDK jest bezpłatne.  Dokumentacji dla Java jest dokładna.  Miliony ludzi rozwinęły kod Java.  Istnieją liczne internetowe fora dyskusji Java różnymi aspektami programowania. 

W zaledwie minut przeszukiwania Internetu, znalazłem setki ciekawych programów, a także obrazy i efekty dźwiękowe, dla wszystkich Motorola T720 GSM/J2ME telefon komórkowy - Koszt wszystkie pliki i nic do pobrania. 

Jestem bardzo podekscytowany, będąc w stanie w pełni wykorzystać multimedialne aspekty mojej własności (tzn.  mój telefon komórkowy) bez konieczności zapłaty mój telefon komórkowy usługodawcy coś więcej niż korzystanie z ich sieci telefonii komórkowej. 

14.5 Moje BREW i Verizon horrorem

Mam oprogramowanie tworzone dla obu J2ME i BREW platform, w mojej opinii, myślę, że obie technologie mają swoje wady i zalety, i oba są bardzo zdolne są wykorzystywane do tworzenia zaawansowanych programów bardzo łatwo. 

Niemniej jednak, że firma jest zainteresowana w tworzeniu i sprzedaży oprogramowania dla telefonów komórkowych powinna rozpocząć się poprzez rozważenie jednym pytanie: "Jeśli rozwijania oprogramowania, będę mieć możliwość sprzedawania go?" 

Jeśli firma rozwija oprogramowanie dla J2ME platformy, a następnie telefonów komórkowych większość dostawców usług klientom, aby przejść do dowolnej strony internetowej i pobrać wszelkie J2ME oprogramowania, bez nakładania żadnych kosztów poza kosztem transferu bajtów poprzez sieci telefonii komórkowej.  Tak więc, oprogramowanie rozwój biznesu jest pewne, aby móc mieć dostęp do potencjalnych klientów, i może mieć swoje własne ustalenia dotyczące zbierania pieniędzy od klientów za zakup oprogramowania. 

Jeśli firma rozwija oprogramowanie dla platformy BREW, Verizon następnie decyduje, czy oprogramowanie będzie dostępne w sprzedaży dla klientów.  Ponadto, Verizon będzie wyciąg duży procent ceny sprzedaży oprogramowania dla przywileju będą mogli sprzedawać swoje oprogramowanie za pośrednictwem wyłącznych portalu. 

Oto moja BREW i Verizon horrorem: 

Miałem wyjątkowy pomysł na program dla telefonów komórkowych w czasie, gdy telefonów komórkowych zaczęli być w stanie wykonać BREW i J2ME programów.  Byłem bardzo podekscytowany, bo uwierzyli, że mogą tworzyć i publikować unikalny program dla tych platform na długo przed jakimkolwiek konkurentów byłby gotowy do stworzenia podobnych produktów.  Byłem przekonany, że może wreszcie zrobić coś w moim życiu, które mogłyby mnie zamożnych.  Więc, mogę zakończyć moją pracę i rozpoczął prace nad BREW wersji oprogramowania mój pomysł.  Po sześciu miesiącach ciężkiej pracy, dochodów i nie miałem z moją gotowy BREW programu!  Byłem gotowy do przedstawienia go do Qualcomm do testowania. 

To kiedy dokonał straszliwe odkrycie: Nawet jeśli mój program zdały zapewnienia jakości badań, Verizon musiałby zatwierdzić ze sprzedaży mojego oprogramowanie - odrzucać i Verizon może mojego oprogramowania do jakiegokolwiek powodu (poza oczywistych powodów jest obraźliwe lub w konkurencji z innym aspektem działalności Verizon's).  Po prostu nie mogę sobie wyobrazić takiej możliwości.  Wszystko mogę poczytać o rozwoju BREW dorozumiany, że wyzwanie było przejść zapewnienia jakości badań.  Nic nie mogę odczytać wskazał, musisz mieć program zatwierdzony przez telefon komórkowy usługodawców.  I nie byłby zaskoczony, aby dowiedzieć się, że telefon komórkowy usługodawców może zdecydować się nie sprzedawać obraźliwe lub szkodliwych programów, takich rozważań, ale wydawało się tak mało ważny dla mojego projektu, zwłaszcza, że nie mogę pomyśleć o bardziej ogólne pojęcie, że telefon komórkowy może wybrać usługodawców nie sprzedajemy zwykłych programów! 

Jeden z moich przyjaciół, którzy już sprzedane kilka gier wideo za pośrednictwem programów Verizon, zapytano reprezentatywną Verizon jeśli Verizon by zatwierdzić moje oprogramowanie do sprzedaży w swojej sieci ...  W Verizon przedstawiciel powiedział: "nie," ponieważ nie były kilka innych programów w tym gatunku już szerokie.  Moje oprogramowanie było słownik opiekun (ze szczególnym uwzględnieniem do SAT i GRE standaryzowane testy), ale Verizon przedstawiciel powiedział, że słowo gatunek gry było już "zatłoczone," mimo że było mniej niż 10 wyrazów pokrewnych programów w całej "Pobierz Teraz."  Portalu, a także inne programy były bardzo różne (np.  krzyżówki, "Scrabble", "Boggle", itp).  Mój program był osiągnięcia technologiczne: definicje on przechowywany 5000 Słownik wyrazów, wraz z synonimami i antonyms, i słowa znaczeniu grupy (tak, że pytania quizu byłoby wyzwanie), w programie, że był mniejszy niż 1 MB.  Mój program byłby unikalny na rynku od wielu miesięcy, i potencjalnie na kilka lat. 

Byłem wściekły, smutni, połamał i finansowo.  Sześciu miesięcy prac zostało zmarnowane, ponieważ wszystkie Verizon tylko chciał, że oprogramowanie zostało niektórych sprzedać tysięcy egzemplarzy ich sprzedaży w portalu, a Verizon przedstawiciel nie uważam mojego oprogramowania miały wysoki potencjał sprzedaży. 

Oto najważniejsze lekcji dowiedziałem się z tego gorzkie doświadczenia:  Sprawdź co część biznes planu przed rozpoczęciem prac.  (Najlepiej, co część biznesplanu może być wielokrotnie testowany przez rzeczywiste wykonanie różnych krytycznych procedur, przed iw trakcie wysiłku, aby stworzyć produkt). 

I powinien mieć sprawdzony, czy nie byłoby prawdopodobne przeszkody w sprzedaży oprogramowania przed moim Zacząłem rozwijać oprogramowanie.  I would have Verizon odkrył, że może zdecydować się na nie pozwolić mi sprzedać moje oprogramowanie. 

Dowiedziałem się drugą lekcję:  Uniknąć sytuacji, w której inni ludzie mają zdolność do określenia, czy masz dostęp do klientów! 
colinfahey.com
informacje kontaktowe
English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية