시소당
샘플 어플의 내용
본 문서는 DPUSH 기반 안드로이드 채팅앱에 대해 설명합니다.
본 채팅앱은 사용자 로그인 후, 텍스트 메시지를 교환하는 기본적인 채팅 기능을 지원합니다. 또한, Product key 변경을 통해 채팅방 변경이 가능합니다.
“디푸시안드로이드” 라는 아이디로 로그인한 상태에서 메시지를 주고 받는 기능을 제공합니다.
Product key을 설정/변경하는 기능을 제공합니다.
로그인 정보(아이디, 나이, 성별)를 입력/변경하는 기능을 제공합니다.
해당 어플은 스토어에서 DPUSH로 검색하면 받을 수 있으며 스토어 주소는 다음과 같습니다.
https://play.google.com/store/apps/details?id=kr.co.joytune.dpchat
2. Android 채팅 앱 중요 설명
2.1 앱 구조
전체 소스를 참고하시기 바라며, 기본적으로 필요한 중요한 내용만을 설명합니다.
채팅앱은 아래와 같이 3개의 Activity들로 구성됩니다.
Activity 이름 | 내용 |
DPushActivity | 채팅의 메인 Activity로서 메시지를 입력받고 수신된 메시지를 보여주는 기능을 수행합니다. 실제 화면 구성 및 메시지 통신은 DPushMainFragment 클래스에서 수행합니다. |
DPushProdKeyCheck | Product key를 설정/변경하는 기능을 제공합니다. 설정된 key는 다음번 앱 수행시에도 그대로 적용됩니다. |
DPushLogin | 로그인 정보를 받아 서버 접속을 기능을 제공합니다. |
2.2 메인 액티비티 (DPushActivity)
DPushActivity는 크게 아래와 같은 기능들을 수행합니다.
번호 | 기능 | 수행 클래스 |
1 | Product key 설정/변경 및 서버 접속 | DPushMainFragment |
2 | Login 정보 설정 및 변경 | DPushMainFragment |
3 | 메시지 수신 및 화면 출력 | DPushMainFragment |
4 | 사용자 메시지를 서버로 전송 | DPushMainFragment |
5 | 다른 사용자의 로그인/로그아웃/정보 변경 내용을 공지 | DPushMainFragment |
6 | 채팅방에 접속된 사용자들의 목록을 출력 | DPushMainFragment |
7 | 스마트폰이 Sleep Mode일 경우에도 메시지 수신 | DPushActivity |
2.2.1 Product key 설정 및 변경
앱 수행시 이미 저장된 키가 있으면 그것을 사용하고 그렇지 않으면 Default값인 “LIVEDEMOPUSH” 값을 사용합니다.
이제 위와 같은 기능을 사용하기 위해 Andorid Manifest file 을 수정합니다.
먼저 2.1에서 설명한 3개의 Activity를 명시합니다.
Code Example1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | < application
android:allowBackup = "true"
android:debuggable = "false"
android:icon = "@drawable/dpush_logo"
android:label = "@string/app_name"
android:theme = "@android:style/Theme.Black.NoTitleBar" >
< activity
android:name = "kr.co.joytune.dpchat.DPushActivity"
android:screenOrientation = "portrait"
android:label = "DPush" >
< intent-filter >
< action android:name = "android.intent.action.MAIN" />
< category android:name = "android.intent.category.LAUNCHER" />
intent-filter >
activity >
< activity
android:name = "kr.co.joytune.dpchat.DPushLogin"
android:label = "@string/title_activity_login"
android:screenOrientation = "portrait"
android:theme = "@android:style/Theme.Black.NoTitleBar" >
activity >
< activity
android:name = "kr.co.joytune.dpchat.DPushProdKeyCheck"
android:label = "@string/title_activity_prodkey"
android:screenOrientation = "portrait"
android:theme = "@android:style/Theme.Black.NoTitleBar" >
activity >
application >
|
또한, 정의된 안드로이드 기능을 사용하기 위한 권한정보를 추가합니다
Code Example1 2 3 4 5 6 7 8 9 | < uses-permission android:name = "android.permission.INTERNET" />
< uses-permission android:name = "android.permission.WAKE_LOCK" />
< uses-permission android:name = "android.permission.ACCESS_NETWORK_STATE" />
< uses-permission android:name = "android.permission.READ_PHONE_STATE" />
< uses-permission android:name = "android.permission.RECEIVE_BOOT_COMPLETED" />
|
* 자신만의 채팅방을 만드려면?
개발자이신 경우 직접 PRODUCTKEY를 받아서 소스상에서 수정하시면 됩니다.
먼저 간단한 가입을 통해 PRODUCTKEY를 받습니다.
DPUSH PRODUCTKEY 받기
기본적인 안드로이드 환경에 대한 설정은 사이트를 확인하세요.
사이트 Document 확인
생성한 Android 프로젝트의 libs 폴더에 JavaLibrary 를 첨부합니다.
필요한 라이브러리는 Java-WebSocket-1.3.0.jar 와 dpush-v0.x.jar 입니다
사이트 Download
가입 후에 채팅을 위해서는 두가지 세팅이 필요합니다.
Customer Info사용 체크 와 클라이언트 메시지 체크 입니다.
설정방법 가이드 보기
출처 : http://www.dpush.co.kr/p1056/