Witam,
pisze niewielka aplikacje na zaliczenie w j2me i napotkałem pewien problem, a mianowicie staram się pobrać adres url konkretnego urządzenia wybranego z listy, niestety nie wiem czemu wyrzuca mi bląd:
java.lang.NullPointerException
at ksiazka.Klient.szukajUslugi(Klient.java:161)

sam już nie wiem czy coś źle robię czy nie, czy był by ktoś w stanie pomóc?

package ksiazka;

import javax.bluetooth.*;
import javax.microedition.io.*;
import java.io.*;
import java.util.Vector;
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Display;
import javax.obex.ServerRequestHandler;

class Klient implements Runnable, DiscoveryListener{

        private ksiazka m;
	private LocalDevice urzadzenie;
	private DiscoveryAgent wyszukiwarka;
	private Vector urzadzenia;
	private ServiceRecord usluga = null;
        public ServiceRecord [] usluga2 = null;
	private UUID[] IDki;
	private int[] atrybuty;
	private boolean znalezionoUsluge = false;
	private boolean zakonczono = false;
	private static final int ATRYBUT_WERSJI = 0x3232;
	private static final UUID UUID_SERWERA = new UUID("ABCDEF12345678998877665544332211", false);

        int IDurzadzenia=0;
        int zmienna =0;
	public Klient(ksiazka _m)
	{
            
		m = _m;
		urzadzenia = new  Vector();
		IDki = new UUID[2];
		IDki[0] = new UUID(0x1101);
		IDki[1] = UUID_SERWERA;
		atrybuty = new int[1];
		atrybuty[0] = ATRYBUT_WERSJI;
		Thread w = new Thread(this);
		w.start();
	}

    public synchronized void run()
    {
        try
        {
            urzadzenie = LocalDevice.getLocalDevice();
            wyszukiwarka = urzadzenie.getDiscoveryAgent();
            wyszukiwarka.startInquiry(DiscoveryAgent.GIAC,this);
            
            
	}
	catch (Exception e)
	{
            e.printStackTrace();
            m.notifyDestroyed();
	}
    }


    public void deviceDiscovered(RemoteDevice urzadzenie, DeviceClass rodzaj)
    {

        if (urzadzenia.indexOf(urzadzenie) == -1)
        {
            urzadzenia.addElement(urzadzenie);


            //lista urzadzen

            String lista;
            try
            {
                lista = urzadzenie.getFriendlyName(true);
                m.ListaUrzadzen(lista);
               
            }
            catch (IOException ex)
            {
                ex.printStackTrace();
            }
           
        }   
    }
      
   
    
  

    public void servicesDiscovered(int IDTransakcji, ServiceRecord[] uslugi)
    {
 
	if (usluga == null)
            {
                for (int j=0;j<uslugi.length;j++)
                {
                    DataElement de = uslugi[j].getAttributeValue(ATRYBUT_WERSJI);
                    long parametr = de.getLong();
                    if (parametr==1)
                    {                            
                            znalezionoUsluge = true;
                            usluga = uslugi[j];
                            break;
                           
                    }
                }
            }
        
    }

    public void serviceSearchCompleted(int IDTransakcji, int kod)
    {
        if (znalezionoUsluge && !zakonczono)
	{

            zakonczono = true;
            synchronized(this)
            {
                
                    
                    notify();
                
            }
        }
    }

    public void inquiryCompleted(int rodzaj)
    {

	if (rodzaj == DiscoveryListener.INQUIRY_COMPLETED)
	{
            synchronized(this)
            {
                
		notify();
            }
	}
        else
	m.notifyDestroyed();
    }
    

    public void IDUrzadzenia(int ID, int kontrolka)
    {
         this.IDurzadzenia = ID;
         this.zmienna = kontrolka;
    }

    /*zmienne do wypisywania w formie*/
    String cos,cos2;
    int asd;
    String fgh;
    boolean ss;

    public void szukajUslugi() throws Exception
    {
        
            RemoteDevice urzadzenie = (RemoteDevice)urzadzenia.elementAt(IDurzadzenia);  // urzadzenie wybrane z listy
            wyszukiwarka.searchServices(atrybuty,IDki,urzadzenie,this);   

            /*Jak pobrać adres url dla konkretnego urzadzenia?*/
            cos = usluga.getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false);          
   }
    public String Alarm()
    {
       
        return cos;
    }
    public String Alarm2()
    {

        return cos2;
    }
    public String al()
    {
        return fgh;
    }

}
 

Pozdrawiam