일일 회고
안드로이드 UI 및 4대 컴포넌트 중 하나인 액티비티에 대하여 학습하였다.
아직까진 큰 어려움은 없는 것 같다.
과제를 시작하고, 시행착오가 생기면 글로 남겨보자..
오늘의 키워드
- 안드로이드 UI
- 액티비티 & 인텐트
뷰(view)
안드로이드 앱의 UI를 구성하는 기본 단위 - 위젯, 레이아웃이 있다.
안드로이드 UI를 구성할 때 중요한 것이 있는데, 다양한 기기 해상도에 맞게끔 UI을 만들어야 한다는 것이다.
이에 관해서는 추가 글을 써보려고 한다.
https://aaapple.tistory.com/29
위젯(widget)
View의 서브 클래스로서, 앱 화면을 구성하는 시각적인 모양을 지닌 UI요소이다.
안드로이드 스튜디오를 살펴보면 굉장히 다양한 위젯이 있는 것을 볼 수 있다.
앱을 만들 때, 요구되는 기능에 따라 선택하여 사용을 하면 된다.
ex) 텍스트를 보여줄 때 - TextView
이미지를 보여줄 때 - ImageView
버튼 - Button
상태 진행 - ProgressBar
등등..
레이아웃(layout)
ViewGroup의 서브 클래스로서, 다른 뷰(위젯 혹은 레이아웃)를 포함하면서 이들을 정렬하는 기능을 지닌 UI요소이다.
이 또한 안드로이드 스튜디오를 살펴보면 굉장히 다양한 레이아웃이 있는 것을 볼 수 있다.
주로 사용되는 layout은 constraint layout, linear layout, frame layout이 있다.
xml의 design탭에 보면 legacy라는 항목이 있는데, 과거에 많이 쓰였지만 현재는 많이 쓰이지 않는 레이아웃 들이다.
액티비티(Activity) & 인텐트(Intent)
안드로이드 4대 컴포넌트 중 하나로 사용자와 직접적으로 상호 작용 할 수 있는 화면을 제공하는 애플리케이션의 구성요소이다.
한 액티비티에서 다른 액티비티로 전환할 수 있으며 전환 할 때 데이터를 주고받을 수 있다.
인텐트(Intent)는 일종의 메시지 객체이다.
이것을 사용해 다른 앱 구성요소(액티비티, 서비스, 브로드 캐스트리시버 - 다른 컴포넌트)로 작업을 요청할 수 있습니다.
인텐트에는 2가지 종류의 인텐트가 있다.
1. 명시적 인텐트
- 보통 현재 앱 안에 있는 구성요소 (예, 액티비티나서비스)를 시작시킬 때사용 (acitivity to activitie, service to service..)
startActivity(Intent(this, nextAcitivity::class.java))
2. 암시적 인텐트
- 시작할 구성 요소의 이름을 지정하지 않고 일반적인 작업 (예, 전화 걸기, 지도 보기 등)을 인텐트 객체에 설정하고 이를 startActivity()에 넘긴다.
- 보통 다른 앱 안에 있는 구성 요소를 구동하는 데 사용된다.
startActivity(Intent(Intent.ACTION_DIAL, Uri.parse("tel:114")))
액티비티 간 데이터 전달
- 인텐트에 컴포넌트 실행을 요청할 때 데이터를 함께 전달하려면 Extra를 이용.
- Extras를 활용하여 이름과 값의 쌍으로 된 정보(Bundle)를 전달
'내일배움캠프 7기 > TIL' 카테고리의 다른 글
내일배움캠프 7기 Android TIL 15일차 (2023.08.03) (0) | 2023.08.03 |
---|---|
내일배움캠프 7기 Android TIL 14일차 (2023.08.02) (0) | 2023.08.02 |
내일배움캠프 7기 Android TIL 12일차 (2023.07.31) (0) | 2023.07.31 |
내일배움캠프 7기 Android TIL 11일차 (2023.07.28) (0) | 2023.07.29 |
내일배움캠프 7기 Android TIL 10일차 (2023.07.27) (0) | 2023.07.27 |