인프런 커뮤니티 질문&답변

승원님의 프로필 이미지
승원

작성한 질문수

[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)

주사위 앱 듣고 있는 중인데 ActivityMainBinding애 import가 보이지 않습니다

작성

·

41

0

<?xml version="1.0" encoding="utf-8"?>
<layout>

    <LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#008000"
        android:orientation="vertical"
        tools:context=".MainActivity">


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:layout_marginTop="100dp">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textSize="30sp"
                android:gravity="center"
                android:textColor="@color/black"
                android:layout_margin="20dp"
                android:textStyle="bold"
                android:text="인생은 주사위 한방에 가는거 아니겠습니까?"/>

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:weightSum="2">

            <ImageView
                android:src="@drawable/dice_1"
                android:layout_width="120dp"
                android:layout_height="120dp"
                android:layout_weight="1"/>
            <ImageView
                android:src="@drawable/dice_2"
                android:layout_width="120dp"
                android:layout_height="120dp"
                android:layout_weight="1"/>

        </LinearLayout>

        <Button
            android:id="@+id/DiceStartBtn"
            android:text="인생 고고"
            android:layout_width="match_parent"
            android:background="#@color/black"
            android:textColor="@color/white"
            android:layout_height="50dp"
            android:layout_margin="50dp"/>

    </LinearLayout>

</layout>

xml 코드

import org.jetbrains.kotlin.storage.CacheResetOnProcessCanceled.enabled

plugins {
    alias(libs.plugins.android.application)
    alias(libs.plugins.jetbrains.kotlin.android)
}

android {
    namespace = "com.seungwon.dice"
    compileSdk = 34

    defaultConfig {
        applicationId = "com.seungwon.dice"
        minSdk = 24
        targetSdk = 34
        versionCode = 1
        versionName = "1.0"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            isMinifyEnabled = false
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
        }
    }
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = "1.8"
    }
    dataBinding{
        enable=true
    }
}

dependencies {

    implementation(libs.androidx.core.ktx)
    implementation(libs.androidx.appcompat)
    implementation(libs.material)
    implementation(libs.androidx.activity)
    implementation(libs.androidx.constraintlayout)
    testImplementation(libs.junit)
    androidTestImplementation(libs.androidx.junit)
    androidTestImplementation(libs.androidx.espresso.core)
}

gradle코드

문제 부분입니다

답변 2

0

개복치개발자님의 프로필 이미지
개복치개발자
지식공유자

스크린샷 2024-10-15 오전 2.42.24.png

이렇게 한번 해보시겠어요?

만약 잘 안되시면 전체 프로젝트를 깃허브나 구글 드라이브에 올리신 후 링크를 공유해주세요.

0

안녕하세요, 인프런 AI 인턴입니다. 승원 님.

ActivityMainBinding 클래스가 import되지 않는 문제를 겪고 계시는군요. 이는 주로 데이터 바인딩이 제대로 설정되지 않았을 때 발생하는 일반적인 문제입니다. 다음은 문제를 해결하기 위한 몇 가지 방법입니다:

  1. 데이터 바인딩 설정 확인: 이미 build.gradle 파일에서 dataBinding이 enable=true로 활성화되어 있는 것 같습니다. 그러나, dataBinding 대신 viewBinding을 사용해보는 것도 좋은 방법입니다. 설정은 다음과 같습니다:
   android {
       ...
       buildFeatures {
           viewBinding true
       }
   }
  1. XML 파일의 <layout> 태그 확인: XML 파일 내에 <layout> 태그로 감싸여있는지 확인이 필요합니다. 이미 제공해주신 XML 코드에는 해당 설정이 반영되어 있어 문제가 없어 보입니다.

  2. 클린 빌드 및 캐시 무효화: Gradle 및 IDE 캐시 문제일 수 있습니다. (File > Invalidate Caches/Restart...)를 통해 IDE의 캐시를 무효화하고 프로젝트를 클린 빌드해보세요.

  3. 바인딩 파일 자동 생성 확인: ‘R.java파일’ 같은 Resource 관련 파일들이 제대로 생성되지 않았을 경우 발생할 수 있습니다. 터미널이나 명령줄에서 프로젝트 폴더로 이동한 뒤 ./gradlew clean 명령어를 수행하여 프로젝트를 다시 빌드합니다.

비슷한 문제를 겪었던 다른 수강생들이 공유한 경험을 참고하기 위한 링크도 제공드립니다:

특정 해결 방법이 적용되지 않을 경우, 프로젝트 전체의 구조적 문제일 수 있으므로 새 프로젝트를 생성하여 동일한 코드를 적용, 작동 여부를 테스트해보는 것도 하나의 방법일 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

승원님의 프로필 이미지
승원

작성한 질문수

질문하기