유니티 안에서 안드로이드 프로그램 시작하기

the guide on integrating unity with eclipse 를 따랐다면 이것을 하는 기본이 있는 것입니다. 이 예제는유니티 안드로이드 프로그램에서 어떻게 미디어 갤러리를 시작하는 지를 보여줍니다.

유니티에 시작 제어기능 추가하기

사용자가 해야할 일은 유니티에 자바 프로젝트를 부르고 유니티 프로그램을 시작시키는 제어를 추가하는 일입니다. 이 예제에서 버튼이 사용될 것입니다.

버튼 추가하기

유니티 프로젝트에서 새로운 스크립트를 만드십시오. 스크립트안에 OnGUi함수를 추가합니다. 이 함수에서 버튼을 만들고 자바 콜을 만듭니다. 그 자바 콜은 AndroidJavaClassAndroidJavaObject 를 사용하여 만듭니다. 사용자가 해야할 것은 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);
    }

이제 사용자가 이클립스에서 프로그램을 빌드하고 실행하면 눌렸을 때 사용자 장치에서 미디어 갤러리가 시작되는 버튼이 유니티 프로그램과 함께 안드로이드 장치에 보일 것입니다. 안드로이드 장치로 돌아가기 위해 뒤로가기 버튼을 누르고 이 과정을 반복하세요.