본문 바로가기

대외활동/UMC

[UMC 2기] Android 파트 1주차 정리

매주 블로그에 기록할려고 하다가 당시에 너무 바쁘고 정신이 없어서 이제서야 배운 것들을 정리하려고 한다.

UMC란?

우선 UMC(University Make us Challange)에 대해 설명하자면 UMC는 전국의 학교에 IT관련 학과 학생들을 대상으로 앱런칭을 할 수 있는 동아리이다. 앱런칭을 하기에는 경험과 실력은 조금 부족할지 몰라도 앱을 런칭하고 싶은 열정과 끈기가 충만한 대학생들이 모인 동아리라고 할 수 있다. 총 6개월 동안 진행되며 4개월은 유튜버 컴공선배에서 제공되는 중앙교육, 2개월은 앱 런칭 프로젝트로 계획이 되어있다.

 

UMC에서 동아리원들은 Web, node js(server), spring(server), Android, iOS 중에 한 가지 커리큘럼을 선택할 수 있다. 나는 Android를 선택했다. 그 이유는 App native를 제외하고는 모두 다 경험해 본 것이라서 새로운 것을 배우고 싶었다. Android와 iOS중에서 고민하다가 내 스마트폰 OS도 Android이기도 하고 배포할 때 비교적 경제적인 것도 Android라고 알고 있어서 Android를 선택했다.

 

https://makeus-challenge.oopy.io/umc

 

University MakeUs Challenge [UMC]

Main.mp4

makeus-challenge.oopy.io

 

복습 및 정리

View

화면을 구성하는 모든 기본 화면의 구성요소

View의 기본속성

- id : View의 식별자 속성

- layout_width : View의 너비를 지정

- layout_height : View의 높이를 지정

 

크기를 지정할 때 match_parent, wrap_content 또는 dp단위를 사용하는 것이 좋다.

match_parent : 부모가 가지는 길이에 맞게 설정

wrap_content : 해당 view가 그려질 수 있게 필요한 길이만 설정

 

Layout

View 중에 눈에 보이지 않는 것들, view를 담을 틀

++ widget : View 중에 눈에 보이는 것

대표적인 6가지 Layout

  • Linear Layout : 세로 또는 가로의 단일 방향으로 모든 요소를 정렬하는 Layout
  • Relative Layout : View끼리의 상대적 위치로 배치를 적용하는 Layout
  • Constraint Layout : LinearLayout이 가진 가중치의 장점과 RelativeLayout이 가진 상대적 위치 관계에 따른 배치를 활용할 수 있는 Layout, 안드로이드 스튜디오에서 기본으로 설정되어 있는 Layout, 가장 많이 사용
  • Table Layout : 행과 열로 이루어진 표 형태의 구조를 가진 Layout
  • Grid Layout : Table Layout의 단점을 보완한 Layout
  • Frame Layout : 여러 개의 View를 중첩으로 배치하고 그 중 하나를 Layout의 전면에 표시할 때 사용하는 Layout

Constraint Layout

app:layout_constraint{Postion1}_to{Postion2}Of={"@id/View"};

Position1, Position2에는 Left, Right, Start, End, Top, Bottom 이 들어온다.

 

++ left와 start, right와 end의 차이점

left와 right는 말 그대로 왼쪽과 오른쪽을 의미한다. 그러나 start와 end는 문화에 따라 다르게 나타난다. 우리나라 같은 경우는 왼쪽 정렬 문화이기 때문에 left=start, right=end이다. 그러나 오른쪽 정렬 문화의 경우 left=end, right=start이다. start와 end는 이러한 문화적 차이를 배려해서 만들어진 것이라고 볼 수 있다.

 

chain : 양방향 관계로 그룹화된 두 개 이상의 View

 

chainstyle

spread (default)

spread_inside

packed

 

Manifest

Android 앱의 4대 구성요소

  • <activity></activity>사용자와 상호작용하기 위한 진입점, 실제 화면을 뜻한다
  • <receiver></receiver>시스템이 정기적인 사용자 플로우 밖에서 이벤트를 앱에 전달하도록 지원하는 구성 요소, 단말기에서 발행하는 일을 처리할 때 사용 ex) 배터리 부족, 전화 알림
  • <service></service>여러 가지 이유로 백그라운드에서 앱을 계속 실행하기 위한 다목적 진입점, 앱이 백그라운드에서 실행할 것들을 처리할 때 사용
  • <provider></provider>파일 시스템, SQLite 데이터베이스, 웹상이나 앱이 액세스할 수 있는 다른 모든 영구 저장 위치에 저장 가능한 앱 데이터의 공유형 집합을 관리, 다른 어플리케이션의 데이터를 처리할 때 사용

 

참조

https://hjiee.tistory.com/entry/Android-Constraint-Layout-ChainStyle-%EC%A0%95%EB%B3%B5%ED%95%98%EA%B8%B0

https://dmsg.tistory.com/entry/Android-Layout-Start-End-Left-Right-%EC%B0%A8%EC%9D%B4%EC%A0%90

https://constraintlayout.com/basics/create_chains.html

https://developer.android.com/guide/components/fundamentals