Нате класс. Писал ориентируясь на примеры.
| Код | import javax.bluetooth.*; import javax.microedition.io.StreamConnection; import javax.microedition.io.StreamConnectionNotifier; import javax.microedition.lcdui.*; import java.io.IOException; import java.util.Vector;
public class newGame implements CommandListener { Vector/*RemoteDevice[] */srd = new Vector(); ServiceRecord[] srs; int state;
static final UUID id = new UUID("2d26618601fb47c28d9f10b8ec891363",false); int []attSet;
class disListener implements DiscoveryListener{
public void deviceDiscovered(RemoteDevice remoteDevice, DeviceClass deviceClass) { if(srd.indexOf(remoteDevice)!=0){ return; } srd.addElement(remoteDevice); }
public void servicesDiscovered(int i, ServiceRecord[] serviceRecords) { for (int k = 0; k < serviceRecords.length; k++) srs[i] = serviceRecords[i];
}
public void serviceSearchCompleted(int i, int i1) { }
public void inquiryCompleted(int i) { state = i; notify(); } }
private Display dpy; private Displayable prev; private main m; String []choice = {"Создать сервер","Подключиться к игре", "Назад"}; List c; StreamConnectionNotifier service; StreamConnection connection; public newGame(main ma){ m = ma; dpy = m.display; prev = dpy.getCurrent(); c = new List("Новая игра", Choice.IMPLICIT,choice,null); c.setCommandListener(this); dpy.setCurrent(c); }
public void commandAction(Command command, Displayable displayable) { if(command == List.SELECT_COMMAND){ int sel = c.getSelectedIndex(); switch(sel){ case 0:{ srvBattle btl = new srvBattle(id,service,connection); break; } case 1:{ try { LocalDevice local; local = LocalDevice.getLocalDevice(); DiscoveryAgent agent = local.getDiscoveryAgent(); boolean complete = agent.startInquiry(DiscoveryAgent.GIAC,new disListener()); if(complete){ switch(state){ case DiscoveryListener.INQUIRY_COMPLETED:{ if(srd.isEmpty()){ System.out.print("NO DEVICES FOUND!"); return; } String [] d = new String[srd.size()]; for(int i = 0; i < srd.size(); i++){ RemoteDevice rd = (RemoteDevice)srd.elementAt(i); d[i++] = rd.getFriendlyName(true); } List devs = new List("Список устройств", Choice.IMPLICIT,d,null); dpy.setCurrent(devs); break; } case DiscoveryListener.INQUIRY_ERROR: { break; } } } }catch (BluetoothStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } break; } case 2:{ dpy.setCurrent(prev); break; } } } } }
|
|