Microsoft .NET/Xamarin Forms

[Xamarin] Xamarin.Android에서 Java Class 사용하기

전자기린 2022. 3. 31. 10:51

1. java 파일 코드 생성

public class Calculator
{    
    public int Add (int n1, int n2) 
    {
    	return n1 + n2;
    }
    
    public int Sub (int n1, int n2) 
    {
    	return n1 - n2;
    }
}


2. 파일 변환
C:\>javac 파일명.java
C:\>jar cf 파일명.jar 클래스명.class
C:\>ikvmc 파일명.jar

3. 신규 프로젝트 생성 - Android 바인딩 라이브러리(Xamarin)

4. 2에서 생성한 '파일명.jap'을 3에서 생성한 프로젝트의 Jars 하위로 포함시킨다.

5. '파일명.jap' - 속성 : 빌드 작업 도구를 'EmbeddedJar'로 변경한다.

6. Xamarin.Forms에서 인터페이스를 구현한다.

    public interface ICalculator
    {
        int Add(int n1, int n2);
        int Sub(int n1, int n2);
    }


7. 안드로이드에서 6에서 생성한 인터페이스를 사용하여 클래스를 구현한다.

    internal class CalculatorAndroid : ICalculator
    {
        public int Add(int n1, int n2)
        {
            return Calculator.Add(n1, n2);
        }

        public int Sub(int n1, int n2)
        {
            return Calculator.Sub(n1, n2);
        }
    }

8. 사용
    int n1 = 10;
    int n2 = 30;
    DependencyService.Get<Interfaces.ICalculator>().Add(n1, n2).ToString();