1.Android.Manifest.xml 코드 편집
스마트폰에서 안드로이드 스튜디오 블루투스 앱 코드를 작성하기 위해서는 반드시 Android.Manifest.xml에서 블루투스를 사용하기 위한 승인(permission) 과정이 필요하다. 스마트폰에서 외부와의 통신은 별도의 하드웨어 칩 즉 궐컴 칩과 같은 모뎀 침이 담당하는 것이 상례이므로 안드로이드 스튜디오에서 블루투스 하드웨어 사용 요청에 따른 승인이 필수적이며 아울러 코드 작성 후에도 PC 자체에서의 Emulator에 의한 테스트가 불가능하다. 그 이유는 안드로이드 스튜디오가 설치된 PC에서는 승인을 해줘야 할 안드로이드 블루투스 하드웨어가 부재하기 때문이다.
다음과 같이 9줄의 명령이 들어가는데 이 모두가 반드시 필수적인 것은 아니다. 따라서 각 명령을 대상으로 삭제 후 여러경우의 수에 대한 테스트 시행이 불가결하다.
1번은 블루투스 하드웨어 선언으로 상징적이며 나머지가 있다면 없어도 무방하다.
2번이 없으면 실행 시에 아예 블루투스 앱이 중지 된다.
3번이 없으면 실행 시에 ON OFF 및 Paring Devices 출력 가능하나 New Discover 작업이 안되며 블루투스 앱이 중지 된다.
4번 줄은 없어도 앱 실행이 가능하다
5번 줄이 없어도 네 번째가 있으면 앱 실행 가능하다
4번 5번 줄이 함께 없어도 앱 실행 가능하다
6번 줄이 없어도 앱 실행이 가능하다
7번 줄이 없어도 앱 실행이 가능하다
6,7,8,9 4줄이 없어도 앱 실행은 되지만 아두이노 LED on OFF 가 되지 않는다
요약해서 반드시 필수적인 최소한의 명령은 1, 2, 3, 6, 7 이다.
2. Bluetooth ListPicking 레이아웃 디자인 activity_main.xml
스마트폰의 블루투스 또는 WiFi 무선 통신에서 첫 단계 작업은 항상 주위의 블루투스 발신 원을 찾아 리스팅하는 작업이며 이어서 선택 클릭하여 블루투스를 연결하게 된다. 블루투스의 연결단계부터는 안드로이드 코드의 길이가 지나치게 길어 한 번에 이해하여 처리하기가 곤란하므로 일단 ListPicking 단계까지 한하여 코드를 작성해 보자. ListPicking 이란 단어는 앱 인벤터에서 사용하는 단어이다.
Text 모드에서의 코드 보다는 Components 와 레이아웃을 직접 관찰하도록 하자.
imageView 의 로고는 drawable 에 png 그림 파일로 입렵해 두도록 한다. Turn on 은 스마트폰에서 드래그 하여 블루투스 아이콘을 눌러 ON 시키는 작업과 동일하며 Turn OFF 는 그 반대 이다. GET VISIBLE 은 다른 사용자의 스마트폰이 내 스마트폰 블루투스를 인식하도록 허용하며 Default 로 시간제한 120초를 가한다. LIST DEVICES 버튼을 클릭하면 주위의 블루투스 소스 원을 찾아 리스팅하게 된다. 아울러 블루투스로 통신을 할 경우 정보를 읽고 상황을 모니터링 하여 사용자ㅇ가 볼 수 있도록 디스플레이 해야 할 것이나 여기서는 리스팅 작업까지만 살펴보도록 한다.
3, MainActivity 코드
ListPicking 된 블루투스 소스들이 ListView 처리를 위한 입력 데이터가 되며 이 데이터들은pairedDevices에 저장된다. 한편 안드로이드가 제공하는 블루투스용Class 로서 BluetoothAdapter API 가 있으며 이 예제 코드에서처럼 사용한다. 하지만 이 방법 말고도 다른 방법도 있으므로 다음 예제에서 소개하기로 하자. 아울러 Pairing 된 디바이스들을 출력하기 위해 ListView를 설정하자.
첫 번째 Overide인 onCreate을 살펴보자. 화면에 배치된 4개의 버튼 및 그 아랫 공간에 위치하게 될 ListView 가 스미트폰의 View를 구성하게 된다.
버튼1 TURN on을 클릭하면 public void on 의 intent 가 실행되며 반면에 버튼3 visible 이 클릭되면 public void off 의 intent 가 실행되어 해당하는 스마트폰 화면이 나타난다.
마지막으로 public void list를 살펴보면 ListView 처리를 위한 Array List, ArrayAdapter 및 데이터 리스팅을 위한 list.add 가 있음을 알 수 있다.
첨부된 코드를 다운받아 블루투스 ListPicking 과정을 관찰해 보자.
다음의 데모 유튜브 영상 참조하세요. 구독 좋아요 꼭 부탁드려요!
'안드로이드 스튜디오' 카테고리의 다른 글
5.1 Sylvain Saurel의 안드로이드 스튜디오 MyPaint 예제 Copy & Paste의 예술 (0) | 2020.03.24 |
---|---|
안드로이드 스튜디오 Intent 실행 테스트 동영상 (0) | 2020.03.23 |
ListView 실행 테스트 (0) | 2020.03.21 |
3.6 Image+Texts 아이템 ListView에 의한 선택 삭제 안드로이드 스튜디오 코드 예제 (0) | 2020.03.19 |
3.4 안드로이드 스튜디오 ListView 이해를 위한 앱 인벤터 ListView 코딩 (0) | 2020.03.12 |