English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية 
J2ME développement de logiciels pour téléphones cellulaires
(2002)
Colin Fahey
moto_t720_open_lightanddark02.jpg
Motorola T720 téléphone cellulaire, montre ouvert

1. Avertissement

Ce document est obsolète!  Les informations contenues dans ce document aurait pu être valable et utile au cours de l'année 2002, mais beaucoup de choses ont changé dans les années à venir!  Ce document ne doit plus être considéré comme un document historique intéressant de l'année 2002.  Ne comptez pas sur toute information ou des conseils dans le présent document.  Toutes les informations techniques contenues dans ce document est très ancien. 

Téléchargement de lui-logiciel, lui-images, et l'auto-créé des mélodies de téléphone d'alerte (c'est-à-dire, « sonneries), » a été relativement rares et difficiles au cours de l'année 2002.  Malheureusement, six ans plus tard, certains téléphone cellulaire fournisseurs de services (y compris Apple, qui prévoit la compétence exclusive de logiciels et de « sonneries » pour le portail iPhone) encore imposer des restrictions sur le téléchargement de logiciels, images, et de la musique, parce que téléphone cellulaire dont jouissent les fournisseurs de services financiers de très gros profits par le contrôle de ces types de téléchargements. 

Heureusement, les téléphones cellulaires telles que celles auxquelles le « Android » plate-forme logicielle, à jamais mettre fin à la capacité des entreprises à créer et à exploiter les marchés fermés pour de telles utilisations des téléphones cellulaires.  Bien que les consommateurs volontiers acheté téléphone cellulaire que les plans de service inclus des coûts très élevés pour le téléchargement de logiciels, images, et de la musique, c'est en raison du nombre limité de téléphone cellulaire options de service disponibles. 

La dynamique économique qui ont permis à certaines entreprises de se développer à dominer le marché ne devrait pas être interprétée comme une approbation implicite forte par les consommateurs.  À mesure que les entreprises commencent à dominer, et puis, il est difficile ou impossible pour les concurrents d'entrer sur le marché, les entreprises dominantes peuvent offrir des produits qui combinent haute valeur positive (par exemple, la capacité de communiquer de n'importe où) avec une grande valeur négative (par exemple, les prix élevés souhaitable pour les logiciels, images, et de la musique, autant d'éléments qui, autrement, seraient librement disponibles; ainsi, le service ajoute une valeur négative).  N ° consommateur est forcé d'acheter un téléphone cellulaire, mais il ne fait aucun doute que le téléphone cellulaire dominante des fournisseurs de services ont progressivement créé des conditions qui ne peut pas être considéré comme un « marché libre. »  Par conséquent, le service de téléphone cellulaire marché a été « économiquement » inefficace et a été un fardeau excessif sur les consommateurs. 

Il faut espérer que, les exigences de téléphone cellulaire que les fréquences radio de service à la disposition des services concurrents de restaurer les valeurs normales de marché de transfert de données, tels que téléphone cellulaire les fournisseurs de services sont de nouveau réduits à de simples transporteurs de données (c'est-à-dire, seulement de fournir la bande passante) plutôt que d'information ou de divertissement fournisseurs ! 

L'entreprise de transport de données doivent être séparés de l'entreprise de vente de données, sinon il y aura une incitation pour les entreprises de transport de données pour bloquer les concurrents de vendre des données par le même canal de transport de données. 

La console de jeu vidéo marché souffre du même problème.  Les fabricants de console de jeux vidéo matériel sont dans le domaine de la création de dispositifs qui permet d'afficher les jeux vidéo, mais ces mêmes entreprises ont également le contrôle exclusif du transfert de logiciels à ceux des consoles de jeu vidéo.  Par conséquent, il est une incitation à la console de jeu vidéo pour bloquer les fabricants concurrents de la vente de logiciels pour les consoles de jeux vidéo.  Si une console de jeu vidéo fabricant de matériel axé sur la conception et la fabrication de matériel qui pourrait être vendu à un bénéfice (au lieu d'une perte importante, comme dans le X-Box et PlayStation et Nintendo consoles de jeux vidéo), puis le marché du jeu vidéo qui se développent, et la qualité des meilleurs jeux vidéo améliorer d'une façon spectaculaire, et le coût de jeux vidéo s'effondrerait. 

2. Index des sujets

(1)
J2ME outils de développement
(2)
Simple J2ME program
(3)
Complexe J2ME program
(4)
Sun « boîte à outils sans fil »
(5)
Offre des logiciels sur un site Internet
(6)
Téléchargement de logiciels à partir d'un site Internet
(7)
Télécharger les messages d'erreur et les messages d'erreur d'installation
(8)
Créer, d'offrir, et le téléchargement de « sonneries »
(9)
Créer, d'offrir, et à télécharger des images
(10)
AT&T téléphone cellulaire paramètres de configuration (pour le réseau)
(11)
Liens vers d'autres ressources téléphone cellulaire
(12)
J2ME contre BREW

3. J2ME outils de développement

Cette section décrit la façon de télécharger des outils de développement qui peuvent être utilisés pour compiler le code source J2ME dans les fichiers à la classe appropriée pour les appareils mobiles.  Notez que le Sun « J2ME Wireless Toolkit, » qui sont examinées dans une section ultérieure du présent article, il faut télécharger le Java SDK décrites dans cette section. 

3.1 JDK 1.4 (ou plus)

Cela signifie que vous avez besoin de l'classiques Java 2 SDK de Sun.  J'ai téléchargé et utilisé la version 1.4 via le lien suivant:
http://java.sun.com/j2se/1.4/download.html
Voici ce que la page de téléchargement se présente comme suit:
java2sdk_download_page.jpg
Démarrez l'installation du logiciel.  Installer à l'emplacement par défaut ( c:\j2sdk1.4.0_03 ) à moins que vous êtes en mesure de résoudre les problèmes voie mai que se posent. 

3.2 Connected Limited Device Configuration (CLDC)

Je ne vais pas prétendre savoir ce que c'est, mais j'ai simplement téléchargé à partir du site Web Sun.
http://wwws.sun.com/software/communitysource/j2me/cldc/download.html
Voici ce que les principaux CLDC page Web de téléchargement se présente comme suit:
cldc_download_page.jpg
1.0.3 seulement était disponible au moment où je me suis rendu.
Pour télécharger ce, j'avais besoin de s'inscrire auprès de Sun site Web.  J'ai créé le profil suivant:
Username:        anon***anon
Password:        nospamplease
Favorite color:  blue
Full name:       Prof. Anon Nospamplease
J'ai téléchargé le fichier suivant:
j2me_cldc-1_0_3-fcs-src-b17-winunix-14_sep_2001.zip
Je décompressés dans le répertoire suivant:
C:\j2me
J'ai renommé le répertoire de « cldc-1_0_3-fcs » simplement:
cldc (c'est-à-dire, le chemin d'accès complet est c:\j2me\cldc)

3.3 Mobile Information Device Profile (MIDP)

Je ne vais pas prétendre savoir ce que ce soit, mais j'ai simplement téléchargé à partir du site Web Sun.
http://java.sun.com/products/midp/
Voici ce que le principal MIDP page Web de téléchargement se présente comme suit:
midp_download_page.jpg
J'ai téléchargé le fichier suivant:
j2me_midp-1_0_3-fcs-src-b26-win-19_sep_2001.zip
Je décompressés dans le répertoire suivant:
C:\j2me
J'ai renommé le répertoire de « midp-1_0_3-fcs » simplement:
midp (c'est-à-dire, le chemin d'accès complet est c:\j2me\midp)

3.4 Configuration outils

3.4.1 Mettre en place des chemins

Ajoutez les lignes suivantes à votre fichier 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%
Ensuite, la force de ces variables à être rechargé en exécutant le fichier batch:
cmd_prompt_autoexec_bat.jpg
c:\>  autoexec.bat
Vous pouvez également mis en place ces mêmes variables en utilisant la variable d'environnement Windows du Panneau de configuration.

Notez que j'ai choisi de préciser explicitement les voies de répertoire de mon version actuelle de la Java 2 SDK.  Par conséquent, si je mettre à jour, puis je dois modifier le fichier AUTOEXEC.BAT de préciser les nouveaux répertoires. 

3.4.2 Vérifiez la Jave 2 SDK binaires

Une fois les paramètres ci-dessus prennent effet, vous devriez être en mesure de lancer le Java programs outil de l'invite de commande sans spécifier le chemin d'accès complet à l'outil programs. 

La commande suivante va démarrer le téléphone cellulaire émulateur de périphérique: 
cmd_prompt_midp.jpg
c:\>  midp
L'image suivante montre le téléphone cellulaire émulateur de périphérique: 
java_midp_launch.jpg

4. Simple J2ME program

4.1 Ecris Java code

En utilisant n'importe quel éditeur de texte, une personne peut taper dans le code, comme pour ce HelloMIDlet.java fichier de code source:
file_image_hellomidlet_java.jpg
Voici le code au format texte:
// 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 compiler le code de *.class

cd  c:\HelloMIDlet
Attention: La commande suivante doit être sur une seule ligne, mais a été élargi à plusieurs lignes de texte uniquement pour des raisons de clarté.
(Current directory: C:\HelloMIDlet)
javac
    -target 1.1
    -d .\
    -bootclasspath c:\j2me\midp\classes
    HelloMIDlet.java
cmd_prompt_javac.jpg
Note: Le « -target 1.1 » est nécessaire pour éviter une erreur dans l'avenir « preverify » stade.  Apparemment, cela a quelque chose à voir avec un problème avec MIDP 1.0.3 soutien dans JDK 1.4. 

4.3 Preverify de générer un nouveau fichier *.class

cmd_prompt_preverify.jpg
(Current directory: C:\HelloMIDlet)
preverify  -classpath  c:\j2me\midp\classes;.  HelloMIDlet
Cela génère un nouveau fichier *.class dans un nouveau sous-répertoire appelé « output » (par défaut).

4.4 Testez le nouveau fichier *.class

cmd_prompt_midp_midlet.jpg
(Current directory: C:\HelloMIDlet)
midp  -classpath  c:\j2me\midp\classes;.\output  HelloMIDlet
Cela commence l'émulateur de téléphone, indiquant que la nouvelle « output » répertoire contient des fichiers nécessaires *.class.
L'image suivante montre le résultat escompté.
java_midp_hellomidlet.jpg

4.5 Créer un nouveau fichier texte, « manifest.mf », et éditez le fichier

A « manifest.mf » fichier est indispensable pour obtenir un véritable téléphone cellulaire pour interpréter le contenu d'un fichier *.jar.  Si un bon « manifest.mf » fichier n'est pas inclus dans le fichier *.jar, puis le téléphone cellulaire peut-être réussi à télécharger le fichier *.jar, mais pourrait ne pas interpréter le fichier téléchargé, peut-être une erreur d'établissement de rapports tels que « Unsupported Content Type ». 
Le texte suivant est un exemple d'un simple fichier « manifest.mf ».
file_image_manifest_mf.jpg
Voici la « manifest.mf » fichier au format texte brut: 
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
Notez que le CLDC et MIDP versions sont spécifiées dans ce fichier.  Soyez très prudente et conservatrice lors de la modification des différents domaines au sein de ce fichier.  Si vous obtenez des erreurs « File Corrupt », puis essayer d'éliminer tous les domaines qui ne sont pas présentées dans cet exemple.  Aussi, mettre les domaines de l'ordre dans lequel ils apparaissent dans l'exemple.  En outre, chaque domaine de réduire la valeur autant que vous le pouvez, et gardez les caractères limite à de simples lettres, des chiffres, des périodes et des tirets.  Certains services de téléphonie cellulaire, et les téléphones cellulaires, peuvent tolérer plus de variations du champ de commande et le contenu des champs. 
Attention: 

« jar » Lorsque le logiciel est utilisé pour créer un *.jar fichier, et le « manifest.mf » fichier est spécifié que le fichier manifeste, le « jar » program lit le fichier manifeste et pourrait en ajouter d'autres champs car elle crée un fichier appelé « MANIFEST.MF » dans le fichier de sortie *.jar.  Par conséquent, si le « MANIFEST.MF » fichier est extrait à partir d'un fichier *.jar, et est ensuite comparé à l'original « manifest.mf » fichier spécifié lors de la création de la *.jar, les deux fichiers peuvent être différents, avec la « MANIFEST.MF » fichier contenant plusieurs autres domaines que le fichier original « manifest.mf » . 

Ne pas « MANIFEST.MF » extraire un fichier à partir d'un fichier *.jar et tenter de former un nouveau fichier à l'aide *.jar que fichier manifeste.  Si vous « MANIFEST.MF » extraire un fichier à partir d'un *.jar fichier, puis assurez-vous d'éliminer tous les domaines sauf pour ceux qui sont indiqués dans l'exemple « manifest.mf » fichier ci-dessus. 
Note:

Icônes pour programs apparemment ne figurent pas sur la Motorola T720 téléphone.  C'est la raison pour laquelle je n'ai pas décrire ma MIDlet avec une icône.  Toutefois, le texte suivant montre comment définir une icône pour le program dans le fichier manifeste: 

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

Lors de l'élaboration pour les téléphones cellulaires qui ne sont afficher des icônes pour les applications, spécifiez l'icône de fichier, et ajouter l'icône de fichier d'image elle-même à la *.jar fichier en spécifiant le nom du fichier entre les noms de fichier des fichiers à ajouter à la *.jar fichier. 

4.6 Placez le fichier « manifest.mf » et *.class fichier à un fichier *.jar

La commande suivante crée un fichier *.jar.  *.jar Le fichier contiendra le fichier spécifié manifest.mf, et contiendra les *.class fichiers trouvés dans le répertoire spécifié.
cmd_prompt_jar.jpg
Répertoire courant: C:\HelloMIDlet
jar  cfm  hi.jar  manifest.mf  -C .\output  HelloMIDlet.class
Complexe exemple hypothétique de la création d'un fichier *.jar
Supposons une icône de fichier d'image (par exemple, « icon.png ») est à paraître dans un fichier *.jar comme « /icon.png ».  (Note: Program icônes n'apparaissent pas sur la Motorola T720 téléphone cellulaire, mais ils apparaissent sur d'autres types de téléphone cellulaire, et de faire figurer dans le MIDP émulateur.) 

Supposons il ya un répertoire nommé « images » avec les fichiers image (format *.png).  Supposons que ce répertoire, et toutes les images contenues dans l'annuaire, doivent être accessibles Java à la program par la relative /images répertoire (par exemple une image que « a.png » serait accessible à l'aide de la voie « /images/a.png »). 

