안드로이드 개발 질문/답변
(글 수 45,052)
제가 다니는 회사는 핸드폰에 (WIPI) 스케너를 연결하여
socket=url.find("comm://0:baudrate=115200,parity=no,size=8,flow=no");
요런식으로 통신을 했습니다 .
그런데 안드로이드에서 할려니 감이 안잡히네요 ;;;
모토로이를 기준으로 보자면 모토로이의 USB 포트에 스케너를 연결해서 해야 하는데요 .
좋은 방법이나 가용한 샘플코드가 있으신분은 부탁드려요 ㅠ_ㅠ
이게 잘되면 회사에서 주력폰을 안드로이드로 갈지도 ㅎㅎ
2010.03.04 14:01:22
package TEST.PARK;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.comm.CommPortIdentifier;
import javax.comm.NoSuchPortException;
import javax.comm.PortInUseException;
import javax.comm.SerialPort;
import javax.comm.UnsupportedCommOperationException;
import android.R.integer;
import android.util.Log;
public class SCANER_CONN {String comm = "NULL";
public SCANER_CONN(){ Log.w("--->", "CONN_START"); for(int i = 0 ; i < 200 ; i++){ comm= "COM"+Integer.toString(i);
S_CONN(comm);
}
Log.w("--->",comm );}
private String S_CONN(String temp){ try {CommPortIdentifier ports = CommPortIdentifier.getPortIdentifier(temp);
SerialPort port = (SerialPort)ports.open("RS232C",1000);port.setSerialPortParams(115200,SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE );
port.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
OutputStream out = port.getOutputStream();
InputStream in = port.getInputStream();
String msg = "Hello";
out.write( msg.getBytes() );
byte[] buffer = new byte[100];
out.flush();
in.read(buffer);
out.close();
in.close();
port.close();
} catch (NoSuchPortException e) {// TODO Auto-generated catch block
e.printStackTrace();
Log.w("--->", "NoSuchPortException"+temp);return "NoSuchPortException"+temp;
} catch (PortInUseException e) {// TODO Auto-generated catch block
e.printStackTrace();
Log.w("--->", "PortInUseException"+temp);return "PortInUseException"+temp;
} catch (UnsupportedCommOperationException e) {// TODO Auto-generated catch block
e.printStackTrace();
Log.w("--->", "UnsupportedCommOperationException"+temp);return "UnsupportedCommOperationException"+temp;
} catch (IOException e) {// TODO Auto-generated catch block
e.printStackTrace();
Log.w("--->", "IOException"+temp);return "IOException"+temp;
}
return "OK"+temp;
}
}
이렇게 했습니다만 실행은 잘되지만
03-04 13:58:54.272: WARN/--->(19706): NoSuchPortExceptionCOM0
03-04 13:58:54.272: WARN/--->(19706): NoSuchPortExceptionCOM1
이런식으로 포트를 못찾는군요 ...




http://www.javaworld.com/javaworld/jw-05-1998/jw-05-javadev.html
검색해보니 나오더군요..
안드로이드에서 될지 안될지는 모르겠습니다.