Linear Layout
- 오직 가로또는 세로 한방향으로함
- 중첩 못시킴
- Weight를 줘서 무게 3 무게 7이면 3:7 이런식으로 씀
Relative Layout
- A를 표시하고 그옆에 B를 표시한다처럼 관계를 지정해줌
- 위젯간의 중첩가능
Table Layout
- 테이블 처럼 맞춰놓음
- 실무에서 거의안씀
Frame Layout
- 하나의 자식 view만 표실할때씀
- 한장만 쓸때씀
- Constrain Layout
제약 조건을 사용해 화면을 구성함
예) 버튼 두개를 관계를 맺고 가운데로 정렬
뷰 비율 조절도 간단하게 가능
액티비티 = 한 화면
setContentView() 화면 전환
- 인텐트(Intent)는 일종의 메시지 객체입니다.
- 이것을 사용해 다른 앱 구성요소(액티비티, 서비스, 브로드 캐스트리시버)로 작업을 요청 할수 있습니다.
직접 부르는거
암시적 인텐트는 특정한 컴포넌트를 명시하지 않고, 수행하고자 하는 일반적인 작업
예) 웹눌럿을때 띄울수 있는 앱 크롬, 사파리 등 파일서치해서 띄워주는거
- 컴포넌트의 이름을 명시하여, 인텐트가 전달될 정확한 대상을 지정합니다.
- 예: **
new Intent(context, TargetActivity.class)
**에서 **TargetActivity.class
**가 컴포넌트 이름입니다. - 컴포넌트 이름이 없으면, 인텐트는 암시적으로 처리되고, 시스템이 적절한 대상을 찾습니다
- 인텐트가 수행해야 할 일반적인 작업을 정의합니다.
- 예: **
Intent.ACTION_VIEW
**는 사용자에게 데이터를 보여줄 때 사용됩니다. - 예: **
Intent.ACTION_DIAL
**은 전화 다이얼을 열기 위해 사용됩니다.
- 작업을 수행하는 데 필요한 데이터의 URI를 지정합니다.
- 예: **
Uri.parse("tel:12345")
**는 전화 앱에 전화번호 데이터를 제공합니다. - 데이터는 보통
Uri
객체로 액션과 결합하여 사용
- 인텐트의 유형을 더 구체적으로 지정하여, 어떤 컴포넌트가 처리할 수 있는지 알려줍니다.
- 예: **
Intent.CATEGORY_HOME
**은 홈 화면 애플리케이션을 시작할 때 사용됩니다
- 복잡한 데이터를 인텐트에 전달하기 위한 키-값 쌍의 추가 정보입니다.
- 예: **
intent.putExtra("extra_key", "value")
**에서 **"extra_key"
**는 전달할 데이터의 키이며, **"value"
**는 실제 값입니다. - 엑스트라를 통해 기본 타입부터 Serializable 객체까지 다양한 데이터를 전달할 수 있습니다.
- 인텐트에 컴포넌트 실행을 요청할 때 데이터를 함께 전달하려면 엑스트라 데이터를 이용.
- Extras를 활용하여 이름과 값의 쌍으로된 정보를 전달