Supposons que tous les *.class fichiers produits par la commande preverify sont contenues dans un répertoire nommé « verified ».  Par exemple, la version vérifiée de la classe principale, « MyApp.class », serait dans l'« verified » dossier, ainsi que les autres classes de l'émission.  Toutes ces classes doivent être accessibles dans le répertoire racine de la *.jar fichier. 

La commande suivante va créer un fichier *.jar qui réalise les différents objectifs précisés dans les paragraphes précédents.  Attention: la commande a été élargi à plusieurs lignes de texte seulement ici pour plus de clarté.  Lorsque vous entrez la commande à l'invite de commande, la commande ne doit pas contenir de sauts de ligne; autrement l'interpréteur de commandes va interpréter le texte écrit en plusieurs commandes indépendantes. 

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 .
La dernière partie de la commande est difficile à comprendre.  Il a la signification suivante:  « Changer le répertoire de travail courant à .\verified, puis mettre *.class tous les fichiers trouvés dans le répertoire parent '.' (*.class à savoir tous les fichiers dans le répertoire de travail courant) à la *.jar fichier. »  Parce que le répertoire a été modifié avant de préciser le chemin des classes pour mettre en *.jar le fichier, le chemin d'accès local ne figurent pas dans le chemin d'accès relatif lorsque les fichiers sont placés dans le fichier *.jar. 

Par exemple, supposons que les classes sont vérifiées dans le répertoire suivant: 

C:\MyApp\verified 

Supposons que la classe il ya des fichiers tels que les suivants: 

C:\MyApp\verified\w.class 

Puis, en précisant « -C .\verified . » dans la commande pour créer le fichier *.jar, à partir d'un répertoire courant de « C:\MyApp », se traduira par « w.class » mis dans le répertoire racine de la *.jar fichier.  </ e>

Attention: Lorsque le « -C » option est spécifiée, elle change le répertoire courant à ce moment-là de traitement de la séquence globale des paramètres de commande à la commande jar.  Par conséquent, la commande pourrait jar plaindre de ne pas trouver d'autres fichiers mentionnés dans les paramètres de commande au-delà de la « -C » option.  Si cela se produit, il suffit de déplacer le « -C .\verified . » à la finale des paramètres de la commande. 

Le tableau suivant illustre verbose sortie de la commande jar. 
added manifest
adding: icon.png(in = 449) (out= 454)(deflated -1%)
adding: images/(in = 0) (out= 0)(stored 0%)
adding: images/a.png(in = 2463) (out= 2223)(deflated 9%)
adding: images/b.png(in = 1322) (out= 579)(deflated 56%)
adding: images/c.png(in = 3433) (out= 2874)(deflated 16%)
adding: images/d.png(in = 1524) (out= 801)(deflated 47%)
adding: w.class(in = 2570) (out= 1356)(deflated 47%)
adding: MyApplication.class(in = 4714) (out= 2169)(deflated 53%)
adding: x.class(in = 3239) (out= 1429)(deflated 55%)
adding: y.class(in = 14205) (out= 6481)(deflated 54%)
adding: z.class(in = 9448) (out= 5135)(deflated 45%)

4.7 Créer et éditer un nouveau fichier *.jad

A *.jad fichier est nécessaire pour que le téléphone cellulaire peut décrire un program d'ordinateur à une personne avant que la personne décide de télécharger le logiciel.  *.jad Le fichier fournit également des indirection de la *.jar lui-même. 
file_image_hi_jad.jpg
Un exemple de fichier *.jad, décrivant un fichier *.jar
Voici l'exemple hi.jad fichier en format texte:
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
Il ya des émissions qui peuvent générer le fichier *.jad, ce qui rend plus facile à mettre à jour les « MIDlet-Jar-Size: » domaine chaque fois que le *.jar fichier est modifié (et sa taille changements).  Si vous recherchez l'Internet vous trouverez des informations utiles J2ME programs. 

Si la taille domaine ne précise pas le total exact octet de la *.jar fichier, puis le message d'erreur suivant peut apparaître après un bon fichier à télécharger sur un téléphone cellulaire: « Download Failed » (téléchargement échoué). 

Pour la Motorola T720 téléphone cellulaire, le message d'erreur suivant peut être utilisé pour inidcate invalide champs dans le fichier *.jad, ou peut-être pas valide dans le champs MANIFEST.MF généré le fichier dans le dossier *.jar: « Failed: File Corrupt » (a échoué: fichier corrompu). 
Note: Si le fichier est *.jar dans le même répertoire que le fichier correspondant *.jad Internet sur un serveur Web, puis le fichier *.jad pouvez simplement indiquer le nom de fichier du fichier *.jar, sans préciser une URL, comme dans l'exemple suivant: 

MIDlet-Jar-URL: hi.jar 

Lors du téléchargement de ces fichiers à partir d'un Apache Internet serveur Web Motorola T720 à un téléphone cellulaire, il est acceptable de ne pas inclure la totalité URL.  Toutefois, lors du téléchargement de ces fichiers à partir d'un Yahoo!  serveur Web Internet à un téléphone cellulaire Motorola T720, la tentative de téléchargement échoue, à moins que URL un chemin d'accès au fichier *.jar est spécifié dans le fichier *.jad, comme dans l'exemple suivant: 

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

Je ne sais pas la raison de ce problème, et je sais que ce problème n'affecte pas d'autres téléphones cellulaires (téléphone cellulaire ou de prestataires de services).  Ayant à indiquer le URL pour la *.jar le fichier dans le dossier *.jad est évidemment gênant, parce que déplacer les fichiers à différents endroits sur un serveur, il faudrait changer les informations dans tous les fichiers *.jad.  Toutefois, en précisant la pleine URL pourrait faire *.jad la plus fiable pour certains téléphones cellulaires et de certaines téléphone cellulaire fournisseurs de services. 

4.8 Test de la *.jar fichier et le fichier *.jad par l'exécution des program

Le texte suivant exécute la classe dans le fichier *.jar, décrite par le *.jad fichier. 
cmd_prompt_midp_jar_jad.jpg
(Current directory: C:\HelloMIDlet)
midp  -classpath c:\j2me\midp\classes;.\hi.jar  -descriptor hi.jad

4.9 Références pour J2ME, MIDP, CLDC développement

Beaucoup de ce que j'ai présenté ici peuvent être trouvés sur de nombreux autres sites Internet.  Cependant, j'ai corrigé certaines erreurs constatées sur d'autres sites Internet, et a ajouté des détails manquants, et présenté l'ensemble l'expérience de quelqu'un qui essaie de faire ça.  Voici des liens très informative qui m'a aidé à démarrer: 
http://wireless.java.sun.com/midp/articles/getstart
http://wireless.java.sun.com/midp/articles/setup

5. Complexe J2ME program

5.1 Introduction

Le simple présentée dans la section précédente de ce document ne dispose que d'un seul fichier de code source, et le logiciel ne presque rien et n'est donc pas un bon exemple de programmation de téléphone cellulaire. 

Mon ami Sam Robertson a écrit un intéressant J2ME qui enseigne une personne à jouer le jeu de cartes « Blackjack » (également appelé « 21 »).  Un joueur est présenté « avec » un distributeur « de carte, » et le joueur de la paire de cartes, et le joueur doit décider ce qu'il faut faire: « séjour, hit, double-bas, ou » se séparent. 

Ce program a six fichiers de code source.  Le logiciel répond à l'entrée de l'utilisateur, et ne simple dessin et le texte des mises à jour. 
sbj_screen_on_phone.jpg

5.2 Code source

Cliquez sur le lien suivant pour obtenir le code source, et le fichier *.jad, « manifest.mf » fichier, un fichier batch, le tout dans un seul fichier ZIP.
sbj.zip
Le code source contenue dans un fichier ZIP
6090 bytes
MD5: bf3922035b7a4eef24e107d03b7524c9
Extrait d'un répertoire arbitraire, mais si vous avez extrait à « c:\ » sous Windows, l'exemple ci-après discussion sera encore plus proche de votre situation réelle.
sbj_directory_files.jpg
Extraction sbj.zip à « c:\ » crée le répertoire « c:\sbj »

