-
반응형
안녕하세요, 하루플입니다.😁
안드로이드에서 여러 클래스를 생성하고 개발하다보면 클래스간 변수 정보를 공유하고 싶을 때가 있습니다!
저는 이런경우 싱글톤 패턴으로 전역변수를 선언하였었는데 이보다 더 효율적이고 간단한 방법이 있더군요!
Intent를 활용하는 것 입니다.
Intent를 활용해서 원하는 클래스에만 정보를 전달할 수 있으니 너무 좋은 기능이라 생각합니다.
MainActivity와 SubActivity 클래스를 생성하였습니다.
activity_main.xml 에는 다른 액티비티로 이동할 수 있는 버튼을 하나 생성하였습니다.
버튼 변수를 참고하세요!
이제 MainActivity를 만들어봅시다.
String으로 전달할 intent 객체의 이름은 "문자" 라고 하였으며
int로 전달할 intent 객체의 이름은 "숫자" 라고 하였습니다.
이렇게 SubActivity로 값을 전달하였으니 이제 받아야겠죠?
위 처럼 getStringExtra를 사용하면 문자를 받을 수 있고, getIntExtra를 사용하면 int 형을 받을 수 있습니다.
이 외에도 배열 등 받을 수 있는 형태는 무궁무진합니다.
저는 값이 올바르게 이동했는지 쉽게 알아보기 위해 Print문으로 Log를 띄웠습니다.
테스트를 위해 앱을 실행하고 버튼을 클릭하여 SubActivity로 이동해보겠습니다.
이처럼 MainActivity에 있던 변수 값을 SubActivity로 올바르게 이동시켰습니다!
다른 Activity에서 로그인 정보나 유저가 입력한 EditText 정보를 활용하여 다른 Activity에서 값을 가공하는 등 굉장히 많은 곳에서 사용할 수 있습니다.
이 Intent 기능은 값 이동 뿐만 아니라 Activity 이동 등 여러 방면에서 정말 많이 사용하니 꼭 알아두세요!
위 소스코드는 Github를 통해 다운로드 하실 수 있습니다.
다른 궁금한 점은 댓글로 부탁드립니다!
반응형'개발 > Android' 카테고리의 다른 글
[코틀린/Kotlin] 클래스 공부 내용 정리 (0) 2021.11.02 [코틀린/Kotlin] 기초 문법 정리 (0) 2021.11.01 안드로이드 스튜디오 TextView 글자 중간 글씨크기, 색깔 바꾸기 (0) 2021.07.30 [안드로이드 스튜디오] 목록/내용을 접었다 펼 수 있는 Expandable Recycler View 사용 예제 (1) 2021.07.30 안드로이드 스튜디오 GIF 파일 재생하기 (1) 2021.07.29 댓글