기존앱에서 코틀린 추가 방법은 아래 링크 참조
Java 코드에서 Kotlin 코드 사용 방법
Module build.gradle에 선언한 kotlin 경로에 파일 생성
build.gradle
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
src/main/kotlin.com.example.javawithkotlin.Funchtion.kt 객체 생성.
package com.example.javawithkotlin
fun main() {
printMessage("Hello")
printMessageWithPrefix("Hello", "Log")
printMessageWithPrefix("Hello")
printMessageWithPrefix(prefix = "Log", message = "Hello")
println(sum(1, 2))
println(multiply(2, 2))
}
/**
* printMessage 메소드 생성
* Unit 은 return 없다는 의미로 생략해도 됨.
* @param message String 형 파라미터 전달 받음.
*/
fun printMessage(message: String): Unit {
println(message)
}
/**
* printMessageWithPrefix 메소드 생성
* @param message String 형 파라미터 전달 받음.
* @param prefix String 형 기본값을 "Info"로 선언하고 파라미터
* prefix 변수에 기본 값이 설정되어 있지만 파라미터로 새로운 값을 전달 받아 변겨아 할 수 있음.
*/
fun printMessageWithPrefix(message: String, prefix: String = "Info") {
println("[$prefix] $message")
}
/**
* Int 형 반환 메소드
* 전달 받은 값 x,y의 합 결과를 Int 형으로 반환
* @param x Int 형으로 값을 전달 받은
* @param y Int 형으로 값을 전달 받은
*/
fun sum(x: Int, y: Int): Int {
return x + y
}
/**
* Int 형 반환 메소드
* 전달 받은 값 x,y의 곱한 값 결과를 Int 형으로 반환
* sum()과 다르게 한줄로 표현 가능.
*/
fun multiply(x: Int, y: Int) = x * y
기존 Java 앱에서 Kotlin 객체를 선언 사용
// Kotlin -> JAVA
int sumResult = FunctionsKt.sum(4,5);
Log.d("Json", "sumResult Kt = " + sumResult);
테스트르 위해 동일한 기능을 하는 Function 객체를 Java코드 생성 후 사용
// Java -> Java
FunctionsJava functionsJava = new FunctionsJava();
sumResult = functionsJava.sum(4, 5);
Log.d("Json", "sumResult Java = " + sumResult);
결과
코틀린 코드와 자바 코드 동일한 결과를 출력한다. (당연한 이야기)
MainActivity.java
package com.example.javawithkotlin;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Kotlin -> JAVA
int sumResult = FunctionsKt.sum(4,5);
Log.d("Json", "sumResult Kt = " + sumResult);
// Java -> Java
FunctionsJava functionsJava = new FunctionsJava();
sumResult = functionsJava.sum(4, 5);
Log.d("Json", "sumResult Java = " + sumResult);
}
}
FunctionsJava.java
package com.example.javawithkotlin;
public class FunctionsJava {
public int sum(int x, int y) {
return x + y;
}
}
반응형
'Android > Tip' 카테고리의 다른 글
[Android] fastboot mode 드라이브 설치 (0) | 2021.06.16 |
---|---|
[Android] Android Studio 로그 자동으로 입력 하기 (Live templates) (0) | 2021.06.10 |
[Android] android java kotlin 같이 쓰기 (0) | 2021.05.16 |
[Build] 안드로이드 빌드 프로세스 정리 (0) | 2021.05.14 |
[Gralde] DefaultConfig 객체 설명 (0) | 2021.05.14 |