유니티 안에서 안드로이드 프로그램 시작하기
the guide on integrating unity with eclipse 를 따랐다면 이것을 하는 기본이 있는 것입니다. 이 예제는유니티 안드로이드 프로그램에서 어떻게 미디어 갤러리를 시작하는 지를 보여줍니다.
유니티에 시작 제어기능 추가하기
사용자가 해야할 일은 유니티에 자바 프로젝트를 부르고 유니티 프로그램을 시작시키는 제어를 추가하는 일입니다. 이 예제에서 버튼이 사용될 것입니다.
버튼 추가하기
유니티 프로젝트에서 새로운 스크립트를 만드십시오. 스크립트안에 OnGUi함수를 추가합니다. 이 함수에서 버튼을 만들고 자바 콜을 만듭니다. 그 자바 콜은 AndroidJavaClass 와 AndroidJavaObject 를 사용하여 만듭니다. 사용자가 해야할 것은 currentActivity 를 얻고 그 안에 함수를an intent를 시작하기 위해 부릅니다.
void OnGUI() { if(GUI.Button(new Rect(100,100,100,100) , "launch")) { AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity"); jo.Call("Launch"); } }
이제 그것은 제 위치에 있게되며 사용자는 프로젝트를 빌드하고 프로젝트 디렉토리의 에셋 폴더 내용을 이클립스 프로젝트로 이동시킵니다.
자바 코드
이전에는 안드로이드에서 활동을 시작하기 위해서 버튼을 작성하였습니다. 이제는 실제 이것을 하기위해 자바 코드를 사용합니다.
- 자바 코드에 하나의 intent를 추가할 필요가 있습니다.
private Intent myIntent;
- 이 intent는 onCreate함수에서 설정되어야 합니다. intent에 관한 자세한 사항은 android sdk documentation를 보세요
myIntent = new Intent(); myIntent.setAction(Intent.ACTION_VIEW); myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
- 마지막 스텝은 사용자 유니티 프로그램에서 부를 함수를 작성하는 스텝이고 startActivitiy를 부릅니다. 이 예제 초기에 그 함수가 시작을 위해 불렸듯 그것이 이 예제에서 우리가 불러야 할 것입니다.
public void Launch() { startActivity(myIntent); }
이제 사용자가 이클립스에서 프로그램을 빌드하고 실행하면 눌렸을 때 사용자 장치에서 미디어 갤러리가 시작되는 버튼이 유니티 프로그램과 함께 안드로이드 장치에 보일 것입니다. 안드로이드 장치로 돌아가기 위해 뒤로가기 버튼을 누르고 이 과정을 반복하세요.
- 출처: 유니티코리아위키 (CC BY-NC-SA 2.0)