PLAYGROUND
[Andriod Studio] Cannot resolve symbol 해결 방법 본문
안녕하세요
액티비티 간 값을 주고받을 수 있는 Intent에 대해 실습을 해보았습니다.
버튼을 생성한 후에, 해당 버튼을 누르면 다른 페이지로 이동할 수 있게 진행하였는데요
거기서 더 나아가 키보드로 문자 작성 후에 버튼을 누르면 다른 페이지로 이동할 수 있는 부분까지 진행하였습니다.
실습 중 intent.putExtra( name: "str", str); 에서 cannot find symbol 오류가 나서 해결해보려고 합니다.
cannot find symbol오류는 식별자와 관련된 오류입니다.
- 지정된 변수나 메소드를 찾을 수 없을 때
- 선언되지 않은 변수나 메서드를 사용하거나, 변수 또는 메서드의 이름을 잘못 사용한 경우에 나타납니다.
- 자바는 대소문자를 구분하기 때문에 철자 및 대소문자의 일치여부도 꼼꼼히 확인하여야 합니다.
intent.putExtra( name: "str", str); 에서
putExtra는 액티비티 이동과 동시에 이전 액티비티에서 이동하는 액티비티로 어떤 값을 넘기고 싶을때 사용합니다.
"str"은 이름을 설정하여, 다음 액티비티에서 이를 이용해 데이터를 받아오는 역할입니다.
, str은 데이터가 실제로 들어가는 공간입니다. (미래의 저를 위해 작성)
1. 오류확인
오류 목록을 확인해 보니 expected 오류가 떠있는 것을 확인할 수 있습니다.
이는 아래의 오류에서 나타나는 문자가 해당 위치에 없다는 것을 의미합니다.
구글링 후 다른 블로그들을 참고하여 해결할 수 있는 방법 세가지를 찾아보았습니다.
2. 오류해결방법
2.1. Build > clean project
build를 초기화 및 재정의 하는 방법으로, 사소한 오류인 경우 이 방법으로 대부분 해결 됩니다.
2.2. File > Sync Project with Gradle Files
Gradle 파일의 Sync가 맞지 않은 경우 Gradle 파일과 프로젝트 파일의 Sync를 다시 맞춰주는 방법입니다.
2.3. File > Invalidate Caches
프로젝트와 관련된 모든 캐시를 삭제하고 안드로이드 스튜디오를 재시작 해주는 방법입니다.
버튼을 누르면 이런 화면이 나옵니다.
- 파일 시스템 밑 로컬 기록 지우기
- VCS로그 및 인덱스 지우기
- 브라우저 엔진 및 쿠키 삭제
원하는 것을 선택해주시고 Invalidate and Restart 버튼을 눌러주시면 됩니다.
.
.
.
.
.
.
.
.
.
.
.
.
저는 1, 2번을 실행해보았는데 둘 다 해결되지 않았습니다...^^
유튜브 댓글을 보고 허무하게 해결하게 되었는데요...~
빨간 박스의 name이 위에 사진에서의 name과 달라진 것을 눈치채셨나요?
저는 name을 직접 작성하였는데, 직접 작성하는 것이 아니라 가이드를 주는 것이라고 합니다..^^
getString까지 치면 getStringExtra가 연관으로 뜨실텐데, 엔터를 눌러주시고, "str"을 먼저 작성해주시면 name이 붙게됩니다.
오류가 해결되어 AVD가 잘 작동하는 모습입니다~~
출처
자바를 시작하기 전에 :: 자주 발생하는 에러와 해결방법_- (tistory.com)
[안드로이드스튜디오] Cannot Resolve Symbol ~ 에러 고치는 방법 (velog.io)
코딩벌레 :: [안드로이드]인텐트 로 값 전달(Intent putExtra) (tistory.com)
Cannot find symbol 원인 및 해결방법(Cannot resolve symbol, Symbol not found 등) :: 양's World (tistory.com)
'프로그래밍 > Android Studio_졸업작품' 카테고리의 다른 글
[Android Studio] Pixel 2 API 31(AVD) is already running 해결하는 법 (0) | 2023.07.12 |
---|---|
[Android Studio] Error running 'app' 해결하는 법, AVD 가상 디바이스 설치 (0) | 2023.07.12 |
[Android Studio] 개발시작 (0) | 2023.07.12 |