5.3 Fichier manifeste

Dossier: « 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 Le fichier de commandes pour construire le program

Le fichier suivant est rude, mais il sert d'illustration de la manière dont vous pouvez commencer à écrire votre propre fichier pour construire votre J2ME program.  Ce fichier exemple le texte suivant:
(1) Supprimer le répertoire contenant les fichiers *.class ancienne; 
(2) Supprimer le répertoire contenant les anciens fichiers *.class vérifiées; 
(3) Faire un répertoire de sortie « des classes; » 
(4) rassembler toutes les sources *.java à *.class fichiers, avec la production va à l'annuaire « des classes. » 
(5) Faire un répertoire de sortie « vérifiée; » 
(6) Preverify toutes les classes dans le répertoire « classes, » et de mettre l'classes vérifié « vérifié » dans le répertoire. 
(7) Créer un *.jar fichier, et ajouter le fichier mainfest, et toutes les classes dans le répertoire « vérifié; » 
*(8) Test de la program via la preverified classes directement; 
*(9) Test de la program via la *.jar et *.jad fichiers; 

(*...  Ces mesures sont désactivées (par des commentaires) dans mon fichier batch.) 
sbj_build_sbj_bat_file.jpg
Le « build_sbj.bat » fichier batch pour la construction de la program
Voici la même (« build_sbj.bat ») fichier en format texte:
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 Construire à partir de l'invite de commande

Voici le résultat de l'exécution de la « build_sbj.bat » fichier à la ligne de commande:
sbj_build_command_prompt.jpg
L'exécution du fichier de « build_sbj.bat »
Notez que les messages d'avertissement pour la « rmdir » opérations et « del » simplement indiquer qu'il n'y a rien à enlever. 

