PLAYGROUND

[Andriod Studio] Cannot resolve symbol 해결 방법 본문

프로그래밍/Android Studio_졸업작품

[Andriod Studio] Cannot resolve symbol 해결 방법

잔디르크 2023. 7. 13. 10:49

안녕하세요

액티비티 간 값을 주고받을 수 있는 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)

https://youtu.be/EKCQ6sxMWNo