Problemas com classes para J2ME!

10 respostas
C

Ola Amigos do forum estou usando IDE NETBEANS 6.9.1 e necessito debugar esta classe chamada cliente, porem eu tenho alguns metodos e classes que dao erro, como BufferedReader, PrintWriter e Vector…!

O netbeans aponta a classe Vector diz que e obsoleto, e BufferedReader e PrintWriter fala que nao existe.

Bom, estou usando J2ME como projeto!

Vcs teriam alguma solucao basica para isso??

Agradeco!!

Vai um print

10 Respostas

F

Substitui o PrintWriter por DataOutputStream e o BufferedReader por DataInputStream.

C

o que eu faco com a importacao VECTOR??? sendo que eu preciso dela ???

F

Amigo, a classe Vector não tem nenhum problema compreendeste?? O pacote util existe desde sempre desde o CLDC 1.0.
Esse warning deve por que você tem um import e não o esta usando de fato na classe… :cry: Sacou?

C
fabioEM:
Amigo, a classe Vector não tem nenhum problema compreendeste?? O pacote util existe desde sempre desde o CLDC 1.0. Esse warning deve por que você tem um import e não o esta usando de fato na classe..... :cry: Sacou?

Ok, entao quer dizer que o warning que fala que o import e obsoleto e normal............?

Vou postar o codigo aqui:

Tomara que debug a classe depois de fazer as alteracoes....!

To postando o codigo agora, se vc puder dar umas sugestoes eu aceito valew!

Eu vou fazer as mudancas ate de noite, ae te mando uma mensagem!

package bluetooth;


/**
 *
 * @author carlox
 */
import java.lang.System.*;
import java.io.DataInputStream; // entra dados
//import java.io.BufferedReader;

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.DataOutputStream; // sai dados
//import java.io.PrintWriter;
//import java.util.Vector;
import javax.bluetooth.DeviceClass;
import javax.bluetooth.DiscoveryAgent;
import javax.bluetooth.DiscoveryListener;
import javax.bluetooth.LocalDevice;
import javax.bluetooth.RemoteDevice;
import javax.bluetooth.ServiceRecord;
import javax.bluetooth.UUID;
import javax.microedition.io.Connector;
import javax.microedition.io.StreamConnection;

/**
* A simple SPP client that connects with an SPP server
*/
public class SampleSPPClient implements DiscoveryListener{

    //object used for waiting
    private static Object lock=new Object();

    //vector containing the devices discovered
 //   private static Vector vecDevices = new Vector();

    private static String connectionURL=null;

  //  private static String Reader = in;




    public static void main(String[] args) throws IOException {

        SampleSPPClient client = new SampleSPPClient();

        //display local device address and name
        LocalDevice localDevice = LocalDevice.getLocalDevice();
        System.out.println("Address: "+localDevice.getBluetoothAddress());
        System.out.println("Name: "+localDevice.getFriendlyName());

        //find devices
        DiscoveryAgent agent = localDevice.getDiscoveryAgent();

        System.out.println("Starting device inquiry...");
        agent.startInquiry(DiscoveryAgent.GIAC, client);

        try {
            lock.lock();
            try {
                lock.wait();
            } finally {
                lock.unlock();
            }
        }
        catch (InterruptedException e) {
        }


        System.out.println("Device Inquiry Completed. ");

        //print all devices in vecDevices
        int deviceCount = vecDevices.size();

        if(deviceCount <= 0){
            System.out.println("No Devices Found .");
            System.exit(0);
        }
        else{
            //print bluetooth device addresses and names in the format [ No. address (name) ]
            System.out.println("Bluetooth Devices: ");
            for (int i = 0; i <deviceCount; i++) {
                RemoteDevice remoteDevice=(RemoteDevice)vecDevices.elementAt(i);
                System.out.println((i+1)+". "+remoteDevice.getBluetoothAddress()+" ("+remoteDevice.getFriendlyName(true)+")");
            }
        }

        System.out.print("Choose Device index: ");
  //     BufferedReader bReader = new BufferedReader (new InputStreamReader(System.in));
        
        DataInputStream b = new  DataInputStream (System.ini);

        String chosenIndex = bReader.readLine();
        int index=Integer.parseInt(chosenIndex.trim());

        //check for spp service
        RemoteDevice remoteDevice=(RemoteDevice)vecDevices.elementAt(index-1);
        UUID[] uuidSet = new UUID[1];
        uuidSet[0]=new UUID("1101",false);

        System.out.println("\nSearching for service...");
        agent.searchServices(null,uuidSet,remoteDevice,client);

        try {
            synchronized(lock){
                lock.wait();
            }
        }
        catch (InterruptedException e) {
        }

        if(connectionURL==null){
            System.out.println("Device does not support Simple SPP Service.");
            System.exit(0);
        }

        //connect to the server and send a line of text
        StreamConnection streamConnection=(StreamConnection)Connector.open(connectionURL);

        //send string
        OutputStream outStream = streamConnection.openOutputStream();
   //     PrintWriter pWriter = new PrintWriter(new OutputStreamWriter (outStream));
        pWriter.write("Test String from SPP Client\r\n");
        pWriter.flush();


        //read response
        InputStream inStream=streamConnection.openInputStream();
        BufferedReader bReader2 = new BufferedReader(new InputStreamReader(inStream));
        String lineRead=bReader2.readLine();
        System.out.println(lineRead);


    }//main