Vous pouvez voir les nouveaux répertoires (c'est-à-dire, « classes » et « verified ») et le nouveau fichier *.jar que le résultat de l'exécution du fichier batch:
sbj_new_files_after_build.jpg
Fichiers de code source et le fichier généré de nouvelles

5.6 *.jad fichier

Pour déployer le fichier sbj.jar, nous avons besoin pour créer et éditer le fichier sbj.jad d'avoir la bonne taille *.jar dans le champ approprié:
Dossier: 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
Une personne pourrait avoir besoin d'ajouter la URL complet à la *.jar fichier *.jad lorsque le fichier est mis sur un site Internet - mais j'ai découvert (par un test) que j'ai pu éviter de mentionner la pleine URL (c'est-à-dire, je ne l'spécifié *.jar nom de fichier en lui-même).  Toutefois, la mise en URL complet, mais je tenais à vous faire savoir ce que j'ai observé.

5.7 Résumé

Ayant de multiples fichiers source de votre projet est commun, et dans cette section, nous a donné une illustration brut de la construction de plusieurs classes, suivie de l'emballage et l'exécution. 

S'il vous plaît voir la section ci-après en ce qui concerne l'aide Sun Wireless Toolkit, ce qui rend la création d'applications beaucoup plus facile. 

6. Sun « Wireless Toolkit (version 1.0.4_01) »

6.1 Introduction

Sun offre un environnement de développement pour la construction et de l'emballage J2ME programs: « Java 2 Platform Micro Edition (J2ME) Wireless Toolkit (version 1.0.4_01) ». 

(Attention: Vous devez télécharger le Java 2 SDK 1.4 tel que décrit dans une section précédente pour utiliser cette trousse d'outils.  Faites-le maintenant si vous n'avez pas déjà cette version du Java 2 SDK.) 

Aller au le site Internet suivant pour télécharger la trousse d'outils: 

http://java.sun.com/products/j2mewtoolkit/ 
Attention!
 

Ne pas cliquer sur le lien « 2.0 Beta 1 English » (actuellement l'option de téléchargement haut) si vous faites Motorola T720 développement - car cette version a MIDP-2.0 certaines choses, et de se déplacer dans cette mai être un mal de tête. 
j2me_wireless_toolkit_2_0_download_page.jpg
Ne pas télécharger cette version!  (« 2.0 Beta 1 English »)
J'ai essayé cette version, et j'ai finalement obtenu le code à compiler avec beaucoup de désordre paramètres des changements, mais après tout l'effort je suis une exception de sécurité lorsque j'ai essayé d'exécuter.  Ne pas déranger! 
Télécharger la version « 1.0.4_01 English ».  Voici ce que la page de téléchargement se présente comme suit: 
j2me_wireless_toolkit_1_0_4_01_download_page.jpg
La page de téléchargement Sun J2ME Wireless Toolkit (version 1.0.4_01)
j2me_wireless_toolkit_1_0_4_01_download_page2.jpg
Le Sun J2ME Wireless Toolkit (version 1.0.4_01) FTP liste de sites
Cela va télécharger le fichier suivant: « j2me_wireless_toolkit-1_0_4_01-bin-win.exe » 
Exécuter ce logiciel à installer sur votre système.

6.2 J2ME Wireless Toolkit: lancement barre d'outils

Après la trousse d'outils est installé, vous pouvez lancer à partir de la « Start » (début) système de menu:
j2me_wireless_toolkit_1_0_4_ktoolbar.jpg
A partir de la barre d'outils program
Vous pouvez également accéder à la documentation MIDP-1.0 par l'intermédiaire de la « Documentation » point dans ce Start (début) menu.
j2me_wireless_toolkit_2_0_wtk20_docs_api_index_html.jpg
J2ME Wireless Toolkit (version 1.0.4_01) documentation

6.3 J2ME Wireless Toolkit: projet de créer et de construire

j2me_wireless_toolkit_1_4_ktoolbar_window.jpg
La barre d'outils est prêt.  Cliquez « New Project... » de créer un nouveau projet.
j2me_wireless_toolkit_1_4_ktoolbar_new_project.jpg
New Project: Entrez le nom du projet (qui devient JAR nom et le nom du nouveau projet de répertoire), et le type de MIDlet nom de la classe (classe dérivée de MIDlet, essentiellement la classe principale de votre application). 
j2me_wireless_toolkit_1_4_ktoolbar_project_created.jpg
Barre d'outils: projet créé.  Notez que la console vous indique où placer votre *.java les sources des fichiers, etc  (par exemple, « c:\WTK104\apps\sbj\src », etc) 
j2me_wireless_toolkit_1_4_ktoolbar_project_settings.jpg
Cliquez sur « Settings... » sur la barre d'outils pour obtenir les paramètres de ce projet menu. 
Ne tenez pas compte des « MIDlet-Jar-Size » domaine (avec la valeur « 100 octets) » pour le moment.  Nous allons finalement causer la valeur correcte pour obtenir ensemble. 
j2me_wireless_toolkit_1_4_ktoolbar_project_midlet_settings.jpg
Cliquez sur l'onglet MIDlets projet de la boîte de dialogue de configuration.
Cliquez sur la seule ligne dans le tableau (« MIDlet-1 ») de mettre en évidence et sélectionnez-le.  Ensuite, cliquez sur le bouton « Edit ». 
j2me_wireless_toolkit_1_4_ktoolbar_project_no_icon.jpg
Clair « Icon » le domaine si vous n'avez pas de fichier *.png à mettre dans votre fichier *.jar. 
Est-ce que le texte suivant: 

(1) Project --> Clean: supprime tous les fichiers *.class;
(2) Build : réalisations *.class tous les fichiers et preverifies;
(3) Project --> Package --> Create Package : produit *.jar et *.jad
j2me_wireless_toolkit_1_4_ktoolbar_clean_build_create_package.jpg
Le résultat de la construction de la *.jar et *.jad
Lorsque vous faites ces trois étapes, les *.jar et *.jad sont immédiatement prêts à l'exécution dans l'émulateur local, ou pour un déploiement immédiat sur votre site Internet pour d'autres à télécharger « sur les ondes » (OTA).  Le *.jar taille dans le domaine *.jad fichier sera correcte.  Ne pas oublier de faire étape (3) chaque fois que vous reconstruire! 

Vous pouvez maintenant tester en pressant la touche « Run » (lancer) bouton. 
j2me_wireless_toolkit_1_4_ktoolbar_project_launch.jpg
j2me_wireless_toolkit_1_4_ktoolbar_project_running.jpg
Frapper « Run » pour le lit le projet *.jad à l'émulateur.  Vous pouvez sélectionner MIDlet spécifiques de lancer (en général un seul). 
Il suffit de copier le *.jar et *.jad fichiers à partir de l'emplacement spécifié (rapporté par la barre d'outils de la fenêtre de console au cours d'une construction du projet), telles que:
(A partir de la fenêtre de la console:)
Wrote c:\WTK104\apps\sbj\bin\sbj.jar
Wrote c:\WTK104\apps\sbj\bin\sbj.jad
Mettez ces fichiers directement sur votre site Internet, sans modification, et cela devrait fonctionner.  Voici ce que j'ai vu sur mon téléphone cellulaire après le téléchargement de cette application compilée « sur l'air » (OTA)
sbj_screen_on_phone.jpg
Sam Robertson's Blackjack Trainer (sbj.jar) d'exécution sur mon téléphone cellulaire

7. Offre des logiciels sur un site Internet

7.1 Veiller à ce que le serveur Web Internet MIME précise *.jar types de fichiers et dossiers *.jad

Si vous avez un Apache Internet serveur Web, vous devez créer un fichier nommé « .htaccess » au sein de votre site Web répertoire racine.  « .htaccess » Le fichier vous permet de passer outre Apache configuration, telles que l'ajout ou supérieur MIME types de fichier.  Vous devez ajouter la MIME préciser les types correspondant à *.jar fichiers et *.jad fichiers, comme indiqué dans le fichier texte suivant: 
htaccess_image.jpg
Mon personnalisées « .htaccess » fichier Apache pour le serveur Web Internet.  Note: j'ai nommé ce fichier « .htaccess.txt » simplement de faire le fichier facile à modifier en utilisant le système d'exploitation Windows.  Le nom de fichier doit être modifié pour « .htaccess » avant le fichier peut être utilisé avec Internet Apache le serveur Web. 
Voici mon simple .htaccess fichier au format texte brut:
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar
AddType text/vnd.wap.wml wml
Apparemment, la création ou la modification de ce fichier entraîne une modification immédiate de Apache comportement du serveur.  Je suppose que le serveur vérifie Apache modification de la date et l'heure de la « .htaccess » fichier à chaque nouvelle transaction future, et le serveur recharge ce fichier si la date de modification et le temps a changé. 

Si vous avez un autre type de serveur Web, vous devez déterminer la façon de spécifier les types MIME, et vous devez vous assurer que *.jar fichiers et dossiers *.jad sont affectés les types MIME. 

Vous savez si le MIME types n'ont pas été mis en place si le téléphone cellulaire refuse de télécharger votre fichier *.jad et les rapports d'erreur suivant: 

« 406: Not Acceptable » 

7.2 Éventuellement fournir des liens vers le fichier dans *.jad ou HTML documents WML

Le Motorola T720 J2ME téléphone cellulaire avec AT&T service est en mesure de télécharger un fichier *.jad directement, en tapant la URL de la *.jad fichier dans le téléphone cellulaire.  Cela est susceptible de travailler pour d'autres J2ME téléphones cellulaires cellulaire avec d'autres fournisseurs de service téléphonique. 

Toutefois, il pourrait être plus pratique pour les gens de télécharger le fichier *.jad en sélectionnant un lien dans un HTML document ou dans un document WML.  (Note: WML est désormais obsolète.  La plupart des téléphones cellulaires peuvent maintenant interpréter HTML.) 
file_image_hi_html.jpg
Un simple HTML document avec un lien vers un fichier *.jad
file_image_hi_wml.jpg
Un simple WML (WAP) page avec un lien vers un fichier *.jad  (Note: WML est désormais obsolète.  La plupart des téléphones cellulaires peuvent maintenant interpréter HTML.) 

8. Téléchargement de logiciels à partir d'un site Internet

Les images suivantes montrent l'enchaînement exact des actions, je n'ai de télécharger et d'exécuter le MIDlet développé et déployé en tant que décrites dans les sections précédentes ci-dessus.  Ces images sont des photographies de l'écran de mon téléphone cellulaire. 
t720_screens_download_program.jpg
(1) principale de l'écran: Lorsque vous ouvrez le téléphone, vous voyez l'écran principal.  Appuyez sur le bouton central pour aller au menu principal. 
(2) Main Menu: Déplacement à la question « WebAccess ». 
(3) WebAccess: Déplacement à la question « Go To URL ». 
(4) Enter URL: Type dans le URL *.jad d'un fichier (ou HTML d'un document, ou d'un document WML). 
(5) Details; Cette information a été analysée à partir de la *.jad fichier.  DOWNLD de presse à télécharger le fichier *.jar. 
(6) Download Complete; Attendez que ce message à disparaître; 
(7) Installing; Attendez que ce message à disparaître; 
(8) xxxx bytes transferred; Attendez que ce message à disparaître; 
(9) Installed; Attendez que ce message à disparaître; 


WebAccess Lorsque le menu s'affiche à nouveau, après l'émission a été installé, il suffit de sortie de chaque menu pour revenir à l'écran principal. 
t720_screens_start_program.jpg
(1) principale de l'écran: Lorsque vous ouvrez le téléphone, vous voyez l'écran principal.  Sélectionnez l'option « Games & Apps » via le menu principal, ou appuyez sur le curseur vers le bas sur l'écran principal. 
(2) Java Powered: Attendez que l'écran à disparaître. 
(3) Games & Apps: Sélectionnez l'élément avec le nom de votre program! 
(4) Yay!  Le succès de l'exécution de votre program! 
Le program apparition sur le téléphone cellulaire est très similaire à l'apparition au sein de l'émulateur.

9. Télécharger les messages d'erreur et les messages d'erreur d'installation

9.1 Motorola T720 (J2ME) messages d'erreur

Les erreurs suivantes ne sont que des messages pertinents à la Motorola T720 (GSM/J2ME) téléphone cellulaire. 

9.1.1 « Download Failed »

Cause # 1
Tout fichier (HTML, JAD, JAR, MID, GIF) plus 1644 octets va provoquer cette erreur pour certains hébergeurs de sites Internet et les serveurs.  Voici une brève liste des hôtes et des serveurs: 
Host / Server                                               Error
===================================================    =================
Apache                                                       No
Microsoft Personal Web Server (direct from your PC)          No
Earthlink (Apache)                                           No
Yahoo! (custom server)                                       Yes
Le problème est dû à un défaut dans la Motorola T720 GSM/J2ME firmware, ce qui provoque le téléchargement des fichiers en fragments à l'échec.
La seule solution apparente est de passer hébergeurs de sites Internet ou de type de serveur.  D'autres types de téléphone cellulaire n'ont pas ce problème. 
Cause # 2
Le « MIDlet-Jar-Size: » domaine *.jad d'un fichier ne pas indiquer le montant exact d'octets total de la *.jar fichier correspondant.

9.1.2 « Failed: File Corrupt »

Cause # 1
Le fichier *.jar utilisations API fonctions qui ne sont pas disponibles sur le téléphone cellulaire. 

Par exemple, MIDP 2.0 fonctions ne sont pas disponibles sur le Motorola T720 GSM/J2ME téléphone cellulaire (qui ne dispose que de MIDP 1.0 fonctions).  Un logiciel peut-être exécuter dans un émulateur, mais pourrait ne pas exécuter sur le téléphone cellulaire. 

La solution est à la recherche de MIDP 2.0 fonctions dans le code source et de les remplacer par MIDP 1.0 fonctions, ou d'éliminer les caractéristiques qui exigent l'MIDP 2.0 fonctions. 
Cause # 2
« manifest.mf » Le fichier utilisé pour créer le fichier *.jar (par l'intermédiaire du « jar » utilité) contient des erreurs. 

Assurez-vous que le fichier a « manifest.mf » les versions suivantes de CLDC et MIDP: 
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
L'ensemble de « manifest.mf » fichier devrait ressembler à peu près comme suit: 
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
Chaque ligne de texte dans le fichier « manifest.mf », y compris la dernière ligne du fichier, devrait se terminer par un « retour carraige » caractère (CR; 13; 0x0d) suivie par « un » retour à la ligne (LF; 10; 0x0a) caractère. 

Les seuls domaines de la « manifest.mf » fichier dans votre propre version du fichier qui doit différer de l'exemple montré ici sont les trois premiers domaines énumérés dans l'exemple.  Les trois derniers domaines devrait être une correspondance exacte avec l'exemple, et les deux derniers caractères du fichier doit être « le » retour chariot et « retour à la ligne » après le dernier champ. 

Voici les problèmes possibles dans votre version de la « manifest.mf » fichier: 
(1) Votre « manifest.mf » fichier contient des caractères qui ne sont pas ASCII caractères (Regardez une carte de ASCII caractères, un caractère à l'extérieur de la 0 à 127 gamme est invalide); 
(2) Votre « manifest.mf » fichier ne dispose pas d'un « retour à la ligne » (LF) après chaque caractère « retour chariot » (CR) caractère à la fin de chaque ligne; 
(3) Votre fichier a « manifest.mf » invisible des espaces ou des tabulations à la fin de chaque ligne avant la fin (CR)(LF) ligne; 
(4) Votre « manifest.mf » fichier contient une ligne « Manifest-Version: »; 
(5) la dernière ligne de votre « manifest.mf » fichier ne se termine pas par une ligne (CR)(LF) fin, mais plutôt simplement atteint la fin du fichier; 
(6) Votre « manifest.mf » fichier n'a pas exactement les champs et l'ordre exact des champs, comme indiqué dans l'exemple ci-dessus; 
(7) Votre CLDC version n'est pas exactement 1.0, MIDP ou votre version n'est pas exactement 1.0; 
(8) Votre nom du fournisseur a des caractères qui ne sont pas ASCII caractères (par exemple, pas de caractères Unicode sont autorisées); 
(9) Votre « manifest.mf » fichier ne dispose pas d'un espace après la deuxième virgule dans la ligne « MIDlet-1: »; 
Peut-être certains des cas mentionnés ci-dessus ne sont pas effectivement causer des problèmes pour de nombreux téléphones cellulaires, mais en éliminant tous les cas énumérés ci-dessus pourrait permettre le téléchargement de réussir.  Après le téléchargement est réussi, vous pouvez expérimenter avec des variations de la « manifest.mf » fichier à découvrir ce que d'autres choses que vous pouvez faire sans causer des erreurs de téléchargement.  « manifest.mf » Lorsque le fichier est modifié, il est important de vérifier que le téléchargement continue de travailler pour cible tous les téléphones cellulaires et de téléphones portables de fournisseurs de services.  Certains téléphones et les services sont moins souples que d'autres. 

« manifest.mf » Quand un fichier est ajouté à un fichier via *.jar la jar program, le jar créer une nouvelle version du fichier manifeste à l'intérieur de la *.jar fichier.  La version de l'généré le fichier manifeste au sein de la *.jar fichier est nommé « MANIFEST.MF ».  Le program jar pourrait ajouter des champs à ce fichier qui n'existent pas dans la « manifest.mf » dossier fourni par le programmeur.  Ne pas « MANIFEST.MF » extraire un fichier à partir d'un fichier *.jar, à moins que vous êtes prêt à éliminer certains domaines et de faire les autres champs exactement comme dans l'exemple « manifest.mf » fichier ci-dessus. 

9.1.3 « Unsupported Content Type »

Cause # 1
Le téléphone cellulaire ne peut pas accepter la MIME type signalée par le serveur distant pour un fichier spécifique. 

Par exemple, JPG fichiers image ne sont pas soutenues par la Motorola T720 et provoquer cette erreur.

Cette erreur peut également se produire si le type MIME pour un type de fichier pris en charge (par exemple, GIF, MID, JAD, JAR) n'est pas signalé correctement par le serveur.  Une personne doit être très prudents rapport à la MIME type exact pour les types de fichiers pris en charge. 
Cause # 2
Le cache de fichiers sur le téléphone cellulaire elle-même doit être autorisé (par exemple, Browser Settings -> Clear Cache). 

Si vous avez récemment ajouté MIME types à un serveur distant, puis a tenté de télécharger un fichier qui n'avait pas à installer en raison d'une erronée ou manquante, MIME type, le fichier cache sur le téléphone cellulaire pourrait être un obstacle à télécharger le fichier à nouveau avec le bon type MIME. 

Il est également possible que le fichier distant a été modifié et que la version mise en cache est défectueux et empêche le fichier réparé version d'être téléchargé en remplacement. 

Effacement du cache du navigateur sur le téléphone cellulaire devrait veiller à ce que la suite télécharger les avantages de la dernière configuration de serveur (par exemple, de nouveaux paramètres MIME) et mises à jour des fichiers à distance. 
Cause # 3
[De la documentation Motorola: http://developers.motorola.com/developers//wireless/global/emea/other/UCT.html]
Comment éviter les erreurs « Unsupported Content type » dans WAP 

Si vous obtenez une erreur dans WAP dire Unsupported Content type, ce n'est pas nécessairement dû à la teneur de type paramètre.  Beaucoup de WAP pages contiennent des caractères spéciaux, comme le suédois (å ö ä), et afin de les amener à afficher correctement, vous devez spécifier le jeu de caractères que vous utilisez.  Afin de préciser le jeu de caractères qui est utilisé sur un WAP page, vous modifiez la Content-Type tête dans la réponse du serveur pour y inclure le jeu de caractères, par exemple « Content-Type: text/vnd.wap.wml; iso-8859-1 ».  Quand un utilisateur reçoit la réponse d'un serveur, il devrait avoir toutes les informations nécessaires pour afficher le contenu correctement. 

Toutefois, il ya un problème avec l'aide de cette approche.  Tous les téléphones indiquer à la passerelle de jeu de caractères qui leur soutien à l'aide de « Accept-Charset » dans la tête de requête.  Selon HTML cahier des charges, ce chiffre doit être comparé à l'ensemble de caractères spécifié dans une réponse du serveur, et si elles ne correspondent pas, l'erreur Unsupported Content type doit être généré. 

Pour rendre le problème plus compliqué, certains WAP passerelles ne se soucient pas de comparer le jeu de caractères soutenu par le dispositif demandé, par conséquent, le contenu ne s'affiche pas correctement sur ces dispositifs.  Une autre complication est que la chaîne spécifiant le jeu de caractères est insensible à la casse, mais certains WAP passerelles de les traiter comme des cordes sensibles à la casse. 

Tous ensemble, il y aura des résultats très différents selon ce que l'appareil que vous utilisez, qui WAP passerelle que vous utilisez et ce que la réponse du serveur est. 

La seule façon d'être sûr que votre contenu sera affiché correctement est de toujours vérifier ce que le jeu de caractères est acceptée par le client et transformer votre réponse à ce jeu de caractères avant de l'envoyer. 

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

Cause # 1
Vous avez un téléphone Verizon! 

Verizon ne pas permettre à ses clients de télécharger des images (GIF), sonneries (MIDI), ou programs, de l'arbitraire des serveurs Web sur Internet.  Il faut soit utiliser leur « Get It Now » service, ou d'utiliser un câble USB et la « Get Around 'Get It Now' (GAGIN) » logiciel. 

Solution: Il suffit d'attendre pour la concurrence sur le « marché libre » d'éliminer les « plates-formes fermées. »  L'ensemble de la technologie pourrait être obsolète au moment où ce gain de cause, mais c'est ce qui se passe lorsque les entreprises sont guidés par le seul appât du gain. 
Cause # 2
Le message d'erreur indique que le type MIME associés à l'extension du fichier (par exemple, .gif, .mid, .jar) du fichier téléchargé n'a pas été spécifié par le serveur Web Internet.

Si vous avez un Apache Internet serveur Web, par exemple, alors vous devez modifier un fichier « .htaccess », ajoutant les lignes suivantes:
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 »

Cause # 1
Le serveur hébergeant le fichier à télécharger ne précise pas le type MIME que ce fichier (par exemple, GIF, MID, JAR).  Ainsi, le téléphone cellulaire suppose que le fichier est en texte simple.  En outre, le téléphone cellulaire peut avoir une limite sur la taille (en octets) des fichiers texte qui est plus petite que la limite sur la taille (en octets) des fichiers binaires (par exemple, GIF, MID, JAR).  Par conséquent, un fichier binaire interprété comme un fichier texte est susceptible de dépasser la taille maximale autorisée d'un fichier texte, et ainsi provoquer l'erreur. 

Si vous avez un Apache Internet serveur Web, par exemple, alors vous devez modifier un fichier « .htaccess », ajoutant les lignes suivantes:
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar
AddType text/vnd.wap.wml wml
AddType audio/midi mid
Cause # 2
Apparemment, cette erreur peut également se produire même si le serveur distant a la bonne MIME types mis en place.  Je ne l'ont pas encore déterminé lorsque cette erreur se produit au lieu de la « Download Failed » de cette situation. 

Manifestement, le Motorola T720 GSM/J2ME téléphone cellulaire ne peut pas traiter un aspect de la HTTP 1.1 qui permet la spécification de fichiers à être coupé en fragments d', qui impose plusieurs « GET » demandes. 

Lorsque vous utilisez le téléphone cellulaire Motorola T720 GSM/J2ME de télécharger des fichiers Internet de certains types de serveurs Web, un fichier (par exemple, HTML, JAD, JAR, MID, GIF) plus grand que 1644 octets va provoquer cette erreur.  Voici une brève liste de site Internet et les fournisseurs d'hébergement ou non l'Internet Hébergement de site Web causes d'un problème de la Motorola T720 GSM/J2ME téléphone cellulaire:
Host / Server                                               Error
===================================================    =================
Apache                                                       No
Microsoft Personal Web Server (direct from your PC)          No
Earthlink (Apache)                                           No
Yahoo! (custom server type)                                  Yes
Le problème est dû au microprogramme de la Motorola T720 GSM/J2ME téléphone cellulaire, qui affecte sa capacité à télécharger des fichiers en fragments. 

La seule solution apparente, lors du téléchargement à la Motorola T720 GSM/J2ME téléphone cellulaire, est d'éviter certaines Internet hébergement de sites Web les types de serveurs.  La plupart des autres types de téléphones portables n'ont pas ce problème, et si ce problème pourrait maintenant être ignoré. 

9.1.6 « Connection unsuccessful.  Try again later. »

Cause # 1
Cette erreur n'a rien à voir avec le serveur Internet qui héberge le fichier demandé. 

Si vous obtenez cette erreur, je vous suggère de faire les choses suivantes: 
(1) Effacer le cache du navigateur; 
Clair (2) l'historique de navigation; 
(3) Éteignez le téléphone; 
(4) Retirez la batterie; 
(5) Attendez quelques secondes; 
(6) Remettez la batterie dans le téléphone; 
Power (7) le téléphone; 
(8) Essayez de nouveau le téléchargement; 
J'ai reçu le message d'erreur « Connection unsuccessful.  Try again later.  pendant plusieurs jours après avoir acheté un téléphone cellulaire.  Puis, par hasard, j'ai supprimé la batterie.  Quand j'ai mis la batterie dans le téléphone cellulaire, j'ai immédiatement eu accès à l'Internet. 

J'ai reçu ce message d'erreur à plusieurs reprises au cours de la période de six mois, et la procédure ci-dessus a rétabli l'accès à l'Internet à chaque fois.  Je n'ai pas de déterminer quelle étape de la procédure pourrait être le plus important, mais je crois que le seul fait de retirer la batterie et mettre la batterie dans le téléphone cellulaire pourrait être suffisant. 

À mon avis, ce message d'erreur est trop vague.  Pourquoi la tentative de connexion infructueuses?  Est-ce que le téléphone cellulaire réseau de service trop occupé?  Est-ce que le service de téléphone cellulaire du « serveur passerelle » ne fonctionne pas?  Est-ce que mon téléphone cellulaire de ne pas recevoir ou de transmettre suffisamment de force du signal radio?  Quel serait le bon moment pour tenter de nouveau le téléchargement?  Dix secondes à partir de maintenant?  Une heure à partir de maintenant?  Une semaine à partir de maintenant?  Le message d'erreur serait plus utile si elle était plus spécifique sur la cause du problème et si elle était plus spécifique sur une solution possible. 
Cause # 2
Si vous avez fait un « Master Reset », ou si vous n'avez jamais été en mesure d'accéder à Internet, puis vérifier les paramètres de réseau sur le téléphone cellulaire.  Pour un exemple de paramètres de réseau (pour le Motorola T720 GSM/J2ME téléphone cellulaire, pour AT&T service dans le domaine Los Angeles, California), voir la section spécifiée par le lien suivant: 
AT&T téléphone cellulaire paramètres de configuration (pour le réseau)

10. Créer, d'offrir, et le téléchargement de « sonneries »

10.1 Créer ou acquérir une MIDI fichier (*.mid)

Vous pouvez créer ou d'acquérir une MIDI fichier son (*.mid) de n'importe quelle source.  J'ai trouvé le thème de la musique à l'émission de télévision « Knight Rider » (1982-1986) dans MIDI format (par exemple, « knightrider.mid ») par une simple recherche de l'Internet. 

L'image suivante vous donne une idée de la façon dont un MIDI fichier apparaît dans un éditeur de MIDI.  Il n'est pas nécessaire d'avoir un éditeur MIDI pour obtenir de la musique sur votre téléphone.  Vous pouvez obtenir un MIDI fichier (*.mid) de n'importe quelle source.  Toutefois, vous pouvez également utiliser un MIDI éditeur de votre choix pour créer votre propre musique polyphonique original. 
home_studio_midi_knight_rider.jpg
Cakewalk Home Studio: jouer « knightrider.mid »

10.2 Assurez-vous que votre serveur Web Internet connaît le type MIDI MIME

Si vous avez un Apache Internet serveur Web, par exemple, alors vous devez modifier un fichier « .htaccess », ajoutant les lignes suivantes: 
AddType audio/midi mid
Le fichier « .htaccess » préciser ou de l'emporter sur le MIME types indiqué par le serveur pour des fichiers de différents types (généralement indiqué par les extensions de fichiers, tels que .MID, .GIF, .JAR). 

Si vous avez déjà ajouté d'autres types MIME pour d'autres types de fichiers, votre fichier « .htaccess » pourrait ressembler le texte suivant:
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar
AddType text/vnd.wap.wml wml
AddType audio/midi mid
Apparemment, la création ou la modification de ce fichier entraîne une modification immédiate de Apache comportement du serveur.  Je suppose que le serveur vérifie Apache modification de la date et l'heure de la « .htaccess » fichier à chaque nouvelle transaction future, et le serveur recharge ce fichier si la date de modification et le temps a changé. 

Si vous avez un autre type de serveur Web, vous devez déterminer la façon de spécifier les types MIME, et vous devez vous assurer que *.jar fichiers et dossiers *.jad sont affectés les types MIME. 

Vous savez si le MIME types n'ont pas été mis en place si le téléphone cellulaire refuse de télécharger votre fichier *.jad et les rapports d'erreur suivant: 

« 406: Not Acceptable » 

10.3 MIDI mettre le fichier (*.mid) sur Internet à votre serveur Web

J'ai copié un fichier nommé MIDI à « kr.mid » le répertoire racine de mon serveur Web Internet.  Vous pouvez utiliser des logiciels tels que « Filezilla » de faire le transfert FTP simple et pratique. 

10.4 MIDI télécharger le fichier sur votre téléphone cellulaire par l'intermédiaire de votre service téléphonique de services Internet

Pour la Motorola T720 GSM/J2ME téléphone cellulaire, le téléchargement d'un fichier MIDI commence avec la « WebAccess » menu.  Sélection « Go To URL », puis en tapant la URL de la MIDI fichier, le téléchargement commence.  Par exemple, j'ai tapé dans la URL suivantes:
http://www.colinfahey.com/kr.mid
Si le téléchargement est réussi, et si vous utilisez un Motorola T720 cellular phone, vous aurez la possibilité de stocker le fichier sur votre téléphone cellulaire.  Lorsque vous décidez d'y stocker le fichier, vous avez la possibilité de simplement stocker dans votre série de sonneries ou de la mise en place le fichier à la sonnerie (qui, comme un effet secondaire, les magasins dans votre série de sonneries) . 
Les images suivantes résument le processus de téléchargement et la lecture des fichiers MIDI pour la Motorola T720 GSM/J2ME téléphone cellulaire.  J2ME permis à d'autres téléphones cellulaires, avec d'autres téléphone cellulaire fournisseurs de services, sont susceptibles d'avoir une procédure de téléchargement.  Si votre téléphone cellulaire prestataire de services est Verizon, alors vous êtes hors de la chance, rien de tout cela fonctionnera, et vous devez vous rendre et acheter un téléphone « Android » aider à détruire le « marché de la téléphonie privée! » 
t720_screen_midi_download.jpg
(1) principale de l'écran: Appuyez sur le bouton approprié pour afficher le menu principal. 
(2) Main Menu: Aller à la « WebAccess » point. 
(3) WebAccess: Aller à la « Go to URL » point. 
(4) Enter URL: Type dans le URL d'un MIDI (*.mid) fichier sur un site Internet. 
(5) Connecting: attendre la fin du téléchargement pour commencer.  (Si vous avez reçu le message d'erreur « 406: Not Acceptable », puis le serveur Web n'a pas assigné une MIME MIDI type de fichiers (*.mid)).) 
(6) Downloading: Attendez que le téléchargement à la fin. 
(7) Download Complete: Attendez que l'écran à disparaître. 
(8) MIDI Playback: Le fichier MIDI commence à jouer immédiatement.  Appuyez sur le bouton de menu pour aller à la Tone Menu, et passez à l'étape (9), ou appuyez sur le bouton « STORE » et passez à l'étape (12). 
(9) Tone Menu: Vous avez la possibilité de jouer ... 
(10) Tone Menu: Vous avez la possibilité d'obtenir des détails. 
(11) Details: Ici nous voyons la taille en octets. 
(12) Store Options: De étape (8) nous pouvons frapper la « STORE » bouton pour accéder à ce menu.  Vous avez la possibilité de stocker sur le téléphone de la collection de musiques.  Hit « SELECT » à stocker. 
(13) Stored: MIDI La musique a été stocké. 
(14) Total Bytes Transferred: Il s'agit simplement d'une notification sur le nombre d'octets téléchargés, de sorte que vous n'êtes pas surpris par venir de votre service de téléphonie cellulaire facture! 

10.5 MIDI jouer le fichier à tout moment sur le téléphone cellulaire

Vous pouvez jouer les fichiers stockés MIDI à tout moment sur votre téléphone cellulaire, et vous pouvez utiliser n'importe quel fichier MIDI que votre son anneau.
t720_screen_midi_playback.jpg
(1) principale de l'écran: Appuyez sur le bouton approprié pour aller au menu principal. 
(2) Main Menu: Aller à « Media Center ». 
(3) Media Center: Aller à « My Tones ». 
(4) My Tones: Les ton commence à jouer immédiatement.  Vous pouvez changer le nom de la « EDIT » option.  Frapper le bouton de menu vous donne d'autres options. 

10.6 Réglez la bague de style à utiliser un fichier MIDI

Passez par le menu suivant:

(1) principale de l'écran 
(2) Main Menu 
(3) Ring Styles: « SELECT » presse 
(4) [Silent, Soft, Loud] Detail: « CHANGE » presse 
(5) Calls: [current ring style/tune]: « CHANGE » presse 


Faites défiler la liste si l'anneau de style (silencieux, les vibrations des styles, la musique permanente anneau, etc), et, en bas, vous verrez vos chansons téléchargées.  Il suffit d'appuyer sur le bouton « SELECT » pour faire de votre nouvelle bague de réglage actif! 

11. Créer, d'offrir, et à télécharger des images

11.1 Créer un 120 * 160 GIF fichier image (*.gif)

Les étapes suivantes peuvent être utilisées pour créer un 120 * 160 GIF fichier image (*.gif) approprié pour l'affichage sur le téléphone cellulaire Motorola T720 GSM/J2ME, soit comme une image de fond de l'écran principal, ou comme une image dans la galerie d'images. 
Ouvert toute (1) fichier image avec Microsoft Paint ou Adobe Photoshop ou tout autre logiciel de retouche d'image; 
(2) échelle ou rogner l'image à 120 pixels de large et 160 pixels de haut (c'est-à-dire, une image pixel 120 * 160); 
(3) Enregistrer le fichier dans un format GIF image (*.gif); (Adobe Photoshop à la façon de le faire est: File -> Export -> Gif89a) 
Le fichier image doit être dans le GIF format de fichier image de sorte que le Motorola T720 téléphone cellulaire est capable de décoder et d'afficher l'image.  Si les dimensions de l'image sont exactement 120 * 160 Ensuite, l'image s'adapte parfaitement sur l'écran du téléphone cellulaire Motorola T720, sinon l'image sera vide frontières sur les deux côtés. 
Note: je téléchargé avec succès et *.gif preuve d'un fichier image qui a été 118 * 120 pixels, qui est plus petite que la taille de l'écran de 120 * 160.  Je pense que la partie restante de l'écran est rempli d'une couleur sélectionnés à partir de la frontière de l'image.  Peut-être la couleur d'un pixel du pixel dans le coin supérieur gauche de l'image est utilisée comme la couleur pour le vide frontières entourant les deux faces de l'image. 
Motorola T720 Le téléphone cellulaire peut afficher 4096 couleurs, qui, je pense, est codé comme 12-bit RGB (4-4-4).  Par conséquent, je pense que les petites images avec des gradients de couleur qui couvrent de vastes zones devraient être évitées, parce que les frontières de ces gradients sera très évident et distrayant à une personne regardant l'image.  En outre, le format GIF lui-même est limitée à seulement 256 couleurs différentes, une personne doit être conscient de cette limitation, aussi.  En tout cas, il est toujours préférable de simplement regarder une image sur le téléphone cellulaire de savoir si l'image est convenable pour le téléphone cellulaire. 
si.gif
Space Invaders (Space Invaders): une image 120 * 160 GIF

11.2 GIF mettre le fichier image (*.gif) sur Internet à votre serveur Web

J'ai copié un fichier nommé GIF à « si.mid » le répertoire racine de mon serveur Web Internet.  Vous pouvez utiliser des logiciels tels que « Filezilla » de faire le transfert FTP simple et pratique. 

11.3 GIF télécharger le fichier sur votre téléphone cellulaire par l'intermédiaire de votre service téléphonique de services Internet

Pour la Motorola T720 GSM/J2ME téléphone cellulaire, le téléchargement d'un fichier image GIF commence avec la « WebAccess » menu.  Sélection « Go To URL », puis en tapant la URL de la GIF fichier, le téléchargement commence.  Par exemple, j'ai tapé dans la URL suivantes:
http://www.colinfahey.com/si.gif
Si le téléchargement est réussi, et si vous utilisez un Motorola T720 cellular phone, vous aurez la possibilité de stocker le fichier sur votre téléphone cellulaire.  Lorsque vous décidez d'y stocker le fichier, vous avez la possibilité de simplement stocker dans votre ensemble d'images ou de la mise en place le fichier à l'arrière-plan actuel (c'est-à-dire, « papier peint). » 
Les images suivantes résument le processus de téléchargement des fichiers image GIF pour la Motorola T720 GSM/J2ME téléphone cellulaire.  J2ME permis à d'autres téléphones cellulaires, avec d'autres téléphone cellulaire fournisseurs de services, sont susceptibles d'avoir une procédure de téléchargement.  Si votre téléphone cellulaire prestataire de services est Verizon, alors vous êtes hors de la chance, rien de tout cela fonctionnera, et vous devez vous rendre et acheter un téléphone « Android » aider à détruire le « marché de la téléphonie privée! » 
t720_screen_image_download.jpg
(1) WebAccess: Aller à la « Go to URL » point. 
(2) Enter URL: Type dans le URL d'un fichier image GIF (*.gif) sur un site Internet. 
(3) Connecting: attendre la fin du téléchargement pour commencer.  (Si vous avez reçu le message d'erreur « 406: Not Acceptable », puis le serveur Web n'a pas assigné une MIME GIF type de fichiers image (*.gif)).) 
Aperçu de (4) image téléchargée, avec une option pour « STORE » (magasin) de l'image dans la mémoire du téléphone cellulaire; 
(5) Store Options: GIF L'image peut simplement être stockés, ou il peut être utilisé pour remplacer l'actuel « fonds d'écran » (arrière-plan de l'écran principal), ou il peut être utilisé comme « un » économiseur d'écran (c'est-à-dire, une image qui apparaîtra lorsque le téléphone cellulaire les boutons n'ont pas été pressé pour un montant de temps). 
(6) Changed: Wallpaper [image name]: Il s'agit simplement d'une notification que « le » fond d'écran image a été modifiée. 
(7) L'apparence de l'écran principal du téléphone cellulaire après « le » fond d'écran (c'est-à-dire, en arrière-plan) image a été modifiée.  Les « Space Invaders » ont conquis mon téléphone cellulaire! 

