J2ME desenvolvimento de software para telefones celulares
(2002)
Colin Fahey

Motorola T720 telefone celular, mostraram abertos
1. Aviso
Este documento está obsoleto! A informação contida neste documento pode ter sido válida e útil para o ano 2002, mas muitas coisas mudaram nos anos subsequentes! Este documento deve agora ser considerado apenas como um interessante registro histórico do ano 2002. Não confie em quaisquer informações ou conselhos neste documento. Todas as informações técnicas contidas neste documento é muito obsoleta.
Baixando auto-criado software, auto-imagens criadas, e auto-criado alerta melodias telefone (ou seja, “toques de chamada),” foi relativamente raros e difíceis no ano 2002. Infelizmente, seis anos mais tarde, alguns provedores de serviço celular (incluindo Apple, que fornece o software exclusivo e de “tom” para o portal iPhone) continua a impor restrições sobre como baixar o software, imagens e música, telefone celular, porque os prestadores de serviços usufruídos extremamente grandes lucros financeiros pelo controle desses tipos de ativos.
Felizmente, tais como os telefones celulares featuring “Android” a plataforma de software, irá definitivamente termo a capacidade das empresas para criar e explorar mercados fechados para tais utilizações de telefones celulares. Apesar de bom grado os consumidores compraram planos de serviço de telefonia celular que incluiu custos muito elevados para fazer o download de software, imagens e música, isto é, devido ao número limitado de telefone celular opções de serviços disponíveis.
As dinâmicas económicas que permitiram que algumas empresas a crescer para dominar o mercado não deve ser interpretada como um forte implícita aprovação pelos consumidores. Como as empresas começam a dominar e, em seguida, tornar difícil ou impossível aos concorrentes a entrar no mercado, dominando as empresas podem oferecer produtos que combinam alto valor positivo (por exemplo, a capacidade de comunicação de qualquer lugar), com elevado valor negativo (por exemplo, os preços elevados desejável para o software, imagens e música, todos os quais, de outra forma seriam disponibilizados gratuitamente; assim, o serviço adiciona valor negativo). Nenhum consumidor é forçado a comprar um telefone celular, mas não há dúvida de que o telefone celular dominante prestadores de serviços têm progressivamente criadas condições que não pode ser considerado um “mercado livre.” Portanto, o serviço de telefonia celular do mercado tem sido economicamente “ineficiente e” tem sido um peso excessivo sobre os consumidores.
Esperemos que, requisitos que telefone celular serviço estará disponível de radiofrequências para serviços concorrentes irá restaurar valores normais de mercado para a transferência de dados, telefone celular que tais serviços são novamente reduzidos a meros portadores de dados (ou seja, apenas a fornecer largura de banda), em vez de informação ou entretenimento prestadores !
O negócio de transporte dos dados deve ser separado do negócio de venda de dados, caso contrário, haverá um incentivo para o transporte de dados das empresas concorrentes para bloquear a venda a partir de dados através do mesmo canal de transporte de dados.
O mercado de games console sofre do mesmo problema. Os fabricantes de hardware de vídeo game console estão no negócio de criação de dispositivos que podem exibir jogos de vídeo, mas essas mesmas empresas também têm o controlo exclusivo da transferência de software para as consolas de jogos vídeo. Portanto, existe um incentivo para que o vídeo game console fabricantes concorrentes para bloquear a venda de software para as consolas de jogos vídeo. Se um vídeo game console fabricante de hardware centrada na concepção e fabrico de hardware que poderia ser vendido com um lucro (em vez de uma perda significativa, como aconteceu com o X-Box e PlayStation e Nintendo consoles de games), em seguida, o vídeo game mercado iria prosperar, e a qualidade dos melhores jogos vídeo iria melhorar drasticamente, e os custos de video games entraria em colapso.
2. Índice Temático
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
3. J2ME desenvolvimento ferramentas
Esta seção descreve como baixar o desenvolvimento de ferramentas que podem ser usados para compilar o código fonte J2ME na classe de arquivos apropriado para dispositivos móveis. Note que o Sun “J2ME Wireless Toolkit,” discutido em uma seção posterior deste artigo, exige o download de Java SDK descrito nesta seção.
3.1 JDK 1.4 (ou posterior)
Isso significa que você precisa a partir de Sun convencional Java 2 SDK. Eu baixados e usados versão 1.4 através do seguinte link:
Aqui está o que a página de download pode ser parecido com:
Iniciar o programa de instalação. Instale ( c:\j2sdk1.4.0_03 ) localização predefinida para a não ser que você é capaz de resolver problemas que possam surgir caminho.
3.2 Connected Limited Device Configuration (CLDC)
Não vou fingir que sei o que é isso, mas eu simplesmente o download a partir do Sun web site.
Aqui está o que a página Web download CLDC principais aparência:
1.0.3 só estava disponível no momento em que eu visitei.
A fim de baixar esse, eu precisava de Sun cadastrar no site. Eu criei o seguinte perfil:
Username: anon***anon
Password: nospamplease
Favorite color: blue
Full name: Prof. Anon Nospamplease
Eu fiz o download do seguinte arquivo:
j2me_cldc-1_0_3-fcs-src-b17-winunix-14_sep_2001.zip
Eu unzipped para o seguinte diretório:
Eu renomeou o diretório para “cldc-1_0_3-fcs” simplesmente:
cldc (ou seja, o caminho completo é c:\j2me\cldc)
3.3 Mobile Information Device Profile (MIDP)
Não vou fingir que sei o que é isso quer, mas eu simplesmente o download a partir do Sun web site.
Veja o que a página Web download MIDP principais aparência:
Eu fiz o download do seguinte arquivo:
j2me_midp-1_0_3-fcs-src-b26-win-19_sep_2001.zip
Eu unzipped para o seguinte diretório:
Eu renomeou o diretório para “midp-1_0_3-fcs” simplesmente:
midp (ou seja, o caminho completo é c:\j2me\midp)
3.4 Configurando ferramentas
3.4.1 Estabelecer caminhos
Adicione as seguintes linhas ao seu AUTOEXEC.BAT arquivo:
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%
Então vigor essas variáveis a serem recarregados, executando o arquivo de lote:
Você também pode criar essas mesmas variáveis usando a variável de ambiente do Windows no painel de controle.
Repare que eu escolhi para especificar explicitamente os caminhos para o meu diretório atual versão do Java 2 SDK. Por isso, caso eu upgrade, então eu AUTOEXEC.BAT deve modificar o arquivo para especificar os novos diretórios.
3.4.2 Confira os binários Jave 2 SDK
Depois que as configurações acima tenham efeito, você deve ser capaz de executar a ferramenta Java programas a partir do prompt de comando sem especificar o caminho completo para a ferramenta programas.
O seguinte comando irá iniciar o emulador dispositivo celular:
A imagem seguinte mostra o telefone celular emulador dispositivo:
4. Simples J2ME programa
4.1 Escrever código Java
Utilizando qualquer editor de texto, uma pessoa pode digitar no código, como o código fonte para este HelloMIDlet.java arquivo:
Aqui está o código em formato de texto simples:
// 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 código para compilar *.class
Atenção: O seguinte comando deve estar em uma única linha, mas foi ampliado para várias linhas de texto apenas para a clareza.
(Diretório atual: C:\HelloMIDlet)
javac
-target 1.1
-d .\
-bootclasspath c:\j2me\midp\classes
HelloMIDlet.java
Nota: O “-target 1.1” é necessária para evitar um erro no futuro “preverify” fase. Aparentemente, isso tem algo a ver com um problema com MIDP 1.0.3 apoio em JDK 1.4.
4.3 Preverify para gerar um novo arquivo *.class
(Diretório atual: C:\HelloMIDlet)
preverify -classpath c:\j2me\midp\classes;. HelloMIDlet
Isso gera um novo arquivo no *.class um novo subdiretório chamado “output” (por defeito).
4.4 Testar o novo arquivo *.class
(Diretório atual: C:\HelloMIDlet)
midp -classpath c:\j2me\midp\classes;.\output HelloMIDlet
Isso inicia o emulador telefone, indicando que o novo “output” diretório contém alguns dos arquivos necessários *.class.
A imagem seguinte mostra o resultado esperado.
4.5 Crie um novo arquivo de texto, “manifest.mf” e editar o arquivo
Um “manifest.mf” arquivo é essencial para obter um telefone celular real para interpretar o conteúdo de um arquivo *.jar. Se um bom “manifest.mf” arquivo não está incluído dentro do *.jar arquivo, em seguida, o telefone celular com êxito poderá fazer o download do arquivo *.jar, mas poderá deixar de interpretar o arquivo baixado, possivelmente relata um erro, como “Unsupported Content Type”.
O seguinte é um exemplo de um arquivo “manifest.mf” simples.
Aqui é o “manifest.mf” arquivo como texto simples:
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
Repare que o CLDC e MIDP versões são especificados neste arquivo. Ser muito cauteloso e conservador, quando editar os vários campos neste arquivo. Se você obter erros “File Corrupt”, então tente eliminar todos os campos que não são mostrados neste exemplo. Além disso, colocar os campos na ordem em que aparecem no exemplo. Além disso, encurtar cada campo valor tanto quanto possível, e continuar os caracteres limitado a simples letras, dígitos, períodos, e hífens. Alguns serviços de telefonia celular, e telefones celulares, pode tolerar mais variação do campo e ordenando campo conteúdo.
Cuidado:
“jar” quando o programa é usado para criar um arquivo *.jar, e “manifest.mf” o arquivo é especificado como o arquivo de manifesto, o programa “jar” lê o arquivo de manifesto e poderá adicionar mais campos que ele cria um arquivo chamado “MANIFEST.MF” dentro do arquivo de saída *.jar. Portanto, se o “MANIFEST.MF” arquivo é extraído de um arquivo *.jar, e é então comparada com o original “manifest.mf” arquivo especificado durante a criação do *.jar, os dois processos poderia ser diferente, com o “MANIFEST.MF” arquivo contendo vários outros campos que não o arquivo original “manifest.mf” .
Não “MANIFEST.MF” extrair um arquivo de um arquivo *.jar e tentar formar uma nova *.jar arquivo usando esse arquivo manifesto. Se você extrair um arquivo “MANIFEST.MF” partir de um arquivo *.jar, em seguida, certifique-se de eliminar todos os campos exceto para aqueles mostrado no exemplo acima demonstrado “manifest.mf” arquivo.
Nota:
Ícones para programas aparentemente não constam da Motorola T720 telefone. Esta é a razão pela qual eu não descrever o meu MIDlet com um ícone. No entanto, a seguir mostra como definir um ícone para o programa dentro do arquivo manifesto:
MIDlet-1: My_Description, /icon.png, HelloMIDlet
Ao desenvolver para telefones celulares que fazem exibir ícones de aplicações, especificar o ícone do arquivo, e adicionar o ícone da imagem *.jar-se para o arquivo, especificando o nome do arquivo entre os nomes de arquivos para serem adicionados ao *.jar arquivo.
4.6 Coloque o arquivo “manifest.mf” e *.class no arquivo para um arquivo *.jar
O seguinte comando cria um arquivo *.jar. O *.jar arquivo vai conter o arquivo especificado manifest.mf, e irá conter o *.class arquivos encontrados no diretório especificado.
Diretório atual: C:\HelloMIDlet
jar cfm hi.jar manifest.mf -C .\output HelloMIDlet.class
Complexo exemplo hipotético de se criar um arquivo *.jar
Suponhamos um ícone da imagem (por exemplo, “icon.png”) está a aparecer em um arquivo *.jar como “/icon.png”. (Nota: Programa ícones não aparecem na Motorola T720 telefone celular, mas não aparecem em outros tipos celulares, e não aparecem na MIDP emulador.)
Suponhamos que há um diretório chamado “images” com os arquivos de imagem (formato *.png). Suponha este diretório, e todas as imagens contidas no diretório, deve ser acessível ao programa Java pela relativa diretório /images (tal que uma imagem “a.png” seriam acessíveis através do caminho “/images/a.png”).
Suponha todos os arquivos do *.class produzido pela preverify comando estão contidos em um diretório chamado “verified”. Por exemplo, a verificação da versão a classe principal, “MyApp.class”, seria “verified” na pasta, juntamente com as outras turmas do programa. Todas estas aulas são para serem acessíveis no diretório raiz do arquivo *.jar.
O seguinte comando irá criar um arquivo *.jar que atinge as diversas metas especificadas nos parágrafos anteriores. Cuidado: o comando foi ampliado para várias linhas de texto aqui apenas para maior clareza. Ao digitar o comando em um prompt de comando, o comando não deve conter quebras de linha; caso contrário, o comando intérprete irá interpretar o texto inscrito como vários comandos independentes.
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 .
A parte final do comando é difícil de entender. Ela tem o seguinte significado: “Altere o diretório de trabalho atual .\verified e, em seguida, colocar *.class todos os arquivos encontrados no diretório parente '.' (*.class saber todos os arquivos no diretório corrente de trabalho), em que o arquivo *.jar.” Porque o diretório tivesse sido alterado antes de especificar o caminho das aulas para colocar no *.jar arquivo, o caminho local não irá aparecer no caminho relativo quando os arquivos são colocados na *.jar para o arquivo.
Por exemplo, suponha que as aulas são verificadas no seguinte diretório:
C:\MyApp\verified
Suponhamos que há classe arquivos como o seguinte:
C:\MyApp\verified\w.class
Então, em especificam “-C .\verified .” o comando para criar o arquivo *.jar, a partir de um diretório atual de “C:\MyApp”, resultará em “w.class” sendo colocado no diretório raiz do arquivo *.jar. </ P>
Aviso: Quando o “-C” opção é especificada, ela muda o diretório corrente de trabalho nesse momento de transformação global da seqüência de comando parâmetros para o comando jar. Por isso, o comando jar poderiam queixar que não é possível encontrar outros arquivos mencionados no comando parâmetros para além do “-C” opção. Se isso acontecer, basta mover o “-C .\verified .” a ser o final parâmetros do comando geral.
O seguinte mostra o resultado verboso do jar comando.
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 Criar e editar um novo arquivo *.jad
Um *.jad arquivo é necessário para que o telefone celular pode descrever um programa de computador para uma pessoa antes de a pessoa decide fazer o download do programa. O arquivo também oferece algumas *.jad rodeio a partir do *.jar si mesmo.

Um exemplo *.jad arquivo, descrevendo um arquivo *.jar
Aqui está o exemplo hi.jad arquivo em formato de texto simples:
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
Existem programas que podem gerar o arquivo *.jad, o que torna mais fácil de atualizar o campo “MIDlet-Jar-Size:” cada vez *.jar o arquivo for alterada (e muda o seu tamanho). Se você pesquisar na Internet J2ME você vai encontrar programas úteis.
Se o tamanho campo não precisassem o byte *.jar total do arquivo, então o seguinte erro poderá aparecer depois de uma bem sucedida para baixar um telefone celular: “Download Failed” (download falhou).
Motorola T720 para o telefone celular, a seguinte mensagem de erro poderá ser utilizado para inidcate inválido *.jad campos no arquivo, ou possivelmente inválidos gerados MANIFEST.MF campos no arquivo dentro do arquivo *.jar: “Failed: File Corrupt” (falhou: arquivo corrompido).
Nota: Se o arquivo for *.jar no mesmo diretório que o arquivo correspondente *.jad em um servidor web Internet, em seguida, o *.jad arquivo pode simplesmente indicar o nome do arquivo do arquivo *.jar, sem especificar uma plena URL, como no seguinte exemplo:
MIDlet-Jar-URL: hi.jar
Quando o download desses arquivos de um servidor web Apache Internet Motorola T720 de um telefone celular, é aceitável para não incluir a totalidade URL. No entanto, quando o download desses arquivos a partir de um servidor web Yahoo! Internet Motorola T720 para um telefone celular, a tentativa de download falhará, a menos que haja uma plena URL caminho para o arquivo *.jar é especificado dentro do arquivo *.jad, como no seguinte exemplo:
MIDlet-Jar-URL: http://www.colinfahey.com/hi.jar
Não sei a razão para este problema, e sei que este problema não afecta outros telefones celulares (telefone celular ou de prestadores de serviços). Depois de especificar o pleno URL para o *.jar arquivo dentro do arquivo *.jad é obviamente inconveniente, porque mover os arquivos para locais diferentes em um servidor seria necessário modificar a informação em todos os arquivos *.jad. No entanto, especificando o pleno URL poderia fazer o *.jad mais confiáveis para determinados telefones celulares e certos prestadores de serviços celulares.
4.8 Teste o arquivo *.jar e *.jad o arquivo por meio da execução do programa
A seguir executa a classe *.jar encontrados no arquivo, descrito pela *.jad arquivo.
(Diretório atual: C:\HelloMIDlet)
midp -classpath c:\j2me\midp\classes;.\hi.jar -descriptor hi.jad
4.9 Referências para J2ME, MIDP, CLDC desenvolvimento
Muito do que eu aqui apresentados podem ser encontradas em muitos outros sítios Internet. No entanto, devo corrigir alguns erros encontrados em outros sites da Internet, e acrescentou faltando detalhes, e apresentou a experiência completa de alguém tentando fazer essas coisas. Aqui são muito esclarecedores links que me ajudou a começar:
5. Complexo J2ME programa
5.1 Introdução
O programa simples apresentado na seção anterior deste documento tem apenas um único arquivo de código fonte, bem como o programa faz quase nada e, portanto, não é um bom exemplo de telefone celular de programação.
Meu amigo Sam Robertson interessante J2ME escreveu um programa que ensina uma pessoa a jogar o jogo de cartas “Blackjack” (também chamado “21”). Um jogador é presenteado com um “cartão de comerciante,” e as emparelhar do jogador de cartas, eo jogador tem de decidir o que fazer: “ficar, bateu, duas vezes para baixo, ou” dividir.
Este programa tem seis arquivos de código fonte. O programa responde à entrada do usuário, e não simples desenho e texto atualizações.
5.2 Código Fonte
Clique no link a seguir para obter o código fonte, e as *.jad arquivo, “manifest.mf” arquivo e um arquivo em lotes, todos em um arquivo ZIP convenientes.
sbj.zip
Código fonte contido em um arquivo ZIP
6090 bytes
MD5: bf3922035b7a4eef24e107d03b7524c9
Excerto de um diretório arbitrário, mas se você extraia a “c:\” sob Windows, o seguinte exemplo discussão será ainda mais próxima de sua realidade.

Extraindo sbj.zip para “c:\” cria o diretório “c:\sbj”
5.3 Manifesto arquivo
Arquivo: “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 O arquivo em lote para construir o programa
O seguinte arquivo em lotes é rude, mas serve como uma ilustração de como você pode começar a escrever o seu próprio arquivo em lote para construir o seu J2ME programa. Este exemplo faz o seguinte ficheiro batch:
(1) Elimine o directório contendo os arquivos antigos *.class;
(2) Delete o diretório que contém os antigos confirmado *.class arquivos;
(3) Faça um diretório de saída “classes;”
(4) Compile todos *.java em fontes de *.class arquivos, com saída que vai para o diretório “classes.”
(5) Faça um diretório de saída “verificadas;”
(6) Preverify todas as classes no diretório “classes,” e colocou o verificado nas classes “verificado” diretório.
(7) Crie um *.jar arquivo, e adicionar o arquivo mainfest, e todas as classes no diretório “verificado;”
*(8) Teste o programa através do preverified classes directamente;
*(9) Teste o programa através do *.jar e *.jad arquivos;
(*... Estes passos são deficientes (por comentar), em meu arquivo em lotes.)

