안녕하세요~
지금 안드로이드로 채팅 프로그램 을 함 만들어 보려고해요;;지금 이부분만 3일째 ㅠㅠ
다름이아니라 소켓을 사용해서
서버와 클라이언트 입/출력 스트림 으로 주고 받을때 한글 ( 일어 ) 깨지드라구요;;
인터넷으로 찾아봐서 해봤지만 ;;; 다 지지 ;;;
ObjectInputStream in = new ObjectInputStream(client.getInputStream());
ObjectOutputStream out = new ObjectOutputStream(client.getOutputStream());
message=(String) in.readObject();
out.writeObject("Received "+message+"");
이걸로 서버/클라이언트 사용할때는 되드라구요;;
그런데 클라이언트 부분에서 쓰레드를 사용 했거든요.
02-16 04:56:34.129: E/AndroidRuntime(14565): android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
오류 입니다 ... 초보라서 잘모르겟서요 ㅠㅠ
그래서 일단은!!
out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(csocket.getOutputStream())), true);
in = new BufferedReader(new InputStreamReader(csocket.getInputStream()));
out.println(MSG);
msgs = in.readLine();
이걸로 사용을 해봤어요 ~ ㅇㅅㅇ ;;; ( 서버랑 클라이언트랑 전부 같음 )
왠걸 ? 한글 or 일어 가 안되네요 ㅠㅠ 영어 밖에 ;; OTL;;
BufferedOutputStream out = new BufferedOutputStream(client.getOutputStream());
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream(),"utf-8"));
message = in.readLine();
out.write(str.getBytes("utf-8"));
out.flush();
out.close();
이렇게도 해봤는데 ;; 안되더라구요 ;; 이렇게 하면 된다고 하든데 ;; 잘못했는지도 모르겟다는 ;;
아 ~ out.close(); 주석 처리 해서 해봤는데도 안되요 ㅠㅠ
부탁 드립니다!!! 어떻게 해야하나요 !!