본문 바로가기

안드로이드

Android Studio MQTT , 안드로이드 스튜디오 MQTT 사용법

반응형

 Android Studio에서 MQTT라이브러리를 사용하는 방법을 소개합니다.

사용된 안드로이드 스튜디오 버전은 4.1.2입니다.

 

 1. "Empty Activity"로 빈 프로젝터를  생성

안드로이드 프로젝트 생성

Name을 MqttTest처럼 적당히 넣어주시고, MinimumSDK는 API 16 젤리빈 정도면 되겠네요. 

프로젝트 이름 설정

다 되었으면 느낌 가는 데로 화면 우측 하단에 Finish를 눌러줍니다.

Finish버튼으로 설정 마무리

2. manifests/AndroidManifest.xml 항목 넣기

   정상적으로 프로젝트가 생성되었으면 왼편에 AndroidManifest.xml항목을 눌러줍니다.

AndroidManifest.xml

 두가지 항목을 넣어줄 것인데, 우선 권한 설정입니다.  코드 중 uses-permission으로 시작하는 3줄을 <manifest> 바로 아래에 넣으시면 됩니다.  주의하실것은 <application>태그 안에 넣으면 안된다는 것입니다.

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.mqtttest">

  <uses-permission android:name="android.permission.WAKE_LOCK" />
  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  
  <application ... >
  ...
  </application>
  ...
 </manifest>

 

 앱이 폰에게  MQTT를 사용하려고하니 인터넷과 네트워크 관련 권한설정를 허용해 주세요.라고 공손히 읍소하는 거로 보시면 됩니다. 

 

  다음은 백그라운드로 실행되는 MQTT서비스를 application에 등록하는 설정입니다.

 

<application     ...      android:theme="@style/Theme.MqttTest">

        <service android:name="org.eclipse.paho.android.service.MqttService" />
        
        ...
</application>

 

잠깐... 직접 해보시는 분이면 "org.eclipse.paho.android.service.MqttService"부분이 붉은색으로 보이신다구요? 못 본 척 그냥 지나쳐 주세요. 아직 dependency를 안 넣어줘서 그래요.

 이렇게 하면 AndroidManifest.xml설정은 

 

 

3. Gradle Scripts/build.gradle(Module:MqttTest.app) 의존성 추가

 다음으로 그레이들... Grey들... 아시다시피 회색 외계인으로 알려져 있는 존재로, 자세한 건 아래 주소로..

en.wikipedia.org/wiki/Grey_alien

그레이들

잠깐 머리식히고 오셨으면, 다시 Gradle 설정으로 돌아가겠습니다.

 

 코끼리 모양의 친숙한 아래 그림을 보셨으면, 안드로이드 스튜디오의 조그만 코끼리가 눈에 들어오실 겁니다.

Gradle로고

 안드로이드의 빌드 시스템으로 사용되며, 내가 필요한 기능을 적어주면 그때그때 알아서 끌어다가 설치해 준다고 보면 됩니다.

 더 궁금하신분들은 아래를 참조해 주세요. 

"Gradle은 다국어 소프트웨어 개발을 위한 빌드 자동화 도구입니다. 테스트, 배포 및 게시에 이르는 컴파일 및 패키징 작업의 개발 프로세스를 제어합니다" from en.wikipedia.org/wiki/Gradle

두 개의 build.gradle 중. app으로 끝나는 파일에 아래 2줄 의존성을 주입해줍니다.

 

dependencies {
    ...
    
    implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5'
    implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1'
    
    ...
}

 

여기까지 설정을 마치며...

 

추가로, 아까 서비스 등록할 때 붉은색 글자가 기억나시는 분들 있으시죠?

우측 상단에 코끼리버튼을 눌러 그레이들과 프로젝트 사이에 싱크를 맞춰주세요.

의존성은 자동으로 되지만, 싱크는 못맞추나 봅니다 그러려니 하고 우리가 눌러줍시다.

이후 아까 보던 붉은색 글자는 없어진걸 볼 수 있습니다.

다음 편에 뵙겠습니다. 

 

To be continued...

반응형