11.4 GIF d'animation image pour utiliser comme « économiseur d'écran » sur le téléphone cellulaire

Pour télécharger une image animée GIF à utiliser comme « économiseur d'écran » image sur votre téléphone cellulaire, il vous suffit de suivre les instructions dans la section précédente de ce document pour la préparation et le téléchargement d'une image. 
Si le GIF image est une animation GIF, puis « l'économiseur » d'écran montre cette animation. 
Il suffit de définir l'image comme « l'économiseur » d'écran après l'image que l'image a été téléchargé. 
Le texte suivant GIF image animée peut être utilisé comme un « économiseur d'écran » animé sur l'image Motorola T720 GSM/J2ME téléphone cellulaire. 
sun.gif
GIF une image animée qui peut être utilisé comme un « économiseur d'écran » d'animation d'image sur le téléphone cellulaire Motorola T720 GSM/J2ME.
Malheureusement, le téléphone cellulaire Motorola T720 ne pas animer « le » fond d'écran image.  Il aurait été très impressionnant pour ouvrir le téléphone cellulaire et de voir une animation d'arrière-plan sur l'écran principal!  :^( 

Vous ne pouvez voir une animation GIF figurer sur l'Motorola T720 téléphone cellulaire lorsque le téléphone passe en mode « économiseur d'écran, » qui pourrait nécessiter 30 secondes ou plus pour commencer.  (Vous pouvez régler ce délai dans un des menus.)  L'éclairement sur l'écran est susceptible d'éteindre avant l'économiseur d'écran s'affiche.  « L'économiseur d'écran » ne semble pas actif au cours d'un appel téléphonique.  Par conséquent, compte tenu de tous ces faits, « l'économiseur » d'écran caractéristique de la Motorola T720 téléphone cellulaire est plutôt boiteux. 

