23.12.14

KSang·2023년 12월 14일
1

TIL

목록 보기
12/101

Linear Layout

  • 오직 가로또는 세로 한방향으로함
  • 중첩 못시킴
  • Weight를 줘서 무게 3 무게 7이면 3:7 이런식으로 씀

Relative Layout

  • A를 표시하고 그옆에 B를 표시한다처럼 관계를 지정해줌
  • 위젯간의 중첩가능

Table Layout

  • 테이블 처럼 맞춰놓음
  • 실무에서 거의안씀

Frame Layout

  • 하나의 자식 view만 표실할때씀
  • 한장만 쓸때씀
  • Constrain Layout

제약 조건을 사용해 화면을 구성함

예) 버튼 두개를 관계를 맺고 가운데로 정렬

뷰 비율 조절도 간단하게 가능

액티비티

액티비티 = 한 화면

setContentView() 화면 전환

Intent란 무엇일까?

  • 인텐트(Intent)는 일종의 메시지 객체입니다.
  • 이것을 사용해 다른 앱 구성요소(액티비티, 서비스, 브로드 캐스트리시버)로 작업을 요청 할수 있습니다.

ntent의 유형을 파헤쳐보자.

1). 명시적 인텐트(Explicit Intent)

직접 부르는거

2). 암시적 인텐트(Implicit Intent)

암시적 인텐트는 특정한 컴포넌트를 명시하지 않고, 수행하고자 하는 일반적인 작업

예) 웹눌럿을때 띄울수 있는 앱 크롬, 사파리 등 파일서치해서 띄워주는거

**인텐트(Intent) 객체 분석하기**

1). 컴포넌트 이름 (Component Name)

  • 컴포넌트의 이름을 명시하여, 인텐트가 전달될 정확한 대상을 지정합니다.
  • 예: new Intent(context, TargetActivity.class)에서 TargetActivity.class가 컴포넌트 이름입니다.
  • 컴포넌트 이름이 없으면, 인텐트는 암시적으로 처리되고, 시스템이 적절한 대상을 찾습니다

2). 액션 (Action)

  • 인텐트가 수행해야 할 일반적인 작업을 정의합니다.
  • 예: Intent.ACTION_VIEW는 사용자에게 데이터를 보여줄 때 사용됩니다.
  • 예: Intent.ACTION_DIAL은 전화 다이얼을 열기 위해 사용됩니다.

3). 데이터 (Data)

  • 작업을 수행하는 데 필요한 데이터의 URI를 지정합니다.
  • 예: Uri.parse("tel:12345")는 전화 앱에 전화번호 데이터를 제공합니다.
  • 데이터는 보통 Uri 객체로 액션과 결합하여 사용

4). 카테고리 (Category)

  • 인텐트의 유형을 더 구체적으로 지정하여, 어떤 컴포넌트가 처리할 수 있는지 알려줍니다.
  • 예: Intent.CATEGORY_HOME은 홈 화면 애플리케이션을 시작할 때 사용됩니다

5). 엑스트라 (Extras)

  • 복잡한 데이터를 인텐트에 전달하기 위한 키-값 쌍의 추가 정보입니다.
  • 예: intent.putExtra("extra_key", "value")에서 "extra_key"는 전달할 데이터의 키이며, "value"는 실제 값입니다.
  • 엑스트라를 통해 기본 타입부터 Serializable 객체까지 다양한 데이터를 전달할 수 있습니다.

액티비티 간의 데이터 전달

01.❓데이터 전달은 어떻게 될까?

  • 인텐트에 컴포넌트 실행을 요청할 때 데이터를 함께 전달하려면 엑스트라 데이터를 이용.
  • Extras를 활용하여 이름과 값의 쌍으로된 정보를 전달

02. 🔎Extras에 값을 저장하는 메소드

03. 🔎Extras에 저장된 값을 읽는 메소드

0개의 댓글