2011-12-18 4 views
0

저는 Android 채팅 응용 프로그램을 만들고 있습니다. 채팅 화면에 다른 사용자와의 새로운 UI 화면과 같은 기능을 포함 시키길 원합니다. 그러나 나는 그것으로 더 멀리 움직일 것을 모른다. 서비스 또는 asyntask를 사용해야합니까 아니면 다른 방법이 있습니까? 시작 도와주세요.Android에서 채팅 화면을 만드는 방법은 무엇입니까?

답변

0

아니요. 각 사용자마다 각 스레드를 사용하면 많은 스레드 (메모리 및 생성하고 지우는 시간 ...)가 생성됩니다.

수신 메시지 (인 텐트를 사용하여 쉽게 작업 할 수 있음)를 수신하려면 서비스를 사용해야하며 기본 UI 스레드에서 수행 할 수 있습니다.

+0

고마워요. 나는 똑같은 방식으로했다. 나는 모든 메시지를 데이터베이스에 저장했다. userlist에서 특정 사용자를 클릭 할 때마다 chatscreen 활동에 해당 userid를 보내고 userid를 기반으로 데이터베이스에서 해당 메시지를로드합니다. –

0

활동이 닫히면 대화가 닫히고 (서버/사용자와 채팅 한 다른 기기와의 네트워크 연결) 채팅이 끊어 지므로 serivce/AsyncTask를 사용할 이유가 표시되지 않습니다. 소켓 스트림에서 데이터를 기다리는 스레드를 가지고 있고 데이터가 도착하면 사용자에게 표시하십시오.

+0

죄송합니다. 부분적인 정보를 제공합니다. Smack API를 사용하여 채팅 기능을 만듭니다. 따라서 Android OS에서 활동이 중단 될 때까지 채팅이 닫히지 않습니다. 또한 사용자는 A. B와 채팅하는 중일 때 알림으로 메시지를 보냅니다. 사용자가 알림을 클릭하면 B와의 모든 채팅 메시지를 보여주는 새로운 활동이 시작될 것입니다. 10 명의 사용자가 있거나 같이있는 경우 이동 방법. GTalk는 제스처를 사용하여 채팅 스레드간에 전환합니다. 그러나 그들이 어떻게 UI 활동을 채팅 스레드와 매핑하는지 이해하지 못하고 있습니다. –

+0

Smack API에 익숙하지 않습니다. 그러나 활동이 종료 된 경우에도 네트워크 연결을 유지하려면 서비스를 사용하십시오. – Jong

+0

Smack API 용 SO 태그가있는 것처럼 보입니다. 나는 당신의 질문에 그것을 추가 할 것입니다. – Jong

관련 문제