[모바일컴퓨팅] 2주차 정리

J·2022년 3월 31일
1

School

목록 보기
2/3

모바일컴퓨팅 2주

<1강>

강의 개요

  1. 시작 화면과 업데이트 여부 확인

  2. 프로젝트 생성

  3. 코드 편집기

  4. 디자이너 도구

  5. 시작화면 하단의 링크를 이용해 업데이트 여부 확인.

  6. 새로운 프로젝트 생성 : Test라는 이름의 새로운 프로젝트 생성 -> 프로젝트 명의 첫글자는 무조건 대문자로.
    초기 Activity는 Empty Activity를 사용한다.

  7. 프로젝트 창의 구성과 기능 : 프로젝트 영역과 작업 영역.
    res 폴더 안에 resource 파일이 들어있다.
    res - drawable, layout - UI(디자인), mipmap, values - value(xml)
    xml 파일은 집, java 파일은 집 안의 물건.

  8. 테마 변경하기 : 어두운 테마로 변경하고 싶은 경우.
    보통 어두운 테마를 많이 쓰지만, 요즘 하얀 테마를 쓰기도 한다.

  9. 코드 편집기 : 코드에서 발생한 에러 표시.

  10. 파일 변경사항 반영 : Gradle을 빌드 도구로 사용하며, [Tools>Android>Sync...] 메뉴를 누르면 파일 변경사항 반영하고 재빌드

  11. 코드 편집기 : 클래스 또는 메소드의 문서 참조 (Ctrl + Q)

  12. 코드 편집기 : 후보 클래스와 파라미터의 자동 표시 (Ctrl + P)

  13. 코드 편집기 : 부모 클래스의 메소드 재정의 -> Generate -> Override Methods

  14. 코드 편집기 : 파일의 내용 검색 - Find in Path

  15. 디자이너 도구 : Design 아이콘과 Code 아이콘

  16. 디자이너 도구 : 팔레트에서 위젯 끌어다 놓기와 위젯의 속성 설정하기

싱크는 File - Sync Project with Gradle Files 로 맞춰주면 된다.

<2강 : 뷰와 뷰의 크기 속성 이해하기>

강의 개요

  1. 뷰와 뷰 그룹의 정의
  2. 레이아웃 안에 레이아웃 포함 시키기
  3. XML 레이아웃 구성
  4. 크기 지정 방법

1. 뷰와 뷰 그룹의 정의


1) 뷰(View)

  • 화면에 보이는 각각의 것들(버튼, 텍스트 등등)
  • 흔히 컨트롤(Control)이나 위젯(Widget)이라 불리는 UI 구성 요소
    2) 뷰 그룹(View Group)
  • 뷰들을 여러 개 포함하고 있는 것
  • 뷰 그룹도 뷰에서 상속하여 뷰가 됨. 위의 뷰는 버튼, 텍스트 뿐만 아니라 이것들을 포함하는 눈에 보이지 않는 영역을 포함함.
    3) 위젯(Widget) -> view의 일종.
  • 뷰 중에서 일반적인 컨트롤의 역할을 하고 있는 것.
  • 버튼, 텍스트 등등
    4) 레이아웃(Layout) -> 웹에서 div와 같다.
  • 뷰 그룹 중에서 내부에 뷰들을 포함하고 있으면서 그것들을 배치하는 역할을 하는 것

2. 레이아웃 안에 레이아웃 포함시키기.

  • 레이아웃도 뷰이기 때문에 레이아웃 안에 레이아웃을 포함시킬 수 있음.

3. 상속에 대해 잘 몰라요!


1) 상속

  • 객체지향의 가장 기본적인 개념 중 하나.
  • 부모의 특성을 그대로 물려받는 것으로 변수나 메소드 재사용 가능
    2) 액티비티의 상속
  • 처음 만들어 본 액티비티에서 extends 키워드 사용
    3) 부모 클래스의 메소드를 재정의
  • onCreate() 메소드는 이미 부모클래승 정의되어 있음ㅁ.
  • 기능을 추가하고 싶을 대 재정의(Override)
    4) this와 super
  • 나 자신은 this, 부모는 super를 사용하자.
    super.onCreate(...);

4. XML 레이아웃의 구성


  • 뷰 태그와 속성으로 구성됨.

5. XML 레이아웃의 구성

[필수] layout_width, layout_height

  • 가장 기본적이면서 필수 속성으로 뷰의 폭과 높이를 설정함
    (1) match_parent : 뷰그룹에 남아 있는 여유 공간을 채움
    (2) wrap_content : 뷰에 들어 잇는 내용물의 크기에 따라 뷰의 크기가 결정됨
    (3) 크기 값 지정 : 크기를 고정된 값으로 직접 지정하고 싶을 때 사용함 ex) "100px", "200dp"

6. 최상위 레이아웃을 다른 것으로 변경한 경우

  • match_parent와 wrap_content 적용 상태를 확실하게 구분할 수 있음

7. 실습

<3강 : 레이아웃 기초 익히기>

강의 개요

  1. 연결선을 만드는 제약 조건
  2. 연결선 생성
  3. 바이어스 사용하기
  4. 가이드 라인 사용하기
  5. 뷰의 크기 지정에 사용되는 단위

1. 연결선을 만드는 제약조건


1) 뷰의 위 아래, 왼쪽, 오른쪽의 연결점을 부모 레이아웃의 벽면과 연결하면 제약조건 생성
2) 같은 레이아웃 안에 들어있는 다른 뷰와 연결 가능.
3) 연결점을 연결할 수 있는 타깃

  • 같은 레이아웃 안에 들어 잇는 다른 뷰의 연결점
  • 부모 레이아웃의 연결점
  • 가이드라인(Guidline)

2. 새로운 프로젝트 생성

1) SampleConstraintLayout 이라는 이름으로 새로운 프로젝트 생성
2) 화면 왼쪽 윗부분에 버튼 추가

3. 연결선 생성

1) 왼쪽과 위쪽에 있는 연결점을 부모 레이아웃의 벽면과 연결

4. 버튼 하나 더 추가하고 연결선 생성

1) 버튼 추가 후 부모 레이아웃 및 기존 버튼과 연결선 생성

5. 화면 가운데에 뷰 배치하기

1) 버튼 추가 후 위, 아래, 왼쪽, 오른쪽 모두 부모 레이아웃과 연결선 생성
2) 좌우 도는 위, 아래를 쌍으로 연결하면 그 가운데에 배치됨.

6. 바이어스 사용하기

1) 양쪽 또는 상하로 연결된 경우 오른쪽 제약조건 미리보기 창에서 바이어스(Bias)를 이용해 위치 조정 가능
2) 모서리에 있는 핸들(Handle)을 이용해 뷰의 크기 조정 가능

7. 뷰가 차지할 수 있는 여유 공간


1) 부모 레이아웃 안에서 뷰가 차지할 수 있는 여유공간은 레이아웃에 의해 결정됨.

8. 가이드라인 사용하기

1) 일정 기준선으로 뷰를 정렬할 때나 기준선에 맞추어 추가할 때 사용됨

9. XML 코드의 접두어 의미

1) XML 레이아웃 코드에서 접두어가 가지는 의미가 있음.
(1) xmlns:android 안드로이드 기본 SDK에 포함되어 있는 속성을 사용합니다.
(2) xmlns:app 프로젝트에서 사용하는 외부 라이브러리에 포함되어 있는 속성을 사용합니다.
(3) xmlns:tools 안드로이드 스튜디오의 디자이너 도구 등에서 화면에 보여줄 때 사용합니다.
이 속성은 앱이 실행될 때는 적용되지 않고 안드로이드 스튜디오에서만 적용됩니다.

10. 연결선이 만들어내는 XML 속성의 형식


1) 일정한 규칙으로 만들어짐.
layoutconstraint[소스 뷰의 연결점][타깃 뷰의 연결점]="[타깃 뷰의 id]"

11. 뷰의 크기 지정에 사용되는 단위

1) px : 픽셀 - 화면 픽셀
2) dp 또는 dip : 밀도 독립적 픽셀(density independent pixel) - 160dpi 화면을 기준으로 한 픽셀. (예 - 1인치 당 160개의 점이 있는 디스플레이 화면에서 1dp는 1px과 같음. 1인치 당 320개의 점이 있는 디스플레이 화면에서 1dp는 2px과 같음.)
3) sp 또는 sip : 축척 독립적 픽셀(scale independent pixel) - 가변 글골을 기준으로 한 픽셀로 dp와 유사하나 글꼴의 설정에 따라 달라짐.
4) in : 인치 - 1인치로 된 물리적 길이
5) mm : 밀리미터 - 1밀리미터로 된 물리적 길이
6) em : 텍스트 크기 - 글꼴과 상관없이 동일한 텍스트 크기 표시

<학습평가>

  1. 안드로이드는 Maven을 빌드 도구로 사용한다 (x) -> 안드로이드는 Gradle을 빌드 도구로 사용한다.
  2. 안드로이드는 팔레트에서 위젯을 끌어다 쓸 수 있다. (O)
  3. 뷰들을 여러 개 포함하고 있는 것을 뷰 그룹이라 한다. (O)

0개의 댓글