Hey Leute,
Ich hab ein Problem, ich möchte zwei Arrays ergleichen.
Ein neues und ein altes, allerdings weiß ich nicht, wie ich das alte Array abspeichern soll, um es später noch zu erwenden.
Ich bastel grade an meiner eigenen UsbHotPlug Klasse, die alle 0,5 sec die Usb-Ports überprüft und dann die Liste an USB-Geräten, die vor 0,5 sec, mit der aktuellen Liste vergleicht.
Die Details der einzelnen USB-Geräte hab ich in einer eigenen Klasse (UsbData) gespeichert.
Die Methode um die Usb-Geräte und ihre Daten zu erfassen:
Und Hier ist die Schleife für die regelmäßige abfrage:
Vielen Dank für eure Hilfe
Dechasa
Ich hab ein Problem, ich möchte zwei Arrays ergleichen.
Ein neues und ein altes, allerdings weiß ich nicht, wie ich das alte Array abspeichern soll, um es später noch zu erwenden.
Ich bastel grade an meiner eigenen UsbHotPlug Klasse, die alle 0,5 sec die Usb-Ports überprüft und dann die Liste an USB-Geräten, die vor 0,5 sec, mit der aktuellen Liste vergleicht.
Die Details der einzelnen USB-Geräte hab ich in einer eigenen Klasse (UsbData) gespeichert.
Die Methode um die Usb-Geräte und ihre Daten zu erfassen:
Java:
public UsbData[] getConectedDevices(){
DeviceList devList = new DeviceList();
int result = LibUsb.getDeviceList(null, devList);
if (result < 0)throw new LibUsbException("Unable to get device list", result);
UsbData[] usbData = new UsbData[devList.getSize()];
int i = 0;
for(Device dev : devList){
DeviceDescriptor descriptor = new DeviceDescriptor();
result = LibUsb.getDeviceDescriptor(dev, descriptor);
usbData[i] = new UsbData();
usbData[i].setIDProduct(descriptor.idProduct());
usbData[i].setIDVendor(descriptor.idVendor());
usbData[i].setIManufaktur(descriptor.iManufacturer());
usbData[i].setIProduct(descriptor.iProduct());
usbData[i].setISerialNumber(descriptor.iSerialNumber());
/**
System.out.println(usbData[i].getIDProduct() + ", "
+ usbData[i].getIDVendor() + ", "
+ usbData[i].getIManufaktur() + ", "
+ usbData[i].getISerialNumber() + ", "
+ usbData[i].getIProduct() );
**/
i++;
}
System.out.println("\n");
return usbData;
}
Und Hier ist die Schleife für die regelmäßige abfrage:
Java:
public void run(){
while(hotPlugEnabled){
try{
sleep(500);
} catch(InterruptedException e){}
//Hier soll dann die Methode zum ergleichen der alten und der neuen Liste rein.
// z.B: compareList(UsbData[] oldList, UsbData[] newList);
}
}
Vielen Dank für eure Hilfe
Dechasa
Zuletzt bearbeitet von einem Moderator: