[카테고리:] 미분류

  • 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 에서 자동 변환 지원됨.