마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

arr 파일 사용하는 중 질문 있습니다.

0 추천

현재 유니티 사용 중 입니다.

일단 arr파일을 만들어서 유니티에 연결 했고,

일단 안드로이드 스튜디오에서 만든 static 함수들은 유니티 에서 

AndroidJavaClass javaCalss = new AndroidJavaClass("com.company.className")

string text = javaCalss.CallStatic<string>("returnFolder","Hello");

이런 식으로 불러서 잘 작동하는 걸 확인 했습니다.

그런데 

 string text = javaCalss.Call<string>("returnFolder","Hello");

이렇게 하면 아무것도 안 돌려 줍니다.

그러니까 static 함수들은 잘 불러 주는 데 일반 함수들은 불러주지를 않습니다.

이유가 뭐고 어떻게 해결해야 합니까?

허접검 (550 포인트) 님이 2017년 5월 23일 질문

1개의 답변

0 추천

static에 대해서 좀 더 공부하시면 될거 같네요.

static(정적)이라 함은 메모리에 상주 해 있기 때문에 참조가 가능합니다.

non-static의 경우 객체를 생성해주지 않는한 메모리에 올라가지 않기때문에 참조가 불가능합니다.

 

non-static 메소드를 호출하고 싶다면 유니티에서 기존 자바객체를 가져온다거나 또는 자바객체를 새로 만드신뒤에 

원하시는 메소드를 호출 하시면 됩니다.

 

 

예제:

 AndroidJavaObject jo = new AndroidJavaObject($클래스명,$인자);

jo.Call($메소드명);

 

참조:

https://docs.unity3d.com/ScriptReference/AndroidJavaObject.Call.html

Charlesz (4,420 포인트) 님이 2017년 5월 23일 답변
...