안드로이드

UMC 안드로이드 스터디 1주차

조쿼카 2022. 3. 14. 17:00

강의 출처 : 컴공선배

 

1주차 이론

안드로이드 developer 사이트 -> 최신 함수, 최신 기능 알 수 있음

kotlin -> 최근 안드로이드 개발 언어의 트렌드, 코드의 직관성 그리고 안전성 (null값에 대해 굉장히 안전하다)

 

View란?

- 화면을 구성하는 모든 구성 요소

Layout?

- 뷰 중 눈에 보이지 않는 것들

- 뷰를 담을 틀

-layout 안에 layout 가능 !

Widget?

- 뷰 중 눈에 보이는 것들

 

View의 속성

-id : 이름

-layout_width, layout_height : 크기 지정 (match_parent, wrap_content(내 크기 그대로 넣어주겠다), dp(device 크기에 따라 상대적임))

-margin, padding : margin은 view와 view사이의 간격, padding은 view내부에서 내용과 테두리 간의 간격

 

TextView?

text: 안에 글자 내용

textSize: 글씨 크기 sp(device마다 크기 맞춰줌)

textStyle: 글씨체

 

ImageView?

src: 어떤 이미지

scaleType: 크기 fitXY

 

LinearLayout

- 세로 단일 방향 or 가로 단일 방향

-가중치

 

RelativeLayout

- view끼리의 상대적 위치

 

ConstraintLayout

-constraint(제약) : 상하좌우에 걸 수 있음

- 제일 중요!!

 

FrameLayout

-여러개 view 겹칠 때 사용

 

TableLayout

-표 형태의 구조

 

GridLayout

-TableLayout의 단점을 보완한 Layout

 

 

 


new project 만들 때 Package name은 store에 출시할 때 사용되는 key값이다

 

manifests 파일 : app의 프로필 정보들 (앱 이름, component들 명시)

-> <activity>에 추가해야 작동한다!

-> <activity>태그 안에 <intent-filter> 넣어주어야 해당 activity가 앱을 키자마자 작동된다

 

component는 크게 4대 구성 요소로 이루어져 있다. [사용을 위해서는 manifests 파일에 선언해줘야 함!]

1. activity : 실제 화면

2. receiver : 단말기에서 발생하는 일을 알려줌 (배터리 부족, 전화 옴)

3. service : UI없이 app이 background로 갔을 때 실행시키고 싶은 것들

4. provider : 전화번호부 같은 다른 application data를 받아올 수 있게 해주는 구성 요소

 

res

drawable : 이미지 같은 resource들

layout : 화면

values - colors.xml / strings.xml : 사용되는 색, 글자 들 모아놓은 것 [ 협업할 때 변경하고 싶으면 한개씩 다 찾아야함 -> colors.xml파일에 한번에 모아놓으면 변경 한번에 가능]

build.gradle : 빌드와 관련된 환경설정

 


디자인 탭보다는 코드로 화면 구성하는 습관 들이기

 

constraint layout

layout_constraintBottom_toBottomOf

layout_constraintEnd_toStartOf

start - 왼쪽 / end - 오른쪽

서로에게 체인을 걸게 되면 동일한 비율로 간격이 저절로 조정된다.

 

 


  • marginEnd와 marginRight의 차이

언어별 특성 차이로 인해 발생하는 불편을 최소화하기 위해 left,right대신 start, end를 사용하자 !!

 

  • TableLayout과 GridLayout의 차이!!

TableLayout은 분할된 column을 통합할 수 있지만 row는 통합이 불가능하다. 이것을 가능하게 하는 것이 GridLayout이다.


워크북

  • drawable : 뷰를 둥글게 만드는 방법

1. 둥글게 만들어주는 xml을 따로 만든후 원하는 view의 background 속성으로 넣어준다.

2. CardView를 사용해서 cornerRadius를 적용시켜준다.

3. gradle에 추가해서 외부에서 만들어놓은 CircleImageView를 사용한다.

 

  • constraintLayout - chainstyle

CHAIN_SPREAD : 뷰들을 골고루 펼쳐 여백을 같게 한다 (기본값)

CHAIN_SPREAD_INSIDE : 위와 비슷하지만 가장 외곽의 뷰들은 부모 뷰와 여백 없이 펼쳐진다

CHAIN_PACKED : 뷰들이 똘똘 뭉치고, 부모 뷰로부터의 여백이 같다

  • ImageView
  • scaletype

center : 이미지의 중앙을 맞춘다. (이미지 크기 크면 잘림)

centerCrop : 이미지의 가로/세로 중 짧은 쪽을 꽉 차게 맞춰서 출력 (원본 이미지 비율 유지)

centerInside : 이미지의 가로/세로 중 긴 쪽을 꽉 차게 맞춰서 출력, 이미지의 크기가 유지 (원본 이미지 비율 유지)

fitCenter : 이미지의 가로/세로 중 긴 쪽을 꽉 차게 맞춰서 출력, imageview의 레이아웃 크기에 따라 변함 (원본 이미지 비율 유지)

fitStart : 레이아웃 왼쪽 상단 기준 정렬 (이미지 비율 유지)

fitEnd : 오른쪽 하단 기준 정렬 (이미지 비율 유지)

fitXY : 이미지 비율에 상관없이 레이아웃에 꽉 차게 출력 (이미지 비율 유지 X)

matrix : 이미지 원본 대로 왼쪽 상단 기준으로 출력 (이미지 원본 크기와 비율 유지)

 

  • src VS background

src : 이미지의 원래 크기대로 보임

background : 이미지의 사이즈를 고려하지 않고 imageview의 사이즈에 맞게 조정

  • 둥글게 만들기 -> 위의 view 둥글게 만드는 것과 동일

 

  • Appbar와 Statusbar 지우는 방법

app -> res -> values -> styles.xml파일에

<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>

추가하기

'안드로이드' 카테고리의 다른 글

UMC 안드로이드 스터디 4주차  (0) 2022.04.05
UMC 안드로이드 스터디 4주차  (0) 2022.04.04
Retrofit 공부  (1) 2022.03.30
UMC 안드로이드 스터디 3주차  (0) 2022.03.28
UMC 안드로이드 스터디 2주차  (0) 2022.03.22