총 게시물 1,104건, 최근 0 건 안내 RSS 글쓰기
이전글  다음글  목록 글쓰기
[소스코드]

mysql - php - android 채팅 개념 및 코드(개발하면서 정리한것)

글쓴이 : 삼식 날짜 : 2013-04-20 (토) 16:49 조회 : 24160
글주소 : http://www.androidside.com/B56/6887
chatting.zip (982byte), Down : 211, 2013-04-20 16:49:14
Chatting_Client.zip (3.2M), Down : 177, 2013-04-20 16:49:14
Chatting_Server.zip (11.3K), Down : 175, 2013-04-20 16:49:14
 
  아마존 AWS 공식사이트
관리형DB부터 데이터웨어하우스까지 필요한 모든 DB 서비스, 1년 무료체험 신청!
aws.amazon.com/ko/
  제이에스페이지
PHP 웹프로그램 웹표준 퍼블리싱 PHP MySql HTML CSS jQuery
www.jspage.co.kr
  부산서면 동성직업전문학교
최우수훈련기관 선정,국비전액무료,자바,안드로이드,증강현실(VR),정보처리산업기사
www.dshrd.or.kr
신청하기


내역 . mysql에 있는 아이디 패스워드로 android에서 접속해 친구들과 채팅하는 프로그램.

1. 채팅이 가장 중요한 기능이기 떄문에 채팅 서버와 클라이언트가 필요합니다.

1.1 채팅서버는 TCP/IP통신을 해야하기 때문에 Server Socket을 이용해 포트번호를 물어둡니다.(Java)
1.2 안드로이드에 클라이언트를 만듭니다.
1.2.1구성은 로그인화면 - 회원등록화면 - 채팅대기화면(친구리스트) - 채팅화면
으로 구성하였습니다.

화면구성이 완료되면 이제 mysql에 테이블을 생성해야합니다. 예제이므로 간단히 chatting데이터베이스에
member테이블(id varchar(30), pass varchar(30), nickName varchar(30) ) 로 간단히 구성하였습니다.
friend테이블 (id varchar(30), friendid varchar(30) )는 친구테이블입니다.

아파치서버를 설치 한 후 아파치의 루트에 폴더 chatting을 만들어 php파일들을 넣어둡니다.

주의사항! 저도 한참 헤맨건데 이클립스의 가상머신에는 채팅이 되는데 안드로이드폰에서는 채팅이 안되는 문제가 있었습니다. 해결방법은 서버(데스크탑)를 무선망으로 잡아야 합니다. 망이 서로 다르기 떄문에 서로를 인식 못합니다 아무리 아이피가 있어도.. 조심하시기 바랍니다.

android에서 로그인을 하면 id와 pass를 가지고 php파일에 값을 던집니다.받은 값을 DB내의 값을 꺼내 비교합니다.
member테이블에 값이 있는지 없는지 확인후 JSON으로 다시 android에 1을 리턴하면 ok 

회원가입도 같은 패턴이지만 예외처리를 해줍니다. (id나 nickname의 입력값중에 기존 DB에 값이 있는가를 판단함)
마찬가지 패턴입니다만 예외처리는 android에서 해줬습니다 이유는 여러가지 상황을 연습해야하므로..

로그인이 되면 채팅 대기화면으로 가는데 intent를 넘기면서 DB에 id의 친구를 찾아 리스트로 뿌려줍니다.
검색버튼앞에 텍스트에 특정인의 아이디를 검색하면 DB의 id값을 불러옵니다(미구현)

친구 옆에 있는 버튼을 누르면 채팅이 됩니다. 채팅은 socket에 있는 InputStream과 OutputStream을 사용해 서버의 스레드에서 화면에 던져주는 형식입니다. 화면구성은 자기 닉네임, 채팅내용, 채팅시간이 뿌려집니다.

궁금하신 사항 있으면 댓글 남겨주세요 완전 허접해서 저같은 완전 초보만 다운받으셔서 연구해주세요
잘하시는 분들이 받으면 욕하실지도 ㅠㅠ

제가 이글을 올리는 이유는 여러가지 제약사항이 많아서 이 간단한 프로그램 만드는데 너무 오래걸렸기때문입니다.
예를 들어 왜 mysql과 안드로이드는 직접 접속을 막아놓은 걸까 왜 DB접속에 쓸대없이 쓰레드를 사용하는가?
이런 의문점을 풀어나가면서 만든다면 분명히 실력향상에 도움이 되리라 믿습니다.

회사가 일본이라 주석은 모두 일본어입니다. 하나 하나 쳐보시면서 주석을 채워나가시는 것도 좋은 거라고 생각합니다.
그리고 ip는 본인것으로 써주세요
감사합니다.



종합평점 (참여 34명)

추천 버튼을 클릭하면 추천한 자와 추천받은 자 모두에게 포인트가 지급됩니다.