O arquivo em lotes para construção “build_sbj.bat” o programa
Aqui é o mesmo arquivo (“build_sbj.bat”) em formato de texto simples:
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 Construindo a partir do prompt de comando
Aqui é o resultado de executar o ficheiro batch “build_sbj.bat” na linha de comando:

Executar o ficheiro batch “build_sbj.bat”
Note que as mensagens de aviso para as operações “rmdir” e “del” simplesmente indicam que não há nada a retirar.
Você pode ver os novos diretórios (ou seja, “classes” e “verified”) e *.jar o novo arquivo que são resultado de executar o ficheiro batch:

Arquivos de código fonte e novas arquivo gerado
5.6 *.jad arquivo
Para implantar o arquivo sbj.jar, precisamos de criar e editar o arquivo sbj.jad a ter o tamanho correto *.jar no campo apropriado:
Arquivo: 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
Uma pessoa pode precisar adicionar o URL completo para o arquivo *.jar quando o *.jad arquivo é colocada em um site da Internet -, mas eu descobri (por um experimento) de que eu era capaz de evitar mencionar o pleno URL (ou seja, eu só o especificado *.jar nome do arquivo por si próprio). No entanto, colocando no URL completo, mas eu queria que você saiba o que eu observados.
5.7 Resumo
Depois de múltiplos arquivos fonte em seu projeto é comum, e neste ponto que demos uma ilustração bruta de construção de várias classes, seguido de embalagens e realização.
Por favor, consulte a seção a seguir em matéria utilizando Sun Wireless Toolkit, o que torna muito mais fácil construir aplicações.
6. Sun “Wireless Toolkit (version 1.0.4_01)”
6.1 Introdução
Sun oferece um ambiente de desenvolvimento para construir convenientes e embalagem J2ME programas: “Java 2 Platform Micro Edition (J2ME) Wireless Toolkit (version 1.0.4_01)”.
(Atenção: Você precisa baixar o Java 2 SDK 1.4 como descrito em uma seção anterior para usar esta ferramenta. Faça isso agora, se você não tiver esta versão do Java 2 SDK.)
Vá até o seguinte site Internet para fazer o download da ferramenta:
http://java.sun.com/products/j2mewtoolkit/
Cuidado!
NÃO clique no link “2.0 Beta 1 English” (actualmente o início opção download) se você estiver fazendo Motorola T720 desenvolvimento - porque esta versão tem algumas coisas MIDP-2.0, e contornar esta pode ser uma dor de cabeça.

Não baixar esta versão! (“2.0 Beta 1 English”)
Eu tentei essa versão, e eu finalmente tenho código para compilar com lotes dos ajustes bagunçado mudanças, mas depois de todo o esforço eu tenho uma exceção de segurança quando eu tentava executar. Não se incomode!
Faça o download da versão “1.0.4_01 English”. Aqui está o que a página de download pode ser parecido com:

A página de download Sun J2ME Wireless Toolkit (version 1.0.4_01)

O site lista Sun J2ME Wireless Toolkit (version 1.0.4_01) FTP
Isto irá fazer o download do seguinte arquivo: “j2me_wireless_toolkit-1_0_4_01-bin-win.exe”
Executar este programa para instalar em seu sistema.
6.2 J2ME Wireless Toolkit: lançamento de ferramentas
Depois que a ferramenta está instalada, você pode lançar ela “Start” a partir de (iniciar) sistema de menus:

Iniciando o programa de ferramentas
Você também pode acessar através do MIDP-1.0 documentação “Documentation” item nesta Start (início) no menu.

J2ME Wireless Toolkit (version 1.0.4_01) documentação
6.3 J2ME Wireless Toolkit: criar e construir projeto

A barra de ferramentas está pronto. Clique “New Project...” para criar um novo projeto.

New Project: Escreva o nome do projeto (passa a JAR nome eo nome do novo projecto diretório), e tipo, em nome MIDlet classe (classe derivada de MIDlet, essencialmente a classe principal da sua candidatura).

Barra de Ferramentas: projeto criado. Repare que o console lhe disser onde pôr o seu *.java arquivos fonte, etc (por exemplo, “c:\WTK104\apps\sbj\src”, etc)

Clique sobre “Settings...” na barra de ferramentas para que este projecto menu Definições.
Desconsiderar a “MIDlet-Jar-Size” campo (com “valor” 100 bytes) por agora. Nós acabará por fazer com que o valor correto para se definir.

Clique na guia MIDlets as configurações do projeto diálogo.
Clique sobre a única linha da tabela (“MIDlet-1”) para destacar e selecioná-la. Em seguida, clique no botão “Edit”.

Limpar o campo “Icon” se você não tiver um arquivo *.png para colocar em seu arquivo *.jar.
Faça o seguinte:
(1) Project --> Clean: remove todos os arquivos *.class;
(2) Build : Constrói *.class todos os arquivos e preverifies;
(3) Project --> Package --> Create Package : produz *.jar e *.jad

O resultado da construção de *.jar e *.jad
Ao fazer estes três passos, a resultante *.jar e *.jad estão prontos para execução imediata, no local emulador, ou para a implantação imediata do seu site Internet para outras pessoas para fazer o download “através do ar” (OTA). O tamanho *.jar campo na *.jad arquivo estará correta. Não se esqueça de fazer a cada passo (3) única vez que você reconstruir!
Agora você pode testar os bater por “Run” (executar) botão.

Rebater “Run” para o projeto lê o *.jad em que o emulador. Você pode selecionar o MIDlet específica de lançamento (normalmente apenas um).
Basta copiar os arquivos de *.jar e *.jad a locais especificados (relatada pela barra de ferramentas da janela durante um console de construir o projecto), tais como:
(Da janela do console:)
Wrote c:\WTK104\apps\sbj\bin\sbj.jar
Wrote c:\WTK104\apps\sbj\bin\sbj.jad
Coloque estes ficheiros directamente para o seu site Internet, sem qualquer alteração, e já deve funcionar. Aqui está o que eu vi em meu telefone celular após o download deste aplicativo compilado “através do ar” (OTA)

Sam Robertson's Blackjack Trainer (sbj.jar) execução no meu telefone celular
7. Dispondo de software em um site da Internet
7.1 Garantir que o servidor Web Internet MIME especifica *.jar tipos de arquivos e arquivos *.jad
Se você tiver um servidor web Apache Internet, você precisa criar um arquivo chamado “.htaccess” dentro de seu web site diretório raiz. O arquivo “.htaccess” lhe permite sobrepor Apache configuração, como adicionar ou superior MIME tipos de arquivo. Você deve adicionar o MIME especificar os tipos de arquivos correspondentes a *.jar e *.jad arquivos, conforme mostrado no seguinte arquivo texto:

O meu costume “.htaccess” arquivo para o servidor web Internet Apache. Nota: O nome deste arquivo “.htaccess.txt” apenas para tornar o processo fácil para editar Windows quando se utiliza o sistema operativo. O nome do arquivo deve ser alterado para “.htaccess” antes do arquivo pode ser usado com o servidor web Internet Apache.
Aqui está o meu .htaccess simples arquivo de texto simples como:
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar
AddType text/vnd.wap.wml wml
Aparentemente, criar ou modificar este arquivo resulta em uma mudança imediata do servidor Apache comportamento. Acho Apache o servidor verifica a data e hora de modificação do arquivo mediante “.htaccess” cada nova transação incoming, e recarrega o arquivo do servidor se a modificação data e hora mudou.
Se você tiver um tipo diferente de servidor web Internet, você deve determinar a forma de MIME indicar tipos, e você deve ter certeza que *.jar arquivos e *.jad arquivos são atribuídos os tipos adequados MIME.
Você saberá se os tipos MIME não foram criados celular quando o telefone se recusar a fazer o download do seu arquivo *.jad e relata o seguinte erro:
“406: Not Acceptable”
7.2 Opcionalmente fornecer links para o arquivo *.jad dentro HTML ou WML documentos
O Motorola T720 J2ME telefone celular com AT&T serviço é capaz de fazer download de um arquivo diretamente *.jad, pelo o URL digitação do *.jad no arquivo para o telefone celular. Esta é provavelmente a trabalhar para outros telefones celulares J2ME telefone celular com outros prestadores de serviços.
No entanto, talvez fosse mais conveniente para as pessoas se *.jad baixar o arquivo, selecionando um link dentro de um documento ou HTML dentro de um WML documento. (Nota: WML tornou-se obsoleto. A maioria dos telefones celulares já pode interpretar HTML.)

Um simples HTML documento com um link para um arquivo *.jad

