SSISO Community

시소당

DPUSH를 이용한 안드로이드 채팅 샘플 만들기

샘플 어플의 내용

본 문서는 DPUSH 기반 안드로이드 채팅앱에 대해 설명합니다.

본 채팅앱은 사용자 로그인 후, 텍스트 메시지를 교환하는 기본적인 채팅 기능을 지원합니다. 또한, Product key 변경을 통해 채팅방 변경이 가능합니다.
chat

“디푸시안드로이드” 라는 아이디로 로그인한 상태에서 메시지를 주고 받는 기능을 제공합니다.

productkey

Product key을 설정/변경하는 기능을 제공합니다.

login

로그인 정보(아이디, 나이, 성별)를 입력/변경하는 기능을 제공합니다.

해당 어플은 스토어에서 DPUSH로 검색하면 받을 수 있으며 스토어 주소는 다음과 같습니다.

https://play.google.com/store/apps/details?id=kr.co.joytune.dpchat

2. Android 채팅 앱 중요 설명

2.1  앱 구조

전체 소스를 참고하시기 바라며, 기본적으로 필요한 중요한 내용만을 설명합니다.

채팅앱은 아래와 같이 3개의 Activity들로 구성됩니다.

Activity 이름내용
DPushActivity채팅의 메인 Activity로서 메시지를 입력받고 수신된 메시지를 보여주는 기능을 수행합니다. 실제 화면 구성 및 메시지 통신은 DPushMainFragment 클래스에서 수행합니다.
DPushProdKeyCheckProduct key를 설정/변경하는 기능을 제공합니다. 설정된 key는 다음번 앱 수행시에도 그대로 적용됩니다.
DPushLogin로그인 정보를 받아 서버 접속을 기능을 제공합니다.

2.2  메인 액티비티 (DPushActivity)

DPushActivity는 크게 아래와 같은 기능들을 수행합니다.

번호기능수행 클래스
1Product key 설정/변경 및 서버 접속DPushMainFragment
2Login 정보 설정 및 변경DPushMainFragment
3메시지 수신 및 화면 출력DPushMainFragment
4사용자 메시지를 서버로 전송DPushMainFragment
5다른 사용자의 로그인/로그아웃/정보 변경 내용을 공지DPushMainFragment
6채팅방에 접속된 사용자들의 목록을 출력DPushMainFragment
7스마트폰이 Sleep Mode일 경우에도 메시지 수신DPushActivity

2.2.1  Product key 설정 및 변경

앱 수행시 이미 저장된 키가 있으면 그것을 사용하고 그렇지 않으면 Default값인 “LIVEDEMOPUSH” 값을 사용합니다.


2.5  안드로이드 Manifest

이제 위와 같은 기능을 사용하기 위해 Andorid Manifest file 을 수정합니다.

먼저 2.1에서 설명한 3개의 Activity를 명시합니다.

Code Example
1
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 Example
1
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/

2698 view

4.0 stars