aslkdfjalkdsf 2017-11-08 (수) 22:30
감사합니다!!
댓글주소
탁신곰쌤 2017-11-10 (금) 18:48
감사합니다.
댓글주소
crime1213 2017-11-11 (토) 20:29
감사합니다!!
댓글주소
맘마춘 2017-11-12 (일) 02:18
지금 학교 프로젝트로 치팅 어플을 만들고 있는 대학생입니다..이걸 따라할려고하는데도 안되네요.. 도와주실분 없으시나요..퓨ㅠㅠ
댓글주소
임씨성 2017-11-13 (월) 17:47
감사합니다.
댓글주소
오렐레레 2017-12-07 (목) 22:40
감사합니다!!
댓글주소
오렐레레 2017-12-12 (화) 22:50
감사합니다
댓글주소
디쏭 2018-01-04 (목) 23:53
감사합니다
댓글주소
안드개발꿈나… 2018-01-31 (수) 18:34
감사합니다
댓글주소
치루치루 2018-02-06 (화) 09:52
감사합니다!
댓글주소
유소운 2018-02-11 (일) 14:52
감사합니다. 
댓글주소
유예 2018-04-06 (금) 19:38
감사합니다
댓글주소
ㅈㅅㅎ 2018-04-10 (화) 11:23
감사합니다 ㅎㅎ
댓글주소
빨간물고기 2018-04-10 (화) 13:48

감사합니다~~~

댓글주소
가욤 2018-04-18 (수) 19:21
감사합니다
댓글주소
햇톨 2018-04-26 (목) 22:08
감사합니다!
댓글주소
정따리따따 2018-05-06 (일) 13:40
감사합니다!
댓글주소
xodn 2018-05-16 (수) 15:50
감사합니다
댓글주소
처음  1  2  3  4  5  6  7  8  9  10
이전글  다음글  목록 글쓰기

총 게시물 1,104건, 최근 0 건 안내 RSS
번호 분류 제목 글쓴이 날짜 추천 조회
1104 강좌  100 Days Google Dev, 3: Google Play Services 7.5 StanleyKou 01-24 0 549
1103 강좌  100 Days Google Dev, 2: The Magic of LRU Cache StanleyKou 01-20 0 576
1102 강좌  100 Days Google Dev, 1: Android Design Support Library 2 StanleyKou 01-18 0 660
1101 TIP&TECH  리스트뷰에서 스위치,체크박스사용시 4 에찌 05-08 5 1969
1100 TIP&TECH  뷰(RecyclerView/...)에 Max Height 주기/[Android] 김병희라고요 04-26 0 1702
1099 TIP&TECH  TabLayout ClickEvent 에찌 04-21 1 1536
1098 TIP&TECH  현재 사용하고 있는 어플 foreground인지 backgroun… 4 에찌 04-14 2 2308
1097 TIP&TECH  안드로이드 Drawble 에 해상도 마다 이미지를 … 1 에찌 04-14 1 1612
1096 TIP&TECH  fragment 에서 ButterKnife 사용 시 resource가져올 때… 1 에찌 04-12 0 1285
1095 TIP&TECH  Youtube 및 facebook 동영상 업로드 할때 1 희망과꿈을 03-28 0 1674
1094 TIP&TECH  google service lib 가져올 때 3 에찌 03-20 3 1727
1093 소스코드  CentralRV 프로젝트 - RecyclerView 가로/세로 가운… 1 김병희라고요 01-30 1 3022
1092 TIP&TECH  번개검색 시스템/[Android] 2 김병희라고요 12-29 2 2297
1091 TIP&TECH  RecyclerView 특정 포지션으로 스크롤 - smoothScroll… 1 김병희라고요 12-12 1 2168
1090 강좌  왕앱따 107. 자바/C++ 파일읽기 속도 비교/[Androi 김병희라고요 11-26 0 2313
1089 강좌  왕앱따 106. C++ 동영상 강좌/[Android] 김병희라고요 11-23 0 2707
1088 소스코드  AOSP용 한글 키보드 입력키 엘카이저 11-17 1 2453
1087 강좌  addDrawerListener, setDrawerListener(deprecated)/[Android] 김병희라고요 11-02 2 2830
1086 강좌  왕앱따 103. 아이콘 반복클릭 테스트/[Android] 김병희라고요 11-01 0 2139
1085 강좌  왕앱따 100. 안드로이드 왕초보의 앱개발 따라… 김병희라고요 10-29 0 2591
 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  다음  맨끝
 


Copyright ⓒ www.androidside.com. All rights reserved.
채팅 권한: 글쓰기 1개
2레벨 이상만 대화 가능
공개 채팅: 평일 !(9시 ~ 17시),토,일
안사2 변경사항 보러가기 챗방이 잘 안보이면 크롬에서 접속해주세요
챗방 숨기기 |  챗방 보이기