12. Motorola T720 GSM/J2ME paramètres du téléphone cellulaire pour la AT&T réseau de téléphonie cellulaire

12.1 Introduction

Cette section de ce document est peu probable d'être utiles à quiconque, parce que cette section décrit les paramètres d'une très spécifiques téléphone cellulaire (Motorola T720 GSM/J2ME) pour une très spécifiques téléphone cellulaire fournisseur de services (AT&T) pour une région très spécifique (sud de la Californie).  Cependant, je inclure cette information pour l'intérêt historique. 

12.2 Web Sessions paramètres

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)
Aussi, il ya une mise en DNS pour Java programs:
Main Menu
  Settings
    Java Tools
      DNS IP:  10.250.1.10

12.3 Commentaires

(1) Faire un « master reset » fixera le nombre WAP Port à « 9201, » si ceux-ci doivent être modifiées pour « 9203. » 

(2) Le WAP IP and Port secondaire est fixé à la même IP et le port en tant que principal WAP paramètres.  J'ai été en mesure d'utiliser « mMode » (c'est-à-dire, aller à toute URL) avec un blanc totalement secondaire WAP réglage, mais j'ai eu « Line Type 1: Modem » à ce moment-là.  Je ne sais pas si la mise à « ISDN », il est plus probable que le secondaire WAP réglages seront utilisés. 

Un « maître » (3) « réinitialiser » le fait « Timeout: » domaine « 15 minutes ».  Modifiez la valeur de « 2 minutes ». 

(4) Le « Name: », « Homepage: », « GPRS APN: » et impliquer tous les domaines en tapant les lettres et les symboles manuellement. 

(5) Les champs qui sont indiqués vide dans l'exemple ci-dessus sont vraiment de ne pas avoir tout texte entré.  Les blancs ne sont pas accidentels. 

13. Liens vers d'autres ressources téléphone cellulaire

13.1 Motorola J2ME SDK 3.0

Motorola a un kit de développement logiciel SDK qui comprend un émulateur capable d'émuler Motorola de nombreux téléphones, y compris la T720.  Vous pouvez obtenir ce SDK gratuitement, et vous n'avez pas besoin CodeWarrior à utiliser le téléphone, l'émulateur fourni avec le SDK, en dépit de toutes les mentionner de CodeWarrior Motorola sur le site Web.  Aussi, en général, je pense que vous pouvez obtenir par CodeWarrior sans Motorola SDK ou même si vous faites de développement professionnel pour les T720.

Vous devez vous enregistrer auprès Motorola à même d'apprendre davantage sur leur J2ME SDK, et encore moins de le télécharger. 

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

Il ya plusieurs fonctions pour la lecture et « Compact MIDI » même « *.wav » fichiers.  D'installation et de lire la documentation pour apprendre plus de détails. 
Voici un commentaire que j'ai reçu dans un e-mail:
Le Motorola J2ME SDK vous donne (entre autres) « des peaux pour » l'émulateur afin que l'émulateur va ressembler le téléphone, vous êtes pour la programmation.  Il est plus que cosmétiques.  Taille de l'écran peut varier, par exemple, si vous êtes la conception de quelque chose où questions de la taille de l'écran, il doute d'avoir l'aide d'un émulateur qui correspond à la cible.  Le SDK comprend également créé Motorola ouvert Java classes appelé le Lightweight Windowing Toolkit qui vous donnent une partie de ce dont vous avez besoin pour créer une application avec une véritable UI - UI différents widgets. 

Vous pouvez obtenir sans elle, mais si vous faisiez un travail sérieux que vous voudrez probablement le faire.  Si je crée des trucs pour Sony Ericsson ou Nokia ou tout autre téléphone, je veux leur SDKs trop. 
Voici une citation de Motorola's site Web concernant leur SDK:
Le Motorola Software Development Kit (SDK) pour J2ME™ la plate-forme est un outil utilisé pour développer et tester programs écrit dans le langage de programmation Java.  Le SDK comprend les demandes qui font qu'il est facile de lancer MIDlets (J2ME™ Programs) à l'aide de la Motorola J2ME™ Device Emulator.  Ensemble, ces outils vous permettent de développer et de déboguer votre J2ME™ programs émulation avant de les télécharger à un périphérique cible.  Le Motorola SDK peuvent être intégrés dans Metrowerks' CodeWarrior™ Wireless Studio, Professional Edition, Version 7. 

Cette version de la SDK comprend de nombreuses améliorations de performance et de stabilité.  Toutes les fonctionnalités de la version précédente est pris en charge, avec ces nouvelles fonctionnalités: 

New appareils pris en charge par cette version: A830. 

Nouvelle fonctionnalité pris en charge par cette version: 

A830 - Jeux API, Serial Port connectivité, HTTPS support du protocole.
All devices - Amélioration des performances graphiques

Le SDK soutient les dispositifs suivants:
*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

Un de mes amis a apparemment pas de problème de télécharger et d'utiliser cette trousse d'outils - qui apparemment vous donne tout ce dont vous avez besoin (JDK, MIDP, CLDC) et des outils supplémentaires pour faire la JAD, etc  Je ne l'ai pas essayé moi-même.  Voici d'autres commentaires sur cette trousse d'outils: 
Citation d'un Slashdot affichage: 
Vous pouvez vous ont permis de sauver certains tracas d'installer tous les outils différents.  Il suffit de télécharger [sun.com] Sun ONE Studio 4 update 1, Mobile Edition, ses complètement libre (comme dans la bière), et est un excellent environnement de développement intégré (environ 20 MB télécharger).  Tous les outils, les émulateurs et les démos de l'article sont regroupés.  Depuis la semaine dernière je suis en cours d'exécution en vertu de RH Linux 7.2, avec 512mb de ram (YOU NEED LOTS OF RAM!!!). 

A pris une minute [sun.com] de sauter regestration l'écran par le biais de l'intensification de l'Game ver dans le débogueur  (J'ai toujours aimer le jeu du ver / snake / NIBBLES dans toutes ses incarnations, et la version de démonstration est fourni magnifiquement programmé - simple, mais orienté-objet et multi-thread dans une petite quantité de code). 

