I recently ran into some problems communicating between my Arduino UNO and PC via APC220 rf modules.
The first problem was that the APC220 modules seemed to be non functional. I followed the instructions posted elsewhere and used RFMAGIC to set the parameters on the APC220 modules to the same values. Upload a working sketch to the Arduino swap in the APC220 module and no serial communication detected. The default frequency of 470 MHz does not work. Resetting both modules to 435 MHz enabled communications between the Arduino and the IDE Serial Monitor. (Also be warned that although RFMAGIC displays data values when it starts they are not necessarily the values of the module currently plugged into the USB adapter. Always force a read of the current module before making any parameter changes.)
So I thought I had solved my communication problems and switched to my Java based app and tried to read from the Arduino via the APC220. No joy. Some forum searching turned up some discussion on variations of flow control on serial library implementations. The Device Monitoring Studio Device Monitoring Studio (Serial Monitor) - Free download and software reviews - CNET Download was useful in showing the low level serial protocol differences between the IDE which worked and my Java app that did not. The key parameters for the jssc library Google Code Archive - Long-term storage for Google Code Project Hosting. are
serialPort.setParams(SerialPort.BAUDRATE_9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
serialPort.setDTR(true);
serialPort.setRTS(false);
After a few hours of false starts I now have wireless communication between my Java app and my Arduino based sensor.