    //methods of DiscoveryListener
    public void deviceDiscovered(RemoteDevice btDevice, DeviceClass cod) {
        //add the device to the vector
        if(!vecDevices.contains(btDevice)){
            vecDevices.addElement(btDevice);
        }
    }

    //implement this method since services are not being discovered
    public void servicesDiscovered(int transID, ServiceRecord[] servRecord) {
        if(servRecord!=null && servRecord.length>0){
            connectionURL=servRecord[0].getConnectionURL(0,false);
        }
        synchronized(lock){
            lock.notify();
        }
    }

    //implement this method since services are not being discovered
    public void serviceSearchCompleted(int transID, int respCode) {
        synchronized(lock){
            lock.notify();
        }
    }


    public void inquiryCompleted(int discType) {
        synchronized(lock){
            lock.notify();
        }

    }//end method



}
F

Com certeza aquela mensagem que tu estavas recebendo pelo NetBeans era porque a classe Vector não estava sendo usada ou talvez estava sendo chamada em um método não estatico enfim algum problema no seu código. A classe Vector não tem nada a ver com Obsoleto das anotações de deprected

C
fabioEM:
Com certeza aquela mensagem que tu estavas recebendo pelo NetBeans era porque a classe Vector não estava sendo usada ou talvez estava sendo chamada em um método não estatico enfim algum problema no seu código. A classe Vector não tem nada a ver com Obsoleto das anotações de deprected
Bom agora ta acusando OutputStreamWriter e InputStreamReader !!
package bluetooth;


/**
 *
 * @author carlox
 */
import java.lang.System.*;
//import java.io.DataOutputStreamWriter.*;
import java.io.DataInputStream; // entra dados
//import java.io.BufferedReader;

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.DataOutputStream;// sai dados
//import java.io.PrintWriter;
//import java.util.Vector;
import javax.bluetooth.DeviceClass;
import javax.bluetooth.DiscoveryAgent;
import javax.bluetooth.DiscoveryListener;
import javax.bluetooth.LocalDevice;
import javax.bluetooth.RemoteDevice;
import javax.bluetooth.ServiceRecord;
import javax.bluetooth.UUID;
import javax.microedition.io.Connector;
import javax.microedition.io.StreamConnection;

/**
* A simple SPP client that connects with an SPP server
*/
public class SampleSPPClient implements DiscoveryListener{

    //object used for waiting
    private static Object lock=new Object();

    //vector containing the devices discovered
 //   private static Vector vecDevices = new Vector();

    private static String connectionURL=null;
    private static Object vecDevices;
    private static Object bReader;

  //  private static String Reader = in;




    public static void main(String[] args) throws IOException {

        SampleSPPClient client = new SampleSPPClient();

        //display local device address and name
        LocalDevice localDevice = LocalDevice.getLocalDevice();
        System.out.println("Address: "+localDevice.getBluetoothAddress());
        System.out.println("Name: "+localDevice.getFriendlyName());

        //find devices
        DiscoveryAgent agent = localDevice.getDiscoveryAgent();

        System.out.println("Starting device inquiry...");
        agent.startInquiry(DiscoveryAgent.GIAC, client);

        try {
            lock.lock();
            try {
                lock.wait();
            } finally {
                lock.unlock();
            }
        }
        catch (InterruptedException e) {
        }


        System.out.println("Device Inquiry Completed. ");

        //print all devices in vecDevices
        int deviceCount = vecDevices.size();

        if(deviceCount <= 0){
            System.out.println("No Devices Found .");
            System.exit(0);
        }
        else{
            //print bluetooth device addresses and names in the format [ No. address (name) ]
            System.out.println("Bluetooth Devices: ");
            for (int i = 0; i <deviceCount; i++) {
                RemoteDevice remoteDevice=(RemoteDevice)vecDevices.elementAt(i);
                System.out.println((i+1)+". "+remoteDevice.getBluetoothAddress()+" ("+remoteDevice.getFriendlyName(true)+")");
            }
        }

        System.out.print("Choose Device index: ");
  //     BufferedReader bReader = new BufferedReader (new InputStreamReader(System.in));
        
        DataInputStream b = new  DataInputStream (System.ini);

        String chosenIndex = bReader.readLine();
        int index=Integer.parseInt(chosenIndex.trim());

        //check for spp service
        RemoteDevice remoteDevice=(RemoteDevice)vecDevices.elementAt(index-1);
        UUID[] uuidSet = new UUID[1];
        uuidSet[0]=new UUID("1101",false);

        System.out.println("\nSearching for service...");
        agent.searchServices(null,uuidSet,remoteDevice,client);

        try {
            synchronized(lock){
                lock.wait();
            }
        }
        catch (InterruptedException e) {
        }

        if(connectionURL==null){
            System.out.println("Device does not support Simple SPP Service.");
            System.exit(0);
        }

        //connect to the server and send a line of text
        StreamConnection streamConnection=(StreamConnection)Connector.open(connectionURL);

        //send string
        OutputStream outStream = streamConnection.openOutputStream();
        DataInputStream pWriter = new DataInputStream (new OutputStreamWriter (outStream));
        pWriter.write("Test String from SPP Client\r\n");
        pWriter.flush();


        //read response
        InputStream inStream=streamConnection.openInputStream();
        DataInputStream bReader2 = new DataInputStream (new InputStreamReader(inStream));
        String lineRead=bReader2.readLine();
        System.out.println(lineRead);


    }//main

    private static class pWriter {

        private static void write(String string) {
            throw new UnsupportedOperationException("Not yet implemented");
        }

        private static void flush() {
            throw new UnsupportedOperationException("Not yet implemented");
        }

        public pWriter() {
        }
    }

    //methods of DiscoveryListener
    public void deviceDiscovered(RemoteDevice btDevice, DeviceClass cod) {
        //add the device to the vector
        if(!vecDevices.contains(btDevice)){
            vecDevices.addElement(btDevice);
        }
    }

    //implement this method since services are not being discovered
    public void servicesDiscovered(int transID, ServiceRecord[] servRecord) {
        if(servRecord!=null && servRecord.length>0){
            connectionURL=servRecord[0].getConnectionURL(0,false);
        }
        synchronized(lock){
            lock.notify();
        }
    }

    //implement this method since services are not being discovered
    public void serviceSearchCompleted(int transID, int respCode) {
        synchronized(lock){
            lock.notify();
        }
    }


    public void inquiryCompleted(int discType) {
        synchronized(lock){
            lock.notify();
        }

    }//end method



}
F

Cara, presta atenção ao post que já te respondi!!
Não falei sobre DataOutputStreamWriter mas
PrintWriter por DataOutputStream e o BufferedReader por DataInputStream.

C

fabioEM:
Cara, presta atenção ao post que já te respondi!!
Não falei sobre DataOutputStreamWriter mas
PrintWriter por DataOutputStream e o BufferedReader por DataInputStream.

Eu ja alterei o printwriter e o bufferedReader… so que ta dando erro em outras coisas agora…estou tentando descobrir o que e…

F

Bom, faz o seguinte pegue esse tutorial aqui
http://developers.sun.com/mobility/midp/articles/bluetooth2/
vai te ajudar bastante. Vc deve ter pego um tutorial que use o Bluecove para desktop. Logo, o compilador acusa esses erros porque essas classes não fazem parte da configuração CLDC para j2me. Se ainda não conseguir vou te mandar uma classe para te mostrar :slight_smile:

C

Este e o link que tem o codigo fonte SPP do cliente e o codigo fonte SPP do servidor:

http://www.jsr82.com/jsr-82-sample-spp-server-and-client/#more-22

O servidor rodou ok…na hora de executar o servidor roda e espera a comunicacao com o cliente !!

O cliente da aqueles erros…cv acha entao que ele e especifico para API Bluecove ??

Criado 17 de novembro de 2010
Ultima resposta 18 de nov. de 2010
Respostas 10
Participantes 2