오늘 할일
⏲️ 공부시간 09 : 10 ~ 09 : 55
오늘은 풀다가 10시에 발제 들으러가야해서 그냥 구글링으로 참고해서 풀다가 맘..ㅜ
찝찝한데 다시 보고싶지않음 ㅋ 나중에 다시 봐야징~
⏲️ 공부시간
12 : 00 ~ 13 : 00
14 : 20 ~ 17 : 00
17 : 05 ~ 18 : 40
왕 드디어 에디쌤 강의다
안드로이드 란?
휴대전화를 비롯한 휴대용 장치를 위한 운영체제, 미들웨어, 사용자 인터페이스, 표준 응용프로그램을 포함하고있는 모바일 운영체제이자 모바일 플랫폼
장점 :
무료임
포팅이 쉽다.
UI 개발이 편함
모바일 운영체제 (Operating System)
시스템 하드웨어를 관리하고 응용 소프트웨어를 실행하기 위해 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공하는 시스템 소프트웨어
모바일 플랫폼
특정 장치나 시스템 등에서 일을 구성하는 기초가되는 틀, 골격
모바일 운영체제 + 애플리케이션 프레임워크 = 모바일 플랫폼
안드로이드 OS의 특징
에코시스템 : 이통사, 단말기제조사, 앱개발자가 같이 이득볼수있당
안드로이드 스튜디오 탐험
툴바
Resource Manager : 프로젝트에서 사용하는 모든 리소스를 한번에 확인할 수 있는 탭
Project : 현재 파일 구조를 확인 할 수 있는 탭
Bookmark : F3 버튼 눌러서 북마크 표시할 수있고 Ctrl + F3 눌러서 북마크 선택해서 이동가능
Build Variants : 앱을 빌드할때의 타입을 지정할 수 있는 탭
structure : 코틀린파일의 함수, 변수명들을 한눈에 볼 수 있음
Version Control : Git 연결해놓으면
Run : 실행시 메세지
Profiler : 앱을 분석하기 위한 용도 (CPU, 메모리 사용량 등)
LogCat: 로그 확인하면서 디버깅하기 위한 용도
Build : 빌드 에러나면 확인하면 된다.
TODO : 개발 하다가 할일 리스트
Problems : 에러 난 부분 표시
Terminal : 터미널
App Inspection : 데이터 베이스를 열어볼 때 사용
DeviceFileExplorer : 에뮬레이터의 파일 탐색기
Gradle : gradle 관련..
Notification :알림
단축키
Ctrl + D :한줄 복사
Ctrl + / : 주석처리
Ctrl + p : 바로 이전에 보던 코드 줄로 이동
앱 구성 파일 분석
build.gradle : 빌드를 하기위한 설정 파일
프로젝트 단위 , 앱 단위 그래들 설정하는 파일이 있당.
AndroidManifest : 앱의 기본 특징을 설명하고, 앱의 구성요소인 컴포넌트를 정의하는 파일
앱의 아이콘, 앱 이름, 액티비티 컴포넌트 이름 등을 여기에서 설정해줌~
res : drawable, layout, minmap, values 등
axtivity_main.xml
MainActivity
compileSdkVersion → 컴파일 시에 사용할 SDK 버전
minSdkVersion → 앱이 지원하는 최소 API버전
targetSdkVersion → 앱을 테스트하기 위해 사용할 API 버전
versionCode → 앱 버전
dependencies → 다른 라이브러리 쓸때 추가해주는 부분
UI란?
User Interface
UI를 구성하는 기본 단위는 View고
View 에는 위젯(widget)과 레이아웃(Layout)이 있다.
View 클래스는 모든 UI 컴포넌트들의 부모 클래스이다.
View 클래스의 속성은 모든 UI 컴포넌트들에서 공통적으로 사용할 수 있다.
View 중에서 화면에 보이는 것들
dp(density-independent pixels) :
1dp == 밀도가 160dpi 의 화면일 때 1px
스크린의 실제단위는 px 이고 px은 절대적인 단위지만,
dp는 밀도, 독립화소를 말한다.
폰마다 화면크기, 해상도가 다르기 때문에 해상도 처리를 위해
dpi(hdpi, mdpi, xhdpi, xxhdpi, xxxhdpi) 별로 5개씩 이미지를 준비해서 제작함
9-patch 이미지라는 방식? 으로 버튼을 제작해서 해상도에따라 늘어날 때 이미지가 유지될 부분과 늘어나도 되는 부분을 따로 지정해서 만들기도 함
이미지 파일명 주의할 점
ScaleType 속성을 설정해서 조절!
fun doAction(v: View) {
Toast.makeText(applicationContext, "Submitted Successfully", Toast.LENGTH_SHORT).show()
}
버튼 클릭 이벤트 처리하는 부분에서
맨날 setOnClickListener만 써보다가 이렇게 처음 써봤는데
예시에는

이렇게 getApplicationContext() 이렇게 나와있었는데 저렇게 하니까 오류남..ㅜ
근데 오류메세지 보고 저렇게 고쳐봤더니 갑자기 됐음!
다 만든 화면

레이아웃이란?
뷰를 정렬하는 기능을 가진 ViewGruop의 파생 클래스
레이아웃의 종류
스타일 : View의 모양, 형식 등을 지정하는 속성의 모음
높이, 패딩, 글꼴색상, 배경색 등의 속성을 지정할 수 있다.
별개의 xml 파일로 정의함
res/values/styles.xml 에 추가
테마 : 개별 뷰 말고 전체 Activity나 애플리케이션에 적용하는 스타일

버튼이 근데 나는 둥글어버림~ ㅎㅋ

아근데 색깔을 안 넣었당

배경 색 넣어줌!
이렇게 3주차 강의까지 다 들었당~~
실습이 껴있어서 생각보다 오래걸린듯!?
그래도 레이아웃은 내가 따로 공부하고있기도 했어서 거의? 아는 내용들이라서 쉽게 했당~
가장 어려운건 강의 보면서 딴생각 안하기였음
화면을 구성하는 가장 기본적인 UI
모든 Activity는 Android Manifest 파일에 등록되어야함
일종의 메시지 객체로 다른앱 구성요소로 작업을 요청 할 수있다.
명시적 인텐트(Explicit Intent)
암시적 인텐트(Implicit Intent)
컴포넌트 이름(ComponentName) (명시적 인텐트일때)
인텐트를 처리하는 타겟 컴포넌트 이름
작업 (Action)
수행되어야할 작업을 나타내는 문자열
데이터 (Data)
작업에 필요한 데이터(URI형식)
카테고리(Category)
작업에 대한 추가적인 정보 제공
엑스트라(Exctra)
요청한 작업을 수행하기 위해 필요한 추가 정보를 담고있는 키-값 쌍의 데이터