안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요 안드로이드 공부를 하고있는 학생입니다. ^^;
궁금한게 있는데요 제가 자바에 대한 기초가 많이 부족하거든요,,,,많은 양해 부탁드려요
다름이아니구요 TCP/IP를 이용해서 간단한 어플을 만드는데요
우선 서버는 java로 이클립스에서 구현했어요 (PC)
그리고 클라이언트는 안드로이드로 구현했어요 (애뮬레이터)
서버는 data를 보내는 역할만 하기때문에
PrintWriter sendwriter = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(m_socket.getOutputStream())), true);
sendwriter.println(data);
대충이런식으로 데이터를 클라이언트에 보내구요
클라이언트는 받기만 하기때문에
BufferedReader in = new BufferedReader
(new InputStreamReader(socket.getInputStream()));
while(true)
{
return_msg = in.readLine();
}
이런식으로 데이터를 받습니다.
서버에서 배열의 길이가 4인 char형 배열에 값을 넣어서 위처럼 클라이언트로 보내거든요
헌데 클라이언트에서 받을때는 String 형으로 받잔아요,,,readLine()함수가 반환을 String 형으로 해서,,,
1. String 형으로 반환받은 값을 분리해낼수있나요??(서버에서 보낸 char형 배열로)
2. 지금 제가 작성하는 프로그램에 가장 적합한 송신함수가 println()함수가 맞나요??아니면 적합한 송신함수와 그에 따른 수신
함수좀 알려주세요
감사합니다.
궁금한게 있는데요 제가 자바에 대한 기초가 많이 부족하거든요,,,,많은 양해 부탁드려요
다름이아니구요 TCP/IP를 이용해서 간단한 어플을 만드는데요
우선 서버는 java로 이클립스에서 구현했어요 (PC)
그리고 클라이언트는 안드로이드로 구현했어요 (애뮬레이터)
서버는 data를 보내는 역할만 하기때문에
PrintWriter sendwriter = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(m_socket.getOutputStream())), true);
sendwriter.println(data);
대충이런식으로 데이터를 클라이언트에 보내구요
클라이언트는 받기만 하기때문에
BufferedReader in = new BufferedReader
(new InputStreamReader(socket.getInputStream()));
while(true)
{
return_msg = in.readLine();
}
이런식으로 데이터를 받습니다.
서버에서 배열의 길이가 4인 char형 배열에 값을 넣어서 위처럼 클라이언트로 보내거든요
헌데 클라이언트에서 받을때는 String 형으로 받잔아요,,,readLine()함수가 반환을 String 형으로 해서,,,
1. String 형으로 반환받은 값을 분리해낼수있나요??(서버에서 보낸 char형 배열로)
2. 지금 제가 작성하는 프로그램에 가장 적합한 송신함수가 println()함수가 맞나요??아니면 적합한 송신함수와 그에 따른 수신
함수좀 알려주세요
감사합니다.




물론 String을 char[]등으로 가공할 수도 있습니다. getChars(...), toCharArray(), chartAt(int)등을 상황에 따라 적절히 활용하면 되겠죠. 다만 여기선 그렇게 할 경우, 값 복사가 한 번씩 더 되기 때문에 비효율적인 면이 있습니다. (그래봐야 티도 안날거 같긴 합니다만ㅋ)
2. 아시다시피 println은 해당 내용 출력후에 줄바꿈 기호를 추가로 출력하는 것이 전부입니다. 줄바꿈이 필요하다면 println을 써도 관계 없고, 아니면 걍 write(char[])같은 것만 써도 무방하겠고요... 판단은 본인이... :)