Vous devez vous inscrire pour télécharger.  Plates-formes supportées: Linux, Windows, Solaris.
Citation d'un Slashdot affichage:
De la sun télécharger faq [sun.com]: 
« En raison de la façon dont notre service de téléchargement de poignées de gestion de session, vous ne pouvez pas reprendre partielle téléchargements en cliquant sur le lien à nouveau dans la fenêtre du navigateur.  Au contraire, ouvrez le gestionnaire de téléchargement logiciel vous utilisez, et de reprendre le téléchargement à partir du gestionnaire de téléchargement lui-même.

Nous continuons de travailler avec nos ingénieurs pour permettre le support de plus de gestionnaires de téléchargement sur d'autres plates-formes.  Pour l'instant, toutefois, s'il vous plaît éteindre toute autre gestionnaires de téléchargement et services d'utilité publique si vous avez des problèmes de téléchargement. »
Le téléchargement de gros fichiers à partir de sun sous linux a été vraiment difficile pour environ un an maintenant.  Le seul gestionnaire de téléchargement, jusqu'à récemment, j'avais été en mesure de se rendre au travail a été DAP sous windows (ATTENTION: Les logiciels espions).  Fondamentalement, la plupart des gestionnaires de téléchargement (prozgui, getright, opera) ne sera pas en mesure de faire face à Sun's [hypocrisie].  Ludicrously plutôt que de fixer leur site web à un peu de travail, Sun ont écrit leur propre gestionnaire de téléchargement [sun.com].  Ses écrits en java, et son seul petit 140KB!  La chose surprenante est que c'est un excellent gestionnaire de téléchargement, empreinte minuscule, pas de détournement de navigateur, aucun adware / spyware, tout fonctionne sous OS, la vérification automatique des fichiers, unzips automatique, et solide comme un roc 

13.3 Random forum:

Le Jad et Jar fichiers sont les seuls fichiers nécessaires pour exécuter une application sur un téléphone et, selon le téléphone et la méthode que vous transférez l'application sur le téléphone, vous mai seulement besoin de l'jar. 

Si les demandes doivent être envoyées Over the Air (OTA), c'est-à-dire par l'intermédiaire d'un URL Web, vous devrez créer un lien sur une page lisible par le téléphone (par exemple wml, cHtml, cHtml) à la JAD fichier.  Pour OTA téléchargements, vous aurez également besoin de mettre en place votre serveur Web pour gérer jar et jad types de fichiers.  Dans apache vous devez ajouter les lignes suivantes à la httpd.conf fichier: 

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

Aussi, vous devrez veiller à ce que les URL pour la jar fichier est le URL JAR pour le fichier sur le serveur, pas les URL 

Si en revanche vous voulez transférer via IR, Bluetooth ou un câble, vous avez juste besoin de transférer les fichiers vers le téléphone, installer et exécuter.  JAD Le fichier est généralement utilisé spécifiquement pour assurer le téléphone les informations nécessaires pour OTA téléchargements et en tant que telle, la Nokia 7650 et d'autres modèles il vous suffit de transférer le fichier jar pour les non-OTA transferts. 

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

SAR (ou WTP-SAR) est synonyme de Segmentation and Reassembly.  C'est un élément facultatif de la Wireless Transaction Protocol (WTP) dans WAP.  SAR définit une méthode pour une WAP porte d'entrée de casser un grand message (a JAR fichier que vous téléchargez, par exemple) en petits morceaux (la segmentation) et pour la pièce de téléphone à la remonter, (le remontage). 

De ne pas utiliser tous les téléphones SAR, mais la plupart auront accès à des serveurs Web par le biais d'une passerelle WAP.  Nokia utilisations SAR, tandis que les utilisations Motorola caractéristiques de HTTP 1.1 récupérer de petits morceaux d'un fichier un par un et puis il remonter. 

Un problème qui se pose avec WAP passerelles préoccupations MIME types retournés par le serveur web.  Si un utilisateur demande un JAD ou JAR fichier et le serveur renvoie le mauvais type MIME, la passerelle et, ensuite, le téléphone se chargera de transfert incorrecte.  Pour assurer une bonne MIDlets de téléchargement, utilisez le MIME types suivants: 

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

13.5 Random forum

, vous devez disposer d'MIME corriger les paramètres sur le serveur qui stocke les fichiers .JAD/.JAR.  Après cela, vous serez en mesure de télécharger des applications sur votre périphérique.  S'il vous plaît gardez à l'esprit que: - ce processus est plutôt dispositif spécifique (pas nécessairement en utilisant WA protocole)  -, Il vaudrait mieux avoir les chemins absolus pour .JAD et .JAR ensemble (c'est-à-dire http://www.fooserver.com/repository/JoeDoeApp.JAD) 

13.6 Random forum

Au moins dans les dispositifs Siemens, vous avez une configuration spécifique pour Java, qui est différente de celle des WAP et GPRS.  Vous mai WAP naviguer à travers, mais quand un midlet est trouvé, une autre configuration est automatiquement modifié pour réaliser le téléchargement.  Dans la pratique M50, vous devez définir la Java profils selon les paramètres de votre fournisseur; c55 dans la pratique, le même ensemble est appelé « HTTP profile » et il est également utilisé pour d'autres types de téléchargement (par exemple, http connexions dans la MIDlet) . 

13.7 Divers liens intéressants sur des choses MIDlet signature

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

13.8 Very cool MIDlet programmation introduction

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

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

Pour déployer vos applications sans fil à distance: 

Transférez vos fichiers d'application (JAD et JAR) à un serveur web distant.  Si votre projet est nommé jeux, par exemple, transférer les fichiers: games.jad et games.jar de la bin de votre répertoire d'accueil du projet (par exemple, <toolkit>/apps/games/bin).  Notez que les deux fichiers doivent se retrouver dans le même répertoire sur le serveur. 

Reconfigurer le serveur Web de sorte qu'il reconnaît JAD et JAR fichiers: 

Pour la JAD type de fichier, définissez l'extension du fichier à .jad et la MIME type de text/vnd.sun.j2me.app-descriptor. 

Pour la JAR type de fichier, définissez l'extension du fichier à .jar et la MIME type de application/java-archive. 

Comment vous configurez le serveur Web qui dépend de celui que vous utilisez.  Par exemple, si vous utilisez Tomcat, assurez-vous que votre web.xml dossier comprend les lignes suivantes: 

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


Changez votre JAD du fichier MIDlet-Jar-URL propriété de préciser les URL JAR de votre fichier.  Par exemple, dans la copie de games.jad vous avez téléchargé sur le serveur, changement ... 

MIDlet-Jar-URL: games.jar 

...  à ...

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

13.10 Divers liens

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

13.11 Nokia J2ME program développement des liens

