woong's

Unity Android Plugin 사용하기 본문

Develop/Unity

Unity Android Plugin 사용하기

dlsdnd345 2016. 2. 13. 20:18

Unity Android Plugin 사용하기


안녕하세요 . 오늘은 Unity 와 Android 간의 데이터를 주고 받는 것에 대해  포스트를 

써보려 합니다 .


저는 서로 간의 통신을 하면서 굉장히 고생을 했네요 . 거의 6~7시간이나 걸렸습니다 .

정말 간단한 것이지만 , 자세히 정리 되어 있는 블로그가 없어 포스트를 써보려 합니다 .



사용 방법


유니티 프로젝트를 실행 합니다 .




Scene 을 저장합니다 .

Script 폴더를 만들고 사용할 Scrpit 를 생성 합니다 .




생성한 스크립트를 실행 합니다 .


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
using UnityEngine;
using System.Collections;
 
public class NewBehaviourScript : MonoBehaviour {
    
    private AndroidJavaObject androidJavaObject;
 
    void Start(){
        // Unity 에서 Android 접근 하기 위해 생성자를 초기화
        AndroidJavaClass androidJavaClass = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");
        androidJavaObject = androidJavaClass.GetStatic<AndroidJavaObject> ("currentActivity");
    }
 
    void OnGUI ()
    {
        //Unity 에서 입력 받을 버튼 생성
        if (GUILayout.Button ("toast Call", GUILayout.Width(200) , GUILayout.Height(200))) {
            callToast();// Android 호출
        }
    }
    
    public void callToast ()
    {    
        androidJavaObject.Call("toastTest");
    }
}
 

 

 

​이와 같이 스크립트를 작성 합니다 . 

 

​작성후 GameObject 를 생성후에 작성한 스크립트를 적용 시켜 주면 되겠습니다 .



 

 

​그 후에 Unity 프로젝트를 Export 를 진행 해야 합니다 . 




Export 하기 전에 유의 점이 있습니다 .

빨간색 체크박스를 선택해야 합니다 .

선택하지 않으면 apk 파일로 나타나서 선택하고 Export 를 진행해서 Android 프로젝트를 받을 수 있습니다 .


또한 Platform 을 Android 로 변경 해야 합니다 .

 

 

 

​Export 를 진행을 완료 하면 , 이와 같이 Android 프로젝트를 보실 수 있습니다 . 

이제 Android ADT 를 통해서 프로젝트를 실행 합니다 .




이와 같이 프로젝트 구조를 볼 수 있습니다 .


하나의 Activity 파일이 있습니다 .

여기에 Unity에서 사용할 메서드를 만들면 되겠습니다 .




1
2
3
4
5
6
7
8
9
    public void toastTest(){
 
        runOnUiThread(new Runnable() {
            public void run() 
            {
                Toast.makeText(getApplicationContext(), "Android call", Toast.LENGTH_LONG).show();
            }
        });
    }


최 하단에 Toast 를 호출하는 코드를 넣었습니다 .

runOnUiThread 를 사용한 것은 unity 에서 쓰레드를 사용하고 있어 쓰레드 안에서 UI 접근이 불가능 하기때문에

Main Thread 로 전환 해 주기 위해서 사용했습니다 .


이렇게 작성 하고 모바일 디바이스에 설치를 진행 합니다 .


그러면 이와같이 버튼을 누르면 Toast 가 잘 작동되는 것을 볼 수 있습니다 .


Android Method 가 Return Type 이 있으면 Unity 화면 상에서도 데이터를 출력 할 수 있습니다 .




'Develop > Unity' 카테고리의 다른 글

Unity ScrollView 사용하기  (0) 2016.02.13
Unity Dynamic Font 사용하기  (0) 2016.02.13
Unity WebView 사용하기  (10) 2016.02.13
Unity Game 일시정지 하기  (0) 2016.02.13
Unity Mobile(Android & IOS) 해상도 맞추기  (0) 2016.02.13
Comments