Isso varia muito do que vc quer transferir.
As maneiras mais padrões e com o api bem rico é por sms e mms.
Existe também uma api do bluetooth,mas eu a acho bem complicada.
Em fim se for dados o sms e se for fotos mms.
Se for informações para serem enviadas para um servidor geral pode ser via web service.
O processador do dispositivo móvel é pequeno e bem limitado.
Se você puder jogar isso via web service é melhor.
Uma dica para dispositivos móveis é:
Quanto menor o processamento vc utilizar melhor afinal vc não tem muito.
[quote=d1eg0.]Ola a todos, venho aqui para tentar esclarecer uma duvida.
Gostaria de criar um cliente j2me para transferencia de arquivos via FTP.
Pesquisei encontrei alguma coisa usando commons net do apache. Mas a principio nada de J2ME.
[/quote]
Em J2ME você conversa diretamente com o servidor FTP usando a classe SocketConnection.
Você deve ler a RFC do protocolo FTP e implementá-la em J2ME. Nada difícel.
Se não se sente confortável ou não tem capacidade, pode partir para uma abordagem mais tradicional que é com HttpConnection, transmitir para um servidor Web e este ter um script PHP ou uma servlet Java para receber o conteúdo e dar o devido tratamento.
Te dei a dica para ler a RFC do protocolo FTP, que lhe daria uma baita bagagem inclusive para entender outros protocolos no futuro, te disse qual classe usar, e vc ainda quer código pronto ?
Desculpa, mas tradicionalmente eu não dou o peixe, eu ensino a pescar.
A direção para vc alcançar o q quer, foi dada.
Se tivesse digitado as palavras chave no Google, já estaria com exemplos na mão.
posso estar errado, mas acredito que esteja mais perto da solução do que antes. O problema é que o envio de usuario e senha possui um ’ : '[b], fazendo com que ele interprete como a porta
Me parece que ainda não caiu sua ficha de que é de sua responsabilidade “conversar” diretamente com o servidor FTP através dos comandos específicos que te indiquei para estudar quando citei a RFC do protocolo.
Você é a parte ativa nesta conversação e o servidor reativo.
Você envia comandos, ele envia respostas a estes.
O socket é o canal de comunicação. o FTP é a “lingua” que é “conversada” neste canal.
Toda a internet é baseada em socket, só mudando o protocolo (HTTP, FTP, SMTP, POP3,etc…)
Entenda 1o como é a comunicação com o servidor…o teu código tá faltando esperar a resposta do servidor ao envio de um comando para daí poder enviar outro etc.
Além disto não tem uma variável que funciona como máquina de estados, o que garantirá que de acordo com a resposta, vc emita um ou outro comando dependendo do estado da conversação atual.
No teu código vc assume que o servidor tá instantaneamente te atendendo e nenhuma recusa foi feita.
Brinque um pouco com o servidor de FTP através do Telnet e daí quando vc pegar a manhã de como essa comunicação dá, quais são os erros,etc, vc saberá como deve implementar teu código.
estou indo pela primeira dica tbm de enviar os dados para o servidor e ele fazer todo o resto de gerar e enviar o arquivo.
mas nao consigo chamar o metodo de conexao pelo command
import java.io.IOException;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import org.ksoap.SoapObject;
import org.ksoap.transport.HttpTransport;
public class ClienteJ2ME extends MIDlet implements CommandListener {
private Display display;
private Form frmPrincipal;
private TextField valor1,valor2;
private Command okCmd;
private TextBox textbox = null;
// link do web service
private String url = "http://127.0.0.1/teste/Web_service/Nusoap/Server.php";
//private String url ="http://localhost:8080/axis/soma.jws";
public void startApp() {
display = Display.getDisplay(this);
frmPrincipal = new Form("Calculadora");
valor1 = new TextField("Valor 1","", 20,TextField.NUMERIC);
valor2 = new TextField("Valor 2","", 20,TextField.NUMERIC);
okCmd = new Command("somar",Command.OK,1);
frmPrincipal.addCommand(okCmd);
frmPrincipal.append(valor1);
frmPrincipal.append(valor2);
frmPrincipal.setCommandListener(this);
display.setCurrent(frmPrincipal);
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
public void commandAction(Command c, Displayable d) {
if(c == okCmd){
th.start();
}
}
final Thread th = new Thread() {
public void testWebService() throws IOException{
StringBuffer stringBuffer = new StringBuffer();
TextBox textBox = null;
// Chama o WebService
SoapObject client = new SoapObject(url,"geraXML");
client.addProperty("a",new Integer(4));
client.addProperty("b",new Integer(5));
HttpTransport ht = new HttpTransport(url,"geraXML");
stringBuffer.append("Resultado = "+ht.call(client));
// mostra o valor do resultado na tela.
textBox = new TextBox("Teste WebService", stringBuffer.toString(), 1024, 0);
display.setCurrent(textBox);
}
};
}