Um simples WML (WAP) página com um link para um arquivo *.jad (Nota: WML tornou-se obsoleto. A maioria dos telefones celulares já pode interpretar HTML.)
8. Download de software a partir de um site da Internet
As imagens seguintes mostram a seqüência exata das ações que fiz para fazer o download e executar o MIDlet desenvolvido e implantado como descrito nas seções anteriores acima. Estas imagens são fotografias da tela do meu telefone celular.
(1) da tela principal: Quando você abrir o telefone, você vê a tela principal. Pressione o botão central para ir para o menu principal.
(2) Main Menu: Mover o item “WebAccess”.
(3) WebAccess: Mover o item “Go To URL”.
(4) Enter URL: Escreva a URL de um *.jad arquivo (ou HTML de um documento, ou de um documento WML).
(5) Details; Esta informação foi analisado a partir do arquivo *.jad. DOWNLD imprensa para fazer o download do arquivo *.jar.
(6) Download Complete; Esperar para esta mensagem a desaparecer;
(7) Installing; Esperar para esta mensagem a desaparecer;
(8) xxxx bytes transferred; Esperar para esta mensagem a desaparecer;
(9) Installed; Esperar para esta mensagem a desaparecer;
Quando o menu WebAccess aparecer novamente, depois de o programa ter sido instalado, simplesmente saia cada menu para voltar à tela principal.
(1) da tela principal: Quando você abrir o telefone, você vê a tela principal. Selecione a opção “Games & Apps” através do menu principal, ou carregue o descendente cursor na tela principal.
(2) Java Powered: Espera por essa tela para desaparecer.
(3) Games & Apps: Selecione o item com o nome de seu programa!
(4) Yay! Execução bem sucedida de seu programa!
A aparição no programa do telefone celular é muito parecido com o aparecimento dentro do emulador.
9. Download mensagens de erro ea instalação mensagens de erro
9.1 Motorola T720 (J2ME) mensagens de erro
Os seguintes erros são apenas mensagens relevantes para o Motorola T720 (GSM/J2ME) telefone celular.
9.1.1 “Download Failed”
Cause # 1
Qualquer arquivo (HTML, JAD, JAR, MID, GIF) durante 1644 bytes irá provocar este erro para determinados hospedeiros web e servidores de Internet. Aqui está uma breve lista de hosts e servidores:
Host / Server Error
=================================================== =================
Apache No
Microsoft Personal Web Server (direct from your PC) No
Earthlink (Apache) No
Yahoo! (custom server) Yes
O problema é devido a uma falha no Motorola T720 GSM/J2ME firmware, o que faz o download de arquivos em fragmentos fracassará.
A única solução aparente é a de mudar os anfitriões web ou servidor de Internet tipo. Outros tipos celulares não têm esse problema.
Cause # 2
O “MIDlet-Jar-Size:” campo de um arquivo *.jad não indica o total exato byte do arquivo correspondente *.jar.
9.1.2 “Failed: File Corrupt”
Cause # 1
O *.jar arquivo usa API funções que não estão disponíveis no telefone celular específico.
Por exemplo, MIDP 2.0 funções não estão disponíveis no Motorola T720 GSM/J2ME telefone celular (que só tem MIDP 1.0 funções). Um programa pode executar dentro de um emulador, mas pode não executar sobre o telefone celular.
A solução está em busca de MIDP 2.0 funções no seu código-fonte e substituí-los com MIDP 1.0 funções, ou mesmo eliminar, as características que exigem a MIDP 2.0 funções.
Cause # 2
O “manifest.mf” arquivo usado para criar o arquivo *.jar (através do utilitário “jar”) contém erros.
Certifique-se que o “manifest.mf” arquivo tem as seguintes versões do CLDC e MIDP:
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
“manifest.mf” todo o arquivo deve olhar quase exatamente como as seguintes:
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
Cada linha de texto no “manifest.mf” arquivo, incluindo a linha final do arquivo, deve terminar com um “retorno Carraige” (CR; 13; 0x0d) personagem seguido de “uma” alimentação de linha (LF; 10; 0x0a) personagem.
Os únicos campos de “manifest.mf” o arquivo na sua própria versão do arquivo que deverá ser diferente do exemplo mostrado aqui estão os primeiros três campos listados no exemplo. Os três campos final deve ser uma correspondência exacta com o exemplo, e ao final dos dois personagens o arquivo deverá ser “o” transporte e “regresso” após o final “line feed” campo.
Aqui são possíveis problemas na sua versão do “manifest.mf” arquivo:
(1) Seu “manifest.mf” arquivo contém caracteres que não são ASCII caracteres; (Olha para um gráfico de ASCII caracteres; qualquer personagem fora da faixa de 0 a 127 é inválido);
(2) Seu “manifest.mf” arquivo não tem “uma” alimentação de linha (LF) personagem após “cada” retorno de carro (CR) personagem no final de cada linha;
(3) Seu arquivo tem “manifest.mf” invisível espaços ou tabulações, no final de cada linha antes da linha (CR)(LF) rescisão;
(4) Seu “manifest.mf” arquivo contém uma linha “Manifest-Version:”;
(5) A última linha do seu arquivo “manifest.mf” não termina com uma linha (CR)(LF) rescisão, mas sim simplesmente chega ao fim do arquivo;
(6) Seu “manifest.mf” arquivo não tem exatamente a ordem exata dos campos e campos como mostrado no exemplo acima;
(7) Seu CLDC versão não é exatamente 1.0, ou a sua versão MIDP não é exatamente 1.0;
Seu nome (8) vendedor tem caracteres que não são ASCII caracteres (por exemplo, não são permitidos caracteres Unicode);
(9) Seu “manifest.mf” arquivo não tem um espaço depois da vírgula, o segundo na linha “MIDlet-1:”;
Talvez alguns dos casos enumerados acima, na verdade, não causam muitos problemas para telefones celulares, mas eliminando todos os casos enumerados acima poderão permitir o download para ter sucesso. Após o download for bem sucedido, você pode experimentar com as variações do “manifest.mf” arquivo para descobrir o que outras coisas que você pode fazer download sem causar erros. “manifest.mf” Quando o arquivo é modificada, é importante para verificar se o download do programa continua a funcionar para todos os telefones celulares e telefone celular prestadores de serviços. Alguns celulares e serviços são menos flexíveis do que outros.
“manifest.mf” quando um arquivo é adicionado a um *.jar arquivo através do programa jar, jar o programa cria uma nova versão do manifesto *.jar arquivo dentro do arquivo. A versão de gerado o arquivo de manifesto dentro do *.jar arquivo é chamado “MANIFEST.MF”. O programa jar poderá adicionar campos para que este ficheiro não existir no arquivo “manifest.mf” fornecidas pelo programador. Não “MANIFEST.MF” extrair um arquivo de um arquivo *.jar, a menos que você esteja preparado para eliminar alguns campos e fazer as restantes campos exatamente como o exemplo “manifest.mf” arquivo mostrado acima.
9.1.3 “Unsupported Content Type”
Cause # 1
O telefone celular não pode aceitar a MIME tipo relatado pelo servidor remoto para um arquivo específico.
Por exemplo, JPG ficheiros de imagem não são suportados pelo Motorola T720 e irá causar este erro.
Este erro também pode ocorrer se o tipo MIME apoiado por um tipo de arquivo (por exemplo, GIF, MID, JAD, JAR) não está corretamente relatado pelo servidor. A pessoa deve ter muito cuidado para comunicar o tipo exato MIME para os tipos de arquivos suportados.
Cause # 2
O arquivo em cache do telefone celular em si precisa de ser limpa (por exemplo, Browser Settings -> Clear Cache).
Se você recentemente adicionou MIME tipos para um servidor remoto, e, em seguida, tentou fazer o download de um arquivo que antes tinha falhado a instalação devido a uma incorrecta ou em falta MIME tipo, em seguida, o arquivo em cache do telefone celular pode ser um obstáculo para o download do arquivo novamente com o bom MIME tipo.
É também possível que o arquivo foi modificada telecomando e que a versão em cache é defeituoso e está impedindo a versão do arquivo reparado sendo baixado como um substituto.
A limpeza do cache do navegador sobre o telefone celular deve garantir que os benefícios de uma subseqüente baixar a mais recente de configuração (por exemplo, novas configurações MIME) eo ficheiro ultraperiféricas atualizações.
Cause # 3
Como evitar erros “Unsupported Content type” em WAP
Se obtiver um erro no WAP dizendo Unsupported Content type, não é necessariamente devido à configuração do tipo de conteúdo. Muitos WAP páginas contêm caracteres especiais, como o sueco (å ö ä), e para utilizá-los para serem exibidos corretamente você precisará especificar qual jogo de caracteres que você usa. A fim de especificar qual jogo de caracteres é usado em uma página WAP, você modificar o cabeçalho Content-Type na resposta do servidor para incluir o conjunto de caracteres, por exemplo “Content-Type: text/vnd.wap.wml; iso-8859-1”. Quando um usuário recebe a resposta de um servidor, ele deve ter todas as informações necessárias para exibir o conteúdo corretamente.
No entanto, há um problema com o uso dessa abordagem. Todos os telefones para indicar o conjunto de caracteres gateway que não apóiam usando “Accept-Charset” no cabeçalho da solicitação. De acordo com HTML especificações, este deve ser comparado com o conjunto de caracteres especificado em um servidor de resposta, e se eles não corresponderem, o erro Unsupported Content type devem ser gerados.
Para tornar o problema mais complicado, alguns WAP gateways não se importam cerca de comparar o conjunto de caracteres suportado pelo dispositivo solicitou, por conseguinte, os conteúdos não são exibidos de forma adequada a esses dispositivos. Outra complicação é que a string especificando o conjunto de caracteres não diferencia maiúsculas de minúsculas, mas alguns WAP gateways tratá-las como strings caso sensível.
Todos juntos, não haverá resultados muito diferentes dependendo do que você usa aparelho, que WAP gateway que você usa e qual a resposta é servidor.
A única maneira de ter certeza que seu conteúdo será exibido corretamente semper verificar o que está ao conjunto de caracteres for aceite pelo cliente e transformar a sua resposta a esse conjunto de caracteres antes de enviá-lo.
9.1.4 “406: Not Acceptable” (“The server cannot generate a response that your client can accept.”)
Cause # 1
Você tem um telefone Verizon!
Verizon não permite que seus clientes (GIF) para baixar imagens, toques de chamada (MIDI), ou programas, de arbitrariedade Internet servidores web. Um precisa usar a sua “Get It Now” serviço, ou usar um cabo USB e do software “Get Around 'Get It Now' (GAGIN)”.
Solução: Basta esperar que a concorrência no “mercado” livre para eliminar “plataformas fechadas.” A tecnologia poderia ser obsoleto todo o tempo por este êxito, mas é isso que acontece quando as empresas são orientadas pela ganância sozinho.
Cause # 2
A mensagem de erro indica que o tipo MIME associados com a extensão do arquivo (por exemplo, .gif, .mid, .jar) do arquivo a ser baixado não foi especificado pela Internet servidor web.
Se você tiver um servidor web Apache Internet, por exemplo, então você deve modificar um arquivo “.htaccess”, adicionando as seguintes linhas:
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
O servidor hospeda o arquivo a ser baixado não especifica o tipo MIME o arquivo (por exemplo, GIF, MID, JAR). Assim, o telefone celular assume que o arquivo é de texto simples. Além disso, o telefone celular pode ter um limite para o tamanho (em bytes) de arquivos de texto, que é menor do que o limite para o tamanho (em bytes) de arquivos binários (por exemplo, GIF, MID, JAR). Por isso, um arquivo binário interpretado como um arquivo de texto é susceptível de exceder o limite máximo permitido tamanho de um arquivo de texto, e vai, assim, provocar o erro.
Se você tiver um servidor web Apache Internet, por exemplo, então você tem que alterar um arquivo “.htaccess”, adicionando as seguintes linhas:
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
Aparentemente, este erro também pode ocorrer mesmo se o servidor remoto tem o bom MIME tipos estabelecidos. Eu ainda não determinado, quando este erro ocorre, em vez de o “Download Failed” para esta situação.
Evidentemente, o Motorola T720 GSM/J2ME telefone celular não pode processar um aspecto da HTTP 1.1 especificação que permite a ser quebradas arquiva a para nos fragmentos, exigindo múltiplas solicitações “GET”.
Quando utilizar o telefone celular Motorola T720 GSM/J2ME para baixar arquivos a partir de determinados tipos de servidor web Internet, qualquer arquivo (por exemplo, HTML, JAD, JAR, MID, GIF) maior do que 1644 bytes vai causar esse erro. Aqui está uma breve lista de internet e provedores de hospedagem web ou não a internet provedor de hospedagem web provoca um problema para o Motorola T720 GSM/J2ME telefone celular:
Host / Server Error
=================================================== =================
Apache No
Microsoft Personal Web Server (direct from your PC) No
Earthlink (Apache) No
Yahoo! (custom server type) Yes
O problema é devido ao firmware no Motorola T720 GSM/J2ME telefone celular, o que afeta sua capacidade de transferir arquivos em fragmentos.
A única solução aparente, quando importar para o telefone celular Motorola T720 GSM/J2ME, é evitar que determinados tipos de servidor web Internet. A maioria dos outros tipos celulares não têm esse problema, e por isso este problema poderá agora ser ignorada com segurança.
9.1.6 “Connection unsuccessful. Try again later.”
Cause # 1
Esse erro não tem nada a ver com o servidor de Internet que está hospedando o arquivo solicitado.
Se você receber esse erro, eu sugiro que você faça as seguintes coisas:
(1) Limpar o cache do navegador;
(2) Limpar histórico do navegador;
(3) Desligue o telefone;
(4) Retire a bateria;
(5) Aguarde alguns segundos;
(6) Coloque a bateria na volta para o telefone;
Power (7) o telefone;
(8) Tente o download novamente;
Eu recebi a mensagem de erro “Connection unsuccessful. Try again later. por vários dias depois da minha primeira comprado um telefone celular. Então, por acaso chance, eu removida a bateria. Quando eu voltar a colocar a bateria para o telefone celular, eu tive acesso imediato à Internet.
Eu recebi este erro várias vezes durante os seis meses subsequentes, bem como o procedimento acima para ter acesso restauradas a Internet cada vez. Eu não determinou que uma das fases do procedimento poderia ser a mais importante, mas acredito que simplesmente retirar a bateria e colocar a bateria na volta para o telefone celular pode ser suficiente.
Na minha opinião, esta mensagem de erro é demasiado vago. Porque estava a tentar estabelecer a ligação sem êxito? Foi o telefone celular serviço de rede está muito ocupado? Foi o serviço de telefonia celular da “Gateway” servidor não funciona? É o meu telefone celular não chega a receber ou transmitir a força do sinal de rádio? Quando seria uma boa altura para tentar fazer o download novamente? Dez segundos a partir de agora? Uma hora a partir de agora? Uma semana a partir de agora? A mensagem de erro seria mais útil se fosse mais precisa sobre a causa do problema e se fosse mais específico sobre uma possível solução.
Cause # 2
Se você fez uma “Master Reset”, ou se você nunca foram capazes de acessar a Internet e, em seguida, examinar as configurações de rede sobre o telefone celular. Para um exemplo das configurações de rede (para a Motorola T720 GSM/J2ME telefone celular, para AT&T serviço na área Los Angeles, California), consulte a seção especificada pelo seguinte link:
10. Criando, oferecendo, e download de “toques de chamada”
10.1 Criar ou adquirir um MIDI arquivo (*.mid)
Você pode criar ou adquirir um MIDI arquivo (*.mid) som de qualquer fonte. Achei a música tema para a televisão mostrar “Knight Rider” (1982-1986) em MIDI formato (por exemplo, “knightrider.mid”) por uma simples pesquisa da Internet.
A imagem seguinte dá-lhe alguma idéia de como um arquivo MIDI aparece em um editor MIDI. Não é necessário ter um editor MIDI para obter a música no seu telefone. Você pode obter uma MIDI arquivo existente (*.mid) a partir de qualquer fonte. No entanto, você também pode usar um editor MIDI de sua escolha para criar sua própria música original polifônicos.

Cakewalk Home Studio: jogando “knightrider.mid”
10.2 Garantir que o seu servidor web Internet sabe o tipo MIDI MIME
Se você tiver um servidor web Apache Internet, por exemplo, então você tem que alterar um arquivo “.htaccess”, adicionando as seguintes linhas:
O arquivo irá precisar “.htaccess” ou sobrepor os tipos MIME indicada pelo servidor de arquivos de vários tipos (geralmente indicado pelo arquivo extensões, tais como .MID, .GIF, .JAR).
Se você já adicionou outros tipos MIME para outros tipos de arquivo, o arquivo pode assemelhar-se a completar “.htaccess” o seguinte texto:
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar
AddType text/vnd.wap.wml wml
AddType audio/midi mid
Aparentemente, criar ou modificar este arquivo resulta em uma mudança imediata do servidor Apache comportamento. Acho Apache o servidor verifica a data e hora de modificação do arquivo mediante “.htaccess” cada nova transação incoming, e recarrega o arquivo do servidor se a modificação data e hora mudou.
Se você tiver um tipo diferente de servidor web Internet, você deve determinar a forma de MIME indicar tipos, e você deve ter certeza que *.jar arquivos e *.jad arquivos são atribuídos os tipos adequados MIME.
Você saberá se os tipos MIME não foram criados celular quando o telefone se recusar a fazer o download do seu arquivo *.jad e relata o seguinte erro:
“406: Not Acceptable”
10.3 Coloque o MIDI arquivo (*.mid) na Internet para o seu servidor web
Eu MIDI copiado um arquivo chamado “kr.mid” para o diretório raiz do meu servidor web Internet. Você pode usar o software, tais como “Filezilla” para fazer a transferência FTP simples e conveniente.
10.4 MIDI fazer o download do arquivo para o seu telefone celular através de seu serviço de telefone do serviço de Internet
Motorola T720 GSM/J2ME para o telefone celular, download de um arquivo MIDI começa com a “WebAccess” menu. Seleção “Go To URL”, seguida, escrevendo a URL do MIDI arquivo, começa a baixar. Por exemplo, eu digitei no URL seguinte:
http://www.colinfahey.com/kr.mid
Se a transferência for bem sucedida, e se você estiver usando uma Motorola T720 cellular phone, você terá a opção de armazenar o arquivo em seu telefone celular. Quando você decidir para armazenar o arquivo, é-lhe dada a opção de simplesmente armazenar no seu conjunto de toques de chamada ou de fixação em vez do arquivo a ser o actual tom (o que também, como um efeito colateral, armazena em seu conjunto de toques de chamada) .
As imagens a seguir resumem o processo de download de arquivos e jogar MIDI para o Motorola T720 GSM/J2ME telefone celular. Outros J2ME ativado telefones celulares, telefone celular com outros prestadores de serviços, são susceptíveis de ter um procedimento semelhante download. Se o telefone celular do prestador se Verizon, então você está fora de sorte, nada disso vai funcionar, e você deve ir e comprar um telefone “Android” para ajudar a destruir o mercado “fechado telemóvel!”
(1) principal tela: Pressione o botão apropriado para mostrar o menu principal.
(2) Main Menu: Vá para o “WebAccess” item.
(3) WebAccess: Vá para o “Go to URL” item.
(4) Enter URL: Escreva a URL de um MIDI arquivo (*.mid) em um sítio na Internet.
(5) Connecting: Aguarde até que o download para começar. (Se você recebeu a mensagem de erro “406: Not Acceptable”, em seguida, o servidor web Internet não atribuir um tipo adequado MIME para MIDI arquivos (*.mid)).)
(6) Downloading: Aguarde até que o download para terminar.
(7) Download Complete: Espera por essa tela para desaparecer.
(8) MIDI Playback: MIDI O arquivo começa a tocar imediatamente. Pressione o botão do menu para ir para a Tone Menu, e continuar a intensificar (9), ou pressione o botão “STORE” e vá para a etapa (12).
(9) Tone Menu: Você tem a opção de jogar ...
(10) Tone Menu: Você tem a opção de se obter mais detalhes.
(11) Details: Aqui vemos o tamanho em bytes.
(12) Store Options: De (8) passo que podemos bater o “STORE” botão para obter este menu. Você tem a opção de armazenamento para o telefone da coleção de músicas. Hit “SELECT” a loja.
(13) Stored: O MIDI música tem sido armazenado.
(14) Total Bytes Transferred: Isto é simplesmente uma notificação do número de bytes baixados, de modo que você não está surpreso com a sua próxima fatura de serviço celular!
10.5 Tocar o ficheiro MIDI a qualquer momento sobre o telefone celular
Você pode jogar o MIDI arquivos armazenados em qualquer momento do seu telefone celular, e você pode usar qualquer arquivo que seu anel MIDI som.
(1) principal tela: Pressione o botão apropriado para ir para o menu principal.
(2) Main Menu: Ir para “Media Center”.
(3) Media Center: Ir para “My Tones”.
(4) My Tones: Destacada tom começa a tocar imediatamente. Você pode alterar o nome com o “EDIT” opção. Rebater o botão do menu dá-lhe outras opções.
10.6 Definir o estilo de usar um anel MIDI arquivo
Vá até o menu telas seguintes:
(1) da tela principal
(2) Main Menu
(3) Ring Styles: Prima “SELECT”
(4) [Silent, Soft, Loud] Detail: Prima “CHANGE”
(5) Calls: [current ring style/tune]: Prima “CHANGE”
Marque embora anel lista de estilos (silenciosa, a vibração estilos, permanente anel músicas, etc), e no fundo você verá o seu músicas baixadas. Basta pressionar o botão “SELECT” para fazer seu novo anel sintonizar ativa!
11. Criando, oferecendo, e download de imagens
11.1 Crie um arquivo 120 * 160 GIF imagem (*.gif)
Os passos seguintes podem ser usados para criar uma imagem 120 * 160 GIF arquivo (*.gif) adequada para exibir sobre a Motorola T720 GSM/J2ME telefone celular, quer como uma imagem de fundo para o ecrã principal, ou como uma imagem na galeria de imagens.
(1) Abra qualquer arquivo com a imagem Microsoft Paint ou Adobe Photoshop ou qualquer outra imagem edita o software adequado;
Escala (2) ou recortar a imagem para 120 pixels de largura e 160 pixels de altura (ou seja, um pixel 120 * 160 imagem);
(3) Salve o arquivo em um formato GIF imagem (*.gif); (Dentro Adobe Photoshop a maneira de fazer isto é: File -> Export -> Gif89a)
O arquivo de imagem deve estar no formato de arquivo GIF imagem Motorola T720 para que o telefone celular é capaz de decodificar e exibir a imagem. Se as dimensões da imagem são exatamente 120 * 160, em seguida, a imagem vai encaixar perfeitamente na tela do telefone celular Motorola T720; de outro modo, a imagem terá em branco nos dois lados das fronteiras.
Nota: Eu baixado com sucesso e será exibida uma imagem *.gif arquivo que foi 118 * 120 pixels, que é menor que o tamanho da tela 120 * 160. Acho que a parte restante da tela é preenchido com uma cor selecionada a partir da borda da imagem. Talvez a cor do pixel a pixel do canto superior esquerdo da imagem é usado como a cor para o vazio em torno das fronteiras dos dois lados da imagem.
O Motorola T720 telefone celular pode exibir 4096 cores, o que eu penso é codificada como 12-bit RGB (4-4-4). Portanto, acho que as pequenas imagens com cores gradientes que abrangem grandes áreas devem ser evitadas, pois as fronteiras de tais gradientes vai ser muito óbvia e de distracção para uma pessoa olhando para a imagem. Além disso, o formato GIF si é limitada a apenas 256 cores diferentes, por isso uma pessoa precisa estar consciente desta limitação, também. Em qualquer caso, continua a ser melhor do que simplesmente olhar para uma imagem sobre o telefone celular para saber se a imagem é ou não adequado para o telefone celular.

Space Invaders (Space Invaders): uma imagem 120 * 160 GIF
11.2 Coloque o arquivo GIF imagem (*.gif) na Internet para o seu servidor web
Eu GIF copiado um arquivo chamado “si.mid” para o diretório raiz do meu servidor web Internet. Você pode usar o software, tais como “Filezilla” para fazer a transferência FTP simples e conveniente.
11.3 GIF fazer o download do arquivo para o seu telefone celular através de seu serviço de telefone do serviço de Internet
Motorola T720 GSM/J2ME para o telefone celular, download de um arquivo imagem GIF começa com a “WebAccess” menu. Seleção “Go To URL”, seguida, escrevendo a URL do GIF arquivo, começa a baixar. Por exemplo, eu digitei no URL seguinte:
http://www.colinfahey.com/si.gif
Se a transferência for bem sucedida, e se você estiver usando uma Motorola T720 cellular phone, você terá a opção de armazenar o arquivo em seu telefone celular. Quando você decidir para armazenar o arquivo, é-lhe dada a opção de simplesmente armazenar no seu conjunto de imagens ou de configuração do arquivo em vez de ser o atual fundo (ou “seja,” de papel de parede).
As imagens a seguir resumem o processo de imagens GIF download de arquivos para o Motorola T720 GSM/J2ME telefone celular. Outros J2ME ativado telefones celulares, telefone celular com outros prestadores de serviços, são susceptíveis de ter um procedimento semelhante download. Se o telefone celular do prestador se Verizon, então você está fora de sorte, nada disso vai funcionar, e você deve ir e comprar um telefone “Android” para ajudar a destruir o mercado “fechado telemóvel!”
(1) WebAccess: Vá para o “Go to URL” item.
(2) Enter URL: Escreva a URL de uma imagem GIF arquivo (*.gif) em um sítio na Internet.
(3) Connecting: Aguarde até que o download para começar. (Se você recebeu a mensagem de erro “406: Not Acceptable”, em seguida, o servidor web Internet não atribuir um tipo adequado MIME para GIF ficheiros de imagem (*.gif)).)
(4) Preview da imagem importada, com opção de “STORE” (loja) a imagem na memória do telefone celular;
(5) Store Options: A imagem pode basta GIF ser armazenadas, ou ele pode ser usado para substituir o atual “papel de parede” (fundo da tela principal), ou ele pode ser usado como “uma” proteção de tela (ou seja, uma imagem que irá aparecer quando o telefone celular Botões não tenham sido pressionado por uma determinada quantidade de tempo).
(6) Changed: Wallpaper [image name]: Isto é simplesmente uma notificação de que “o” papel de parede imagem foi alterada.
(7) A aparência da tela principal do telefone celular após “o” papel de parede (ou seja, de fundo) imagem foi alterada. O “Space Invaders” conquistei meu telefone celular!
11.4 Animado GIF imagem para usar como “uma” proteção de tela sobre o telefone celular
Para baixar um animado GIF imagem para usar como “uma” proteção de tela imagem em seu telefone celular, basta seguir as instruções na seção anterior deste documento para preparar e fazer download de uma imagem.
GIF Se a imagem é uma animação GIF, então a “tela” irá mostrar esta animação.
Basta definir a imagem como “proteção” de tela imagem após a imagem ter sido baixado.
As seguintes animado GIF imagem pode ser usada como uma “tela” animado sobre a imagem Motorola T720 GSM/J2ME telefone celular.

Um animado GIF imagem que pode ser usado como uma animação de imagem na “tela” Motorola T720 GSM/J2ME telefone celular.
Infelizmente, o Motorola T720 telefone celular não se animam a “imagem de wallpaper.” Teria sido muito maneiro para abrir o telefone celular e ver uma animação de fundo sobre a tela principal! :^(
Você só vai ver uma animação GIF aparecem na Motorola T720 telefone celular quando o telefone entra modo “screen saver,” que poderá exigir 30 segundos ou mais para iniciar. (Você pode definir esta atrasar em um dos menus.) A tela iluminação é provável que antes de desligar a proteção de tela aparece. “A” proteção de tela não aparecem durante uma chamada telefónica. Portanto, considerando todos estes factos, “a” proteção de tela do recurso Motorola T720 telefone celular é deficiente.
12. Motorola T720 GSM/J2ME telefone celular para as configurações de rede AT&T telefone celular
12.1 Introdução
Esta secção do presente documento é pouco provável que seja útil a ninguém, porque esta seção descreve as configurações para um telefone celular muito específicos (Motorola T720 GSM/J2ME) para um telefone celular muito específicas fornecedor de serviços (AT&T) para uma região muito específica (sul da Califórnia). No entanto, estou a incluir esta informação por interesse histórico.
12.2 Web Sessions configurações
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)
Além disso, não existe uma definição DNS para Java programas:
Main Menu
Settings
Java Tools
DNS IP: 10.250.1.10
12.3 Comentários
(1) Fazer um “master reset” irá definir o WAP Port números de “9201,” pelo que estas devem ser alteradas para “9203.”
O (2) secundário WAP IP and Port está definido para o mesmo porto e IP como principal WAP configurações. Eu era capaz de usar “mMode” (ou seja, ir para qualquer URL), com uma configuração totalmente em branco WAP secundário, mas tive “Line Type 1: Modem” naquele momento. Não sei se defini-lo como “ISDN” torna mais provável que o secundário WAP configurações serão utilizadas.
Um “mestre” faz (3) “redefinir” o “Timeout:” campo “15 minutes”. Altere o valor para “2 minutes”.
(4) O “Name:”, “Homepage:”, e envolver todos os campos “GPRS APN:” digitação nas letras e símbolos manualmente.
(5) Os campos vazios, que são mostrados no exemplo acima são verdadeiramente intenção de não ter qualquer texto digitado. Os espaços em branco não são acidentais.
13. Links para outros celulares recursos
13.1 Motorola J2ME SDK 3.0
Motorola tem SDK kit de desenvolvimento de software que inclui um emulador capaz de emular vários Motorola telefones, incluindo o T720. Você pode começar este SDK gratis, e
você não precisa CodeWarrior para utilizar o telefone com o emulador incluído SDK, apesar de toda a menção de CodeWarrior sobre o Motorola web site. Também, de um modo geral acho que você pode começar por Motorola SDK sem CodeWarrior ou até mesmo se você estiver fazendo para o desenvolvimento profissional T720.
Você deve se registrar com Motorola até mesmo para aprender sobre seus J2ME SDK, muito menos baixá-lo.
http://kb.motorola.metrowerks.com/motorola/developmentTools.do
Existem algumas funções para jogar “Compact MIDI” e mesmo “*.wav” arquivos. Instalar e ler a documentação para saber mais detalhes.
Aqui está um comentário que eu recebi em um e-mail:
O Motorola J2ME SDK dá-lhe (entre outras coisas) de “skins” para o emulador para que o emulador será parecido com o celular que você está por programação. É mais do que cosméticos. Tamanho do ecrã pode variar por exemplo, por isso, se você estiver projetando tela onde algo Tamanho importa, ele certamente ajuda a ter um emulador que corresponda ao alvo. O SDK também inclui alguns Motorola criou turmas abertas Java chamou a Lightweight Windowing Toolkit que dê alguns dos quais você precisa para criar um aplicativo com um verdadeiro UI - UI vários widgets.
Você pode começar por sem-lo, mas se você estivesse fazendo um trabalho sério provavelmente você iria querer ficar com ele. Se eu estava criando coisas para Sony Ericsson ou Nokia ou qualquer outro telefone, eu quero seu SDKs também.
Aqui está uma citação de Motorola's relativas ao seu web site SDK:
O Motorola Software Development Kit (SDK) para o J2ME™ plataforma é uma ferramenta utilizada para o desenvolvimento e teste de programas escritos em linguagem de programação do Java. O SDK inclui aplicativos que tornam mais fácil lançar MIDlets (J2ME™ Programs) usando o dispositivo Motorola J2ME™ emulador. Juntas, estas ferramentas permitem-lhe desenvolver e depurar seus programas na emulação J2ME™ antes de transferi-los para um dispositivo alvo. O Motorola SDK podem ser integrados em Metrowerks' CodeWarrior™ Wireless Studio, Professional Edition, Version 7.
Esta versão do SDK inclui inúmeras melhorias de desempenho e estabilidade. Todas as funcionalidades da versão anterior é apoiado, com estas novas funcionalidades:
Novos telefones suportados por esta versão: A830.
Nova funcionalidade suportada por esta versão:
A830 - Gaming API, Conectividade Serial Port, HTTPS protocolo apoio.
All devices - Melhor performance gráfica
O SDK suporta os seguintes dispositivos:
*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
Um amigo meu, aparentemente não tinham qualquer problema de fazer download e usar esta ferramenta - que, aparentemente, dá-lhe tudo (JDK, MIDP, CLDC) e ferramentas extras para fazer o JAD, etc Eu ainda não tentei me. Seguem-se outros comentários sobre esta ferramenta:
Citação de um destacamento Slashdot:
Você poderia ter poupado algumas hassle você mesmo instalar todas as diferentes ferramentas. Basta baixar [sun.com] Sun ONE Studio 4 update 1, Mobile Edition, seu completamente livre (como a cerveja), e é um ótimo ambiente de desenvolvimento integrado (cerca 20 MB download). Todas as ferramentas, emuladores e demos a partir do artigo são empacotados. Desde a semana passada que estou a publicá-lo sob RH Linux 7.2, com 512mb de ram (YOU NEED LOTS OF RAM!!!).
Demorou apenas um minuto à regestration saltitando [sun.com] de tela para intensificar o worm através de jogos no depurador (Eu adoro o jogo worm / serpente / petiscos em todas as suas encarnações, e desde a versão demo está maravilhosamente programado - simples, mas orientada para objetos e multi-enfiada em uma pequena quantidade de código).
Você precisa se registrar para baixar. Plataformas suportadas: Linux, Windows, Solaris.
Citação de um destacamento Slashdot:
A partir do sun download faq [sun.com]:
“Devido ao modo como lida com o nosso serviço de download de gestão sessão, não poderá retomar parcialmente ativos, clicando no link novamente na janela do navegador. Em vez disso, abra o programa gerenciador de download que você está usando, e retomar o download a partir do interior do gerente do download em si.
Nós continuamos trabalhando com nossos engenheiros para activar o suporte para vários gerenciadores de download em mais plataformas. Por agora, porém, por favor, nenhum outro desligar baixar os gestores e os serviços públicos se estiver com um problema no download.”
Download de grandes arquivos de sun sob linux tem sido realmente difícil para os cerca de um ano que passou. O gerente do download somente até recentemente eu tinha conseguido chegar ao trabalho foi DAP sob windows (aviso: Spyware). Basicamente mais gerenciadores de download (prozgui, getright, opera) não será capaz de lidar com Sun's [falsidade]. Ridiculamente seu site, em vez de fixar-se apenas a obra, Sun ter escrito as suas próprias [sun.com] gerente do download. java na sua escrita, e seu único 140KB minúsculo! A coisa surpreendente é que este é realmente um excelente gerente do download, minúscula pegada, nenhum navegador seqüestro, nenhum adware / spyware, trabalha sob qualquer OS, verificação automática arquivo, unzips automática, e sólidos como uma rocha
13.3 Aleatório Postagem de fórum:
O Jad e Jar arquivos são somente os arquivos necessários para executar um aplicativo em um telefone e, dependendo do telefone e do método que você está transferindo a app para o telefone, você pode precisar somente o jar.
Se as candidaturas deverão ser enviadas Over the Air (OTA), ou seja, através de um web URL, você precisará criar um link em uma página lida pelo telefone (por exemplo, wml, cHtml, cHtml) à JAD arquivo. Para OTA ativos você também precisará configurar o seu servidor web para manipular jar e jad tipos de arquivo. Em apache é necessário adicionar as seguintes linhas ao arquivo httpd.conf:
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar
Além disso, você vai precisar para se certificar de que o URL para o jar arquivo é o URL para JAR o arquivo no servidor, e não o local URL
Se por outro lado que pretende transferir via IR, Bluetooth ou um cabo você só precisa de transferir os arquivos para o telefone, instalar e executar. O JAD arquivo é geralmente utilizado especificamente para fornecer as informações necessárias para o telefone OTA ativos e, como tal, o Nokia 7650 e alguns outros modelos, só precisa de transferir o ficheiro para jar não OTA transferências.
13.4 http://wireless.java.sun.com/midp/questions/sar/
SAR (ou WTP-SAR) defende Segmentation and Reassembly. É um recurso opcional do Wireless Transaction Protocol (WTP) dentro WAP. SAR define um método para WAP um gateway para quebrar uma grande mensagem (JAR um arquivo que você está baixando, por exemplo) em pequenos pedaços (a segmentação) para o telefone e peça para ela voltar juntos (a reinstalação).
Nem todos os telefones SAR uso, mas a maioria terá acesso WAP servidores web através de um gateway. Nokia usa SAR, enquanto Motorola utiliza recursos do HTTP 1.1 para recuperar vários pedaços de um arquivo, um de cada vez e, em seguida, reassemble-lo.
Um problema que surge com WAP gateways preocupações MIME tipos devolvido pelo servidor web. Se um usuário solicita uma JAD ou JAR arquivo eo servidor retorna o tipo errado MIME, o gateway e, posteriormente, o telefone irá tratar da transferência incorretamente. Para garantir uma correcta download de MIDlets, MIME utilizar os seguintes tipos:
text/vnd.sun.j2me.app-descriptor jad
application/java-archive jar
13.5 Aleatório Postagem de fórum
você tem que ter MIME definições corretas sobre o servidor que armazena arquivos .JAD/.JAR. Depois que você poderá fazer download de aplicativos para o seu dispositivo. Tenha em mente que: - este processo é bastante dispositivo específico (não necessariamente usando WA protocol) - Você poderia ter melhores caminhos para a absoluta e .JAD conjunto .JAR (ie http://www.fooserver.com/repository/JoeDoeApp.JAD)
13.6 Aleatório Postagem de fórum
Pelo menos na Siemens dispositivos, você tem uma configuração específica para Java, que é diferente da de WAP e GPRS. Você pode navegar através WAP, mas quando é encontrado um midlet, uma configuração diferente é automaticamente alterado para realizar o download. No M50 calhar, você tem que definir o Java perfis de acordo com os parâmetros do seu provedor; no c55 útil, o mesmo conjunto é chamado “HTTP profile” e ela é usada também para outros tipos de download (por exemplo, http conexões no MIDlet) .
13.7 Diversos links interessantes sobre coisas avançadas assinatura MIDlet
13.8 Muito cool MIDlet programação introdução
13.9 http://wireless.java.sun.com/midp/articles/deploy/
Para implantar seu celular remotamente aplicações:
Faça o upload da sua aplicação arquivos (JAD e JAR) para um servidor web remoto. Se o seu projeto tem o nome de jogos, por exemplo, fazer o upload dos arquivos: games.jad e games.jar de bin o diretório home do seu projeto (por exemplo, <toolkit>/apps/games/bin). Note-se que os dois arquivos devem acabar no mesmo diretório no servidor.
Reconfigurar o servidor web para que ela reconhece JAD e JAR arquivos:
JAD para o tipo de arquivo, definir a extensão do arquivo para o .jad e MIME tipo de text/vnd.sun.j2me.app-descriptor.
JAR para o tipo de arquivo, definir a extensão do arquivo para o .jar e MIME tipo de application/java-archive.
Como você configura o servidor web depende do que você estiver usando uma. Por exemplo, se você estiver usando Tomcat, certifique-se de seu web.xml arquivo inclui as seguintes linhas:
<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>
Altere o seu arquivo JAD's MIDlet-Jar-URL propriedade para especificar o URL de JAR seu arquivo. Por exemplo, no exemplar de games.jad carregados para o servidor, mudar ...
MIDlet-Jar-URL: games.jar
... a ...
MIDlet-Jar-URL: http://YourWebServerAddress:port/pathTo/games.jar
13.10 Diversos links
13.11 Nokia J2ME programa desenvolvimento links
Nokia a partir de um site:
Nokia's J2ME consiste na implementação do padrão da indústria MIDP 1.0 e CLDC 1.0. A plataforma é prorrogado pelo Nokia User Interface (UI) API. Dá à aplicação desenvolvedores o acesso a certos funcionalidade básica telefone que não é especificado pelo CLDC 1.0 ou MIDP 1.0. O Nokia UI API fornece acesso a capacidades de áudio simples, a vibração, a exibição iluminação, assim como alguns gráficos relacionados com os respectivos acessórios.
A partir de uma mensagem de e-mail que recebi:
Então Nokia parece ser realmente a abertura é telefones para qualquer tipo de modificação personalizadas você pode pensar de. Você pode adicionar java vibrações para jogos, adicione caricatura de bolhas de você tirar fotos e, na verdade, fazer upload de fotos para o site! Você pode escrever seu próprio servidor, e que as pessoas pudessem fazer upload de coisas pra você!
Aqui estão alguns links 7650 cool:
13.12 Telefone celular programa links
14. J2ME versus BREW
14.1 Introdução
Dominante, existem duas plataformas de software para dispositivos móveis: J2ME e BREW. Muitas operadoras celulares estão decididos a oferecer telefones com suporte J2ME: AT&T, T-Mobile, e Sprint. Uma importante operadora tomou a decisão de só oferecer telefones com suporte BREW: Verizon.
Um dispositivo móvel que suporta J2ME pode executar programas J2ME mas não pode executar programas BREW. Um dispositivo móvel que suporta BREW pode executar BREW programas, mas não pode executar programas J2ME.
Os fabricantes de dispositivos móveis muitas vezes oferecem diversas versões baseadas em diferentes padrões sem fio broadcast. Por exemplo, Motorola oferece duas versões da T720: GSM e CDMA. Coincidentemente, o GSM versão da programas T720 apoia J2ME, e os CDMA versão do T720 apoia BREW aplicações. Assim, embora as normas não sejam transmitidos sem fio técnica com os sistemas operacionais para celular, as circunstâncias do mercado levaram a esta correlação acidental.
14.2 Telefone celular prestadores de serviços o cliente possa decidir o que fazer com um dispositivo celular
Aqui está um resumo do que os fornecedores de serviços celulares permitir aos clientes fazer:
[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 oferece o melhor cliente e desenvolvedor acesso ao telefone celular e aparelhos para arquivos multimídia na Internet. Evidentemente, AT&T ter decidido concentrar a atenção sobre o negócio de transporte de bytes através das suas redes, em vez de tentar a sua actividade no sector da venda de conteúdos multimédia.
Verizon é o mais opressivo prestador de serviços de telefonia celular a todas elas. “Get It Now.” seu modelo de negócio, que envolve restringir artificialmente cliente usar seu próprio telefone celular de dispositivos para proteger o negócio de venda de conteúdos multimédia, tem inspirado muitos clientes frustrados de rescindir os seus contratos com Verizon ou encontrar maneiras de contornar o “Get It Now.” portal. Assim como cinemas e arenas desportivas podem cobrar preços excessivamente elevados para a alimentação, porque os clientes não podem facilmente aceder a fontes alternativas de alimento nestas condições (ou seja, existe uma falta de acesso à competição), Verizon pode cobrar preços excessivamente elevados para o acesso aos arquivos multimídia programas e software, porque os clientes não podem facilmente aceder a fontes alternativas para os ficheiros multimédia e de programas de software.
14.3 Binary Runtime Environment for Wireless (BREW)
BREW é “Binary Runtime Environment for Wireless, uma plataforma de software proprietário desenvolvido pela QUALCOMM. Para saber mais sobre BREW, visite o seguinte site Internet:
http://www.qualcomm.com/brew
O SDK pode ser descarregado a partir Qualcomm. Em 2002, o SDK poderiam ser usados para construir software utilizando Microsoft Visual C++ 6.0, e os programas poderiam ser transferidas para um telefone celular sem um “teste assinatura.”
Todos os telefones com Verizon contratos uso BREW. Todos os softwares, imagens, música e devem ser transferidos através Verizon's “Get It Now.” portal, e geralmente envolve pagar taxas para além da largura de banda de rede custos.
14.4 Java 2 Platform, Micro Edition (J2ME)
J2ME é “Java 2 Platform, Micro Edition”, um ambiente “altamente otimizado” Java runtime. Para saber mais sobre J2ME, visite o seguinte site Internet:
http://java.sun.com/j2me
Você já pode ter feito algumas Java programação. J2ME inclui muitas das classes Java utilizados para programas de computador desktop. Obviamente, qualquer Java classes que são puras Java código, e não dependem de qualquer hardware ou sistema operacional funções, pode ser compilado para executar dentro do contexto de qualquer Java máquina virtual.
Uma pessoa pode criar threads, sockets, telas gráficas, etc, com muita facilidade. Uma pessoa só precisa fazer o download de um arquivo *.JAR (e possivelmente um arquivo *.JAD) para instalar um aplicativo em um telefone celular.
Baixando o Java SDK
é gratuita. A documentação para Java é meticulosa. Milhões de pessoas têm desenvolvido o código para Java. Existem numerosos fóruns Internet Java discutindo vários aspectos da programação.
Em meros minutos de pesquisas na internet, achei interessante centenas de programas informáticos, bem como imagens, sons e efeitos, para todos os Motorola T720 GSM/J2ME telefone celular - e sem custos de todos os arquivos baixados.
Estou muito animado por serem capazes de tirar todo o partido do multimédia aspectos da minha propriedade (ou seja, o meu telefone celular), sem ter que pagar o meu telefone celular fornecedor de serviços para algo mais do que o uso de sua rede de telefonia celular.
14.5 Minha BREW e Verizon história de horror
Tenho software criado para ambas as J2ME e BREW plataformas, e, na minha opinião, penso que ambas as tecnologias têm as suas vantagens e desvantagens, e ambos estão perfeitamente capaz de ser usado para criar programas sofisticados de forma muito fácil.
No entanto, uma empresa que esteja interessado em criar e vender o software para telefones celulares deve começar por considerar uma única “pergunta:” Se eu “desenvolver o software, vou ter a possibilidade de vendê-la?”
Se uma empresa desenvolve software para a plataforma J2ME, telefone celular, em seguida, mais prestadores de serviços os clientes possam ir a qualquer site da Internet e fazer download de qualquer software J2ME, sem impor qualquer custo para além do custo de transferência de bytes por meio da rede celular. Assim, as empresas de desenvolvimento de software é certa, para poder ter acesso aos potenciais clientes, e podem fazer as suas próprias medidas de coleta de dinheiro dos clientes para quaisquer compras de software.
Se uma empresa desenvolve software para a plataforma BREW, então Verizon decide conceder ou não o software estará disponível para venda aos clientes. Além disso, Verizon irá extrair uma grande percentagem do preço de venda do software para o privilégio de ser permitido vender software através do seu portal exclusivo.
Aqui está o meu horror BREW e Verizon história:
Eu tinha uma única ideia para um programa de software para telefones celulares, numa altura em telefones celulares estavam começando a ser capaz de executar programas BREW e J2ME. Eu estava muito animado porque eu acreditava que eu poderia criar e publicar um programa único para estas plataformas concorrentes a qualquer tempo antes de estar pronto para criar um produto semelhante. Eu estava convencido de que eu poderia finalmente fazer alguma coisa na minha vida que iria tornar-me rico. Então, vou deixar o meu emprego e comecei a trabalhar numa versão BREW da minha ideia de software. Após seis meses de trabalho árduo, e nenhum rendimento, eu estava acabado com a minha BREW programa! Eu estava pronto para apresentá-lo ao Qualcomm para testes.
That's quando fiz uma descoberta aterradora: Mesmo que o meu programa passou no teste de garantia da qualidade, Verizon teria de aprovar a venda do meu software - e poderia reprovar Verizon do meu software por qualquer motivo (para além das óbvias razões de ser ofensivo ou em concorrência com algum outro aspecto do negócio Verizon's). Eu simplesmente não imagina esta possibilidade. Tudo que eu li sobre o desenvolvimento BREW implicava que o desafio foi passar para a garantia da qualidade de ensaio. Eu li nada mencionou qualquer necessidade de ter o software aprovados pelo telefone celular prestadores de serviços. Eu não teria sido surpreendido quando soube que o telefone celular prestadores de serviços poderão optar por não vender ofensivo ou programas maliciosos, tais considerações, mas parecia tão pouco importante para o meu projecto específico que eu não pense sobre o conceito mais geral que o telefone celular possa escolher os prestadores de serviços de não vender softwares ordinário!
Um dos meus amigos, que já tinha vendido vários jogos de vídeo através de programas Verizon, perguntou um Verizon representante, se o meu software Verizon iria aprovar a venda em sua rede ... Verizon O representante “disse:” não, porque houve alguns outros programas de software que já ampla gênero. O meu software era um vocabulário tutor (com especial atenção para a SAT e GRE testes padronizados), mas o Verizon representante disse que a palavra gênero jogo já estava “lotada,” apesar do fato de que havia menos de 10 palavras em programas relacionados com o total “Get É agora.” Portal, e os outros programas eram muito diferentes (por exemplo, palavras cruzadas puzzles, “Scrabble”, “Boggle”, etc). Meu programa foi uma conquista tecnológica: É armazenadas as definições de vocabulário de 5000 palavras, a par de Antônimos e sinônimos, eo significado de grupos (de modo que seria quiz questões desafiadoras), em um programa que foi inferior a 1 MB. Meu programa teria sido única no mercado por muitos meses e, potencialmente, para um par de anos.
Eu estava com raiva, depressão, e financeiramente falido. Seis meses de trabalho foi desperdiçado, porque todos Verizon só queria um software que estava a vender alguns milhares de exemplares nas suas vendas portal, e o representante Verizon não acho que o meu software tiveram um elevado potencial de vendas.
Aqui é a mais importante lição que aprendi com esta experiência amarga: Confira todas as partes de um plano de negócios antes de iniciar a obra. (O ideal seria que cada parte do plano de negócios poderia ser testado várias vezes, pela realização concreta dos vários processos críticos, antes e durante o esforço para criar o produto.)
Eu deveria ter verificado se ou não haveria qualquer obstáculo à prováveis vendendo o meu software antes que eu comecei a desenvolver o software. Eu teria descoberto que Verizon poderia optar por não me permite vender o meu software.
Eu aprendi uma segunda lição: Evite situações em que outras pessoas tenham a capacidade de se determinar se você tem acesso aos clientes!