- Kubernetes
- C
- cloud_computing
- datastructure
- 리눅스마스터2급
- app
- Artificial_Intelligence
- c++
- Linux
- 오블완
- Android
- SingleProject
- Personal_Study
- pytorch
- Database_Design
- 티스토리챌린지
- Operating_System
- Python
- 2023_1st_Semester
- tensorflow
- codingTest
- Algorithm
- Univ._Study
- Baekjoon
- Java
- programmers
- Image_classification
- Unix_System
- 자격증
- study
코딩 기록 저장소
[안드로이드] 안드로이드 스튜디오 입문 (Intent 화면전환) 본문
오늘은 Intent에 대해 공부해보겠습니다. Intent는 컴포넌트가 서로 데이터를 주고 받기 위한 메시지 기능을 합니다. 다른 액티비티로 이동하거나 데이터를 넘겨주고 싶은 경우가 있을 때 사용합니다. 이것을 공부하여 앱의 화면 이동을 구현할 수 있도록 해보겠습니다.
서브 액티비티 생성하기
패키지 쪽에서 우클릭 한 후, 아래 사진을 따라 다른 액티비티를 생성해줍니다.
생성하게 되면 이런식으로 액티비티가 더 생긴 것을 확인할 수 있습니다.
메인액티비티의 화면을 설정해보겠습니다. 저번시간에 했던것과 같이 Layout을 'LinearLayout'으로 변경한 후, 화면 이동 기능을 넣을 버튼을 생성해줍니다.
<Button
android:id="@+id/btn_move"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="화면 이동" />
Intent 사용하기
화면에 버튼이 뜬 것을 확인했으면 이제 java파일로 가서 기능을 추가해봅시다. 저번시간에 한 것과 같이 버튼의 id를 이용하여 선언하고 함수를 정의해줍니다. onClick()함수 내부에서 Intent를 사용합니다.Intent()에는 두가지 현재 액티비티, 이동하고 싶은 액티비티 순서로 인자를 넣어야합니다. startActivity(intent)를 통해 액티비티가 이동하게 됩니다.
간단하게 서브액티비티에 도착했다는 것을 알리기 위해 화면에 TextView를 적고 실행시키면 무사히 서브 액티비티로 이동하게 됩니다.
Intent 활용하기 - Text 변경
이번에는 메인 액티비티에서 텍스트를 입력받아 서브 액티비티로 이동할 때 서브 액티비티의 문구를 변경해보겠습니다. 먼저 'EditText'를 이용하여 문구를 입력받을 수 있도록 화면에 배치한 후 java 파일에 선언해줍니다. 이후 문자열형 변수에 ed_text.getText()를 하여 문구를 가져와 문자열형으로 변환후 저장합니다. 그리고 이것을 서브액티비티로 보냅니다. putExtra를 이용해 putExtra("별명,데이터) 형태로 작성하면 보낼 수 있습니다.
이제는 서브 액티비티에서 문구를 띄워야합니다. 위에서 했던 것처럼 'textView'를 배치하고 java파일에서 코드를 작성합니다. 서브 액티비티에서 Intent를 받는게 getIntent()입니다. 이걸로 받아 str에 getStringExtra()를 이용하여 텍스트를 저장합니다. 이렇게 되면 textview의 setText를 통해 문구를 설정할 수 있게 됩니다.
Intent intent = getIntent();
String str = intent.getStringExtra("str");
실행 화면
참고한 영상은 다음과 같습니다.
안드로이드 앱 개발 강의 #3
'개인 공부 > 앱' 카테고리의 다른 글
[안드로이드] 안드로이드 스튜디오 입문 (ListView) (0) | 2023.04.03 |
---|---|
[안드로이드] 안드로이드 스튜디오 입문 (패키지구조 & 역할) (0) | 2023.04.03 |
[안드로이드] 안드로이드 스튜디오 입문 (ImageView & Toast) (0) | 2023.03.22 |
[안드로이드] 안드로이드 스튜디오 입문 (EditText & Button) (0) | 2023.03.20 |
[안드로이드] 안드로이드 스튜디오 입문 (실행 & TextView) (1) | 2023.03.16 |