Nokia à partir d'un site:
Nokia's J2ME comprend la mise en œuvre de la norme de l'industrie MIDP 1.0 et CLDC 1.0.  La plate-forme est prolongé par le Nokia User Interface (UI) API.  Il donne les développeurs d'applications d'accès à certaines fonctionnalités de base de téléphone qui n'est pas spécifié par CLDC 1.0 ou MIDP 1.0.  Le Nokia UI API donne accès à de simples capacités audio, de vibrations, de l'éclairage afficheur, ainsi que quelques graphiques les améliorations. 
D'un e-mail que j'ai reçu:
Alors Nokia semble être vraiment à l'ouverture de ce téléphone pour tout type de modification personnalisée vous pouvez penser.  Vous pourriez ajouter des vibrations java jeux, ajouter des bulles de bande dessinée de photos que vous prenez, et même télécharger des photos à votre site!  Vous pouvez écrire votre propre serveur, et le peuple pourrait transférer choses à vous! 
Voici quelques liens 7650 cool:
DOOM sur le 7650!!: http://www.wildpalm.co.uk/Doom7650.html 
Le 7650 page: 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 
Télécharger SDKs, J2ME tutoriels, et plus encore: http://www.forum.nokia.com 

13.12 Téléphone cellulaire program liens

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

14. J2ME contre BREW

14.1 Introduction

Il ya deux dominante plates-formes logicielles pour les appareils mobiles: J2ME et BREW.  Téléphone cellulaire de nombreux transporteurs ont décidé de proposer des téléphones avec l'appui J2ME: AT&T, T-Mobile, et Sprint.  L'un des principaux transporteur a décidé de ne proposer des téléphones avec l'appui BREW: Verizon. 

Un appareil mobile qui supporte J2ME peut exécuter J2ME programs, mais ne peut pas exécuter BREW programs.  Un appareil mobile qui supporte BREW peut exécuter BREW programs, mais ne peut pas exécuter J2ME programs. 

Les fabricants de dispositifs mobiles offrent souvent plusieurs versions différentes sur la base des normes de la radiodiffusion sans fil.  Par exemple, Motorola propose deux versions de la T720: GSM et CDMA.  Par coïncidence, la version GSM de la T720 soutient J2ME programs, CDMA et la version de la T720 soutient BREW applications.  Ainsi, bien que des normes de la radiodiffusion sans fil ne sont pas techniquement liées à des systèmes d'exploitation de téléphone, les circonstances dans le marché ont conduit à cette corrélation accidentelle. 

14.2 Téléphone cellulaire fournisseurs de services de décider ce qu'est un client peut faire avec un appareil de téléphone cellulaire

Voici un résumé de ce téléphone cellulaire fournisseurs de services permettent aux clients de faire: 
[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 offre le meilleur client et développeur de l'accès au téléphone cellulaire et de dispositifs de fichiers multimédia sur l'Internet.  Evidemment, AT&T a décidé de se concentrer sur l'activité de transport octets par l'intermédiaire de leurs réseaux, plutôt que d'essayer d'être dans l'entreprise de vente de contenu multimédia. 

Verizon est le plus oppressif de téléphone cellulaire fournisseur de service de tous.  « Get It Now! » leur modèle d'affaires, ce qui implique de limiter artificiellement la clientèle d'utiliser leur propre téléphone cellulaire dispositifs pour protéger l'entreprise de vente de contenu multimédia, a inspiré de nombreux frustrés clients de résilier leurs contrats avec Verizon ou trouver des moyens de contourner le « Get It Now! » portail.  Tout comme les salles de cinéma et les stades sportifs peuvent facturer des prix extrêmement élevés pour les denrées alimentaires parce que les clients ne peuvent pas facilement accéder à des sources alternatives de nourriture dans ces circonstances (c'est-à-dire, il ya un manque d'accès à la concurrence), Verizon pouvez charger des prix extrêmement élevés pour l'accès aux fichiers multimédia et des logiciels parce que les clients ne peuvent pas facilement accéder à des sources alternatives pour des fichiers multimédia et de logiciels. 

14.3 Binary Runtime Environment for Wireless (BREW)

BREW est « Binary Runtime Environment for Wireless, une plate-forme de logiciel propriétaire développé par QUALCOMM.  Pour en savoir plus sur BREW, visitez le site Internet suivant: 

http://www.qualcomm.com/brew

Le SDK peut être téléchargé à partir Qualcomm.  En 2002, la SDK pourrait être utilisé pour construire des logiciels en utilisant Microsoft Visual C++ 6.0, et les programs pourraient être transférés à un téléphone cellulaire sans « la signature d'un » test. 

Tous les téléphones avec Verizon contrats BREW utiliser.  Tous les logiciels, les images et la musique doivent être transférés dans le cadre d'Verizon's « Get It Now! » portail, et implique généralement payer les frais au-delà de la bande passante du réseau des coûts. 

14.4 Java 2 Platform, Micro Edition (J2ME)

J2ME est « Java 2 Platform, Micro Edition », un « très optimisé » Java environnement d'exécution.  Pour en savoir plus sur J2ME, visitez le site Internet suivant: 

http://java.sun.com/j2me

Vous avez peut-être déjà fait certains Java programmation.  J2ME comprend un grand nombre de Java classes utilisées pour ordinateur de bureau programs.  Bien évidemment, toute Java classes qui sont de pures Java code, et ne dépendent pas sur n'importe quel matériel ou système d'exploitation fonctions, peut être compilé pour exécuter dans le cadre de toute Java machine virtuelle. 

Une personne peut créer des threads, sockets, toiles graphiques, etc, très facilement.  Une personne ne doit *.JAR télécharger un fichier (et éventuellement un fichier *.JAD) pour installer une application sur un téléphone cellulaire. 

Java SDK le téléchargement est gratuit.  La documentation pour Java est approfondie.  Des millions de personnes ont développé le code pour Java.  Il existe de nombreux forums Internet examiner les différents aspects de la programmation Java. 

En simple procès-verbal de la recherche sur Internet, j'ai trouvé des centaines de logiciels intéressants, et les images, et des effets sonores, le tout pour le Motorola T720 GSM/J2ME téléphone cellulaire - et tous les fichiers ne coûtent rien à télécharger. 

Je suis très heureux d'être en mesure de tirer pleinement parti des aspects multimédia de ma propriété (c'est-à-dire, mon téléphone cellulaire), sans avoir à payer mon téléphone cellulaire fournisseur de services pour quelque chose de plus que l'usage de leur réseau de téléphonie cellulaire. 

14.5 Mon BREW et Verizon histoire d'horreur

J'ai créé des logiciels pour les deux J2ME et BREW plates-formes, et, à mon avis, je pense que les deux technologies ont leurs avantages et leurs inconvénients, et les deux sont tout à fait capables d'être utilisés pour créer des complexes très facilement programs. 

Toutefois, une entreprise qui est intéressée dans la création et de vendre des logiciels pour les téléphones cellulaires devrait commencer par examiner une seule « question: » Si je « développe des logiciels, serai-je autorisé à vendre? » 

Si une entreprise développe un logiciel pour la plate-forme J2ME, alors la plupart des téléphones cellulaires des fournisseurs de services permettent aux clients d'aller à un site Internet et télécharger tout logiciel J2ME, sans imposer de coûts au-delà du coût de transfert octets par l'intermédiaire du réseau de téléphonie cellulaire.  Ainsi, une entreprise de développement de logiciels est certain d'être en mesure d'avoir accès à des clients potentiels, et peuvent prendre leurs propres dispositions pour la collecte de l'argent de la part des clients pour tout les achats de logiciels. 

Si une entreprise développe un logiciel pour la plate-forme BREW, puis Verizon décide si oui ou non le logiciel sera disponible à la vente aux clients.  En outre, Verizon extrait un grand pourcentage du prix de vente du logiciel pour le privilège d'être autorisés à vendre des logiciels par le biais de leur portail exclusif. 

Voici mon BREW et Verizon histoire d'horreur: 

J'ai eu une idée originale pour un logiciel pour les téléphones cellulaires à un moment où les téléphones cellulaires ont commencé à être capable d'exécuter BREW et J2ME programs.  J'ai été très heureux parce que je croyais que je pouvais créer et de publier un program unique pour ces plates-formes bien avant tout des concurrents seraient prêts à créer un produit similaire.  J'étais convaincu que je pourrais enfin faire quelque chose dans ma vie qui me rendent riches.  Alors, j'ai quitté mon travail et commencé à travailler sur une version BREW de mon idée du logiciel.  Après six mois de travail acharné, et aucun revenu, j'ai fini avec mon BREW program!  J'étais prêt à le soumettre à Qualcomm pour les essais. 

C'est alors que j'ai fait une découverte horrifiante: Même si mon passé le program d'assurance de la qualité des essais, Verizon aurait à approuver la vente de mon logiciel - et Verizon pourrait refuser de mon logiciel pour une raison quelconque (au-delà des raisons évidentes d'être offensive ou en concurrence avec un autre aspect de Verizon's entreprises).  Je n'ai tout simplement pas à imaginer cette possibilité.  Tout ce que j'ai lu sur BREW développement implique que le défi était de réussir les tests d'assurance de la qualité.  Rien mentionné, j'ai lu qu'il soit nécessaire d'avoir le logiciel approuvé par téléphone cellulaire les fournisseurs de services.  Je n'aurais pas été surpris d'apprendre que le téléphone cellulaire les fournisseurs de services pourraient choisir de ne pas vendre ou offensive programs malveillants, mais de telles considérations semblait si peu important pour mon projet que je ne pense pas que sur la notion plus générale de téléphone cellulaire que les fournisseurs de services pourraient choisir de ne pas vendre d'ordinaire logiciels! 

Un de mes amis, qui avait déjà vendu plusieurs de jeux vidéo par le biais de Verizon programs, a demandé à un représentant Verizon si Verizon approuverait mon logiciel à la vente sur leur réseau ...  Verizon Le représentant a « dit: » non, parce qu'il y avait un certain nombre d'autres logiciels dans ce genre déjà large.  Mon logiciel a été un vocabulaire tuteur (avec une considération particulière pour la SAT et GRE des tests standardisés), mais la Verizon représentant a déclaré que le jeu de mot genre était déjà « bondé, » en dépit du fait qu'il y avait moins de 10 mots liés programs total « de » l'EEG « Immédiat! » Portail, et les autres applications sont très différentes (par exemple, des mots croisés, « Scrabble », « Boggle », etc.)  Ma a été un succès technologique: Il stockées les définitions du vocabulaire de 5000 mots, avec des synonymes et des antonymes, et le mot sens groupes (de sorte que les questions quiz serait difficile), dans un logiciel qui a été moins de 1 MB.  Mon program aurait été unique sur le marché depuis de nombreux mois, et potentiellement pour une couple d'années. 

J'étais en colère, déprimé, cassé et financièrement.  Six mois de travail a été gaspillé, parce que tous ne voulait Verizon logiciel qui est certain de vendre des milliers de copies dans leur portail de vente, et le représentant Verizon ne pense pas que mon logiciel avait un haut potentiel de vente. 

Voici la leçon la plus importante, j'ai appris de cette expérience amère:  Vérifiez chaque partie d'un plan d'affaires avant de commencer à travailler.  (Idéalement, chaque partie du plan d'affaires pourrait être testé à plusieurs reprises, par l'exécution effective de la critique des procédures différentes, avant et pendant l'effort pour créer le produit.) 

Je devrais avoir vérifié si oui ou non il y aurait probablement tout obstacle à la vente de mon logiciel avant, j'ai commencé à développer le logiciel.  J'aurais Verizon découvert que pourraient choisir de ne pas permettez-moi de vendre mon logiciel. 

J'ai appris une deuxième leçon:  Évitez les situations dans lesquelles d'autres personnes ont la possibilité de déterminer si oui ou non vous avez accès à la clientèle! 
colinfahey.com
coordonnées
English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية