일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 소스
- Game
- 유니티
- Scene
- AR
- Silly
- 클리커
- 프로그래밍 #코딩 #과외 #네카라쿠배 #따라하기 #코딩초보 #앱 #안드로이드
- jar
- 과외
- 프로그랭소스
- clicker
- 클리커게임
- 질문
- 인디게임
- 프로그램
- Source
- 초보
- 제작
- 핸드폰과 PC 블루투스
- Manager
- 뷰포리아
- 시리얼 통신
- 강의
- 강좌
- 2016
- 안드로이드
- 블루투스
- unity
- 프로그래밍 언어
- Today
- Total
실리의 프로그램 사이트
유니티로 핸드폰과 컴퓨터간의 블루투스 통신을 해보자(3차 작업) 본문
다른 작업을 하느라 글 쓰는게 늦어졌네요.
그럼 이제 저번 강좌 뒷부분을 시작해보겠습니다.
이제 build 방법을 jar 파일 생성으로 바꿀 겁니다.
아래의 build.gradle을 수정할 겁니다.
apply plugin: 'com.android.application' --> apply plugin: 'com.android.library'
}
exportJar.dependsOn(deleteObjectJar, build) |
위와 같이 변경 하면 아래와 같은 완성본이 나옵니다.
apply plugin: 'com.android.library' android { dependencies { task deleteObjectJar(type: Delete){ task exportJar(type: Copy){ exportJar.dependsOn(deleteObjectJar, build) |
위와 같은 작업을 다 끝내고 나면 이제 싱크를 맞춰야 합니다. Sync Now를 클릭해줍니다.
이제부터 실제로 유니티에서 통신을 할 수 있도록 프로그래밍을 할 겁니다.
1. 자바 클래스를 생성해줍니다.
2. AndroidManifest 부분을 수정해줍니다.
<수정 전>
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" ------------------------------------------------------------추가 시작 ------------------------------------- <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> <uses-permission android:name="android.permission.BLUETOOTH"/> ------------------------------------------------------------추가 완료 ------------------------------------- |
<수정 후>
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" <application |
3. BluetoothService 클래스를 작성합니다.
public class BluetoothService {
|
4. BluetoothActivity를 작성합니다.
public class BluetoothActivity extends UnityPlayerActivity {
|
5. jar 파일을 익스포트 한다.(exportJar)
여기까지 하시면 이제 유니티에서 쓸수 있는 네이티브 코드가 만들어진 겁니다.
코드는 복사해서 쓰셔도 되지만 이해가 안되는 부분이 많을 텐데요.
아래 부분에서 설명을 드리겠습니다.
1. build.gradle 부분입니다.
1) apply plugin: 'com.android.application' --> apply plugin: 'com.android.application' :: 어플리케이션 빌드가 아닌 라이브러리 빌드를 하겠다는 뜻입니다. 2) task deleteObjectJar(type: Delete){ delete 'release/UnityBluetoothCode.jar' } :: 파일을 삭제하는 테스크를 생성합니다. release 폴더에 있는 UnityBluetoothCode.jar 파일을 삭제합니다. 3)task exportJar(type: Copy){ from('build/intermediates/bundles/release/') :: 파일을 복사(생성)하는 테스크를 생성합니다. release 폴더에 classes.jar 파일을 생성하는데 이름을 UnityBlutoothCode.jar로 변경합니다. 4) exportJar.dependsOn(deleteObjectJar, build) :: 파일을 복사(생성)하는 테스크는 deleteObjectJar 테스크와 빌드에 의존성을 가집니다. 결론적으로 빌드를 하는 데 빌드를 파일 생성으로 해서 최종적으로 UnityBluetoothCode.jar 파일로 만들겠다는 겁니다. |
2. AndroidManifest 부분입니다.
1)<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> <uses-permission android:name="android.permission.BLUETOOTH"/> :: 블루투스에 대한 권한을 요청합니다. |
3. BluetoothService 클래스 부분입니다.
1) public BluetoothService() { :: 블루투스 서비스 클래스를 생성할때 블루투스 어댑터를 받아옵니다. 2) public boolean CheckBluetoothAvailable() :: 블루투스 어댑터를 확인하여 블루투스가 사용가능한 기기인지 확인합니다. 2) public String SearchDevice()
{ :: 블루투스 검색을 시작합니다.
Set<BluetoothDevice> pairDevices = bluetoothAdapter.getBondedDevices(); :: 페어링된 디바이스들을 불러옵니다. if(pairDevices.size() > 0) for(BluetoothDevice device : pairDevices) { :: 페어링된 디바이스 이름을 받아옵니다. connetedDeviceInfo += device.getAdress().toString() + ","; :: 페어링된 디바이스 주소를 받아옵니다. } } } :: 블루투스가 꺼져 있는 경우 꺼져 있다는 문자열을 저장합니다. }
} :: 블루투스가 켜져 있는지 확인해서 페어링된 디바이스들을 찾아냅니다. 3) public void ConnectedDevice(String DeviceName) :: UUID입니다. 고유값을 가집니다. String Data ="";
:: 스레드를 생성해서 받아온 데이터가 있을 때 유니티로 전송해줍니다. |
여기까지 하시면 이제 유니티로 Jar파일을 가져가서 직접 통신을 연결할 차례입니다. 그럼 다음 강의에서 뵙겠습니다.
'Unity 강좌' 카테고리의 다른 글
Unity Singleton을 제네릭으로 만들어놓고 써봅시다. (2) | 2017.03.23 |
---|---|
유니티로 핸드폰과 컴퓨터간의 블루투스 통신을 해보자(완료) (37) | 2017.03.09 |
뷰포리아를 유니티에 적용해보자(완료) (10) | 2017.02.15 |
뷰포리아를 유니티에 적용해보자(2차 작업) (0) | 2017.02.14 |
유니티로 핸드폰과 컴퓨터간의 블루투스 통신을 해보자(2차 작업) (2) | 2017.02.13 |