helloWorld JAVA to Kotlin

📁 프로젝트 구조

  • MainActivity.java: 메인 액티비티 (앱의 핵심 로직)
  • activity_main.xml: UI 레이아웃 파일
  • AndroidManifest.xml: 앱 설정 및 권한
  • build.gradle: 빌드 설정 및 의존성
  • strings.xml: 문자열 리소스
  • README.md: 프로젝트 문서

🔧 추가된 설정 파일들:

  • gradle.properties: Gradle 전역 설정
  • local.properties: SDK 경로 설정
  • gradle/wrapper/: Gradle 래퍼 설정
  • gradlew & gradlew.bat: Gradle 실행 스크립트
  • proguard-rules.pro: 코드 난독화 설정
  • .idea/runConfigurations/app.xml: Android Studio 실행 환경 설정

🚀 Android Studio에서 실행하는 방법:

  1. 프로젝트 열기:
    • Android Studio 실행
    • “Open” 클릭
    • /Users/junhoha/bigdata/HelloWorldAndroid 폴더 선택
  2. 첫 실행 시 설정:
    • Gradle 동기화가 자동으로 시작됩니다
    • 필요한 SDK가 자동으로 다운로드됩니다
  3. 앱 실행:
    • 상단 툴바에서 “app” 실행 설정이 선택되어 있는지 확인
    • 녹색 재생 버튼 클릭 또는 Shift + F10
    • 디바이스/에뮬레이터 선택하여 실행

📱 실행 결과:

앱이 실행되면 화면 중앙에 “Hello World! 안녕하세요!” 메시지가 빨간색으로 표시되고, 그 아래에 “첫 번째 안드로이드 앱입니다!” 메시지가 파란색으로 표시됩니다.

🎯 Kotlin 변환

📱 변경된 주요 사항들

1. MainActivity.kt (Kotlin 변환)

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // Kotlin의 val 키워드 사용
        val textView = findViewById<TextView>(R.id.hello_text)
        textView.text = "Hello World! 안녕하세요!"
    }
}

Java → Kotlin 변환 포인트:

  • public classclass (Kotlin은 기본이 public)
  • extends: (상속 문법)
  • findViewById()findViewById<TextView>() (제네릭 타입 명시)
  • TextView textViewval textView (불변 변수)
  • .setText().text = (프로퍼티 접근)

2. build.gradle (앱 레벨) – Kotlin 지원 추가

apply plugin: 'org.jetbrains.kotlin.android'  // Kotlin 플러그인 추가

kotlinOptions {
    jvmTarget = '1.8'  // Kotlin JVM 타겟 설정
}

dependencies {
    implementation 'androidx.core:core-ktx:1.16.0'  // Kotlin 확장 함수
}

3. build.gradle (프로젝트 레벨) – Kotlin 빌드 설정

buildscript {
    ext {
        kotlin_version = '2.1.21'  // 최신 Kotlin 버전
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

4. 업데이트된 버전들

  • compileSdk: 33 → 36 (최신 Android API)
  • targetSdk: 33 → 36
  • Kotlin: 2.1.21 (최신 버전)
  • Gradle 플러그인: 8.10.0 (최신 버전)

🔍 Kotlin의 장점들이 적용된 부분

  1. 간결한 문법: Java 대비 더 적은 코드로 동일한 기능
  2. Null Safety: Kotlin의 타입 시스템으로 더 안전한 코드
  3. 확장 함수: core-ktx 라이브러리로 Android 개발 편의성 증대
  4. 프로퍼티 접근: .text = 같은 직관적인 프로퍼티 설정

🚀 현재 상태

  • ✅ Java → Kotlin 완전 변환 완료
  • ✅ Kotlin 플러그인 및 의존성 설정 완료
  • ✅ 최신 Android API 레벨 적용
  • ✅ 빌드 설정 최신화 완료

✅ Gradle 빌드 에러 해결 완료!

발생했던 repository 충돌 문제를 해결했습니다. 주요 수정 사항:

🔧 해결한 문제들:

  1. Repository 설정 충돌: settings.gradle에서 dependencyResolutionManagement 제거
  2. Build 스크립트 호환성: 최신 플러그인 시스템 대신 전통적인 buildscript 방식 사용
  3. 앱 매니페스트: 최신 Android 표준에 맞게 업데이트
  4. 테마 및 리소스: Material Design 테마와 필수 리소스 파일 추가

📱 수정된 핵심 파일들:

  • settings.gradle: Repository 충돌 해결
  • build.gradle (프로젝트): buildscript 방식으로 변경
  • app/build.gradle: apply plugin 방식으로 변경
  • AndroidManifest.xml: 최신 표준 적용
  • 테마 파일들: Material Design 테마 추가
  • MainActivity.java: AppCompatActivity 사용

🚀 이제 Android Studio에서:

  1. 프로젝트 열기: HelloWorldAndroid 폴더 선택
  2. Gradle 동기화: 자동으로 진행됨 (더 이상 에러 없음)
  3. 앱 실행: 녹색 Run 버튼으로 실행 가능

-> AndroidStudio 에서 자동 변환 지원됨.

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다