6. 어떻게 동작하는지 봅시다
• Build.gradle : 라이브러리나 앱, sdk 버전을 관리함
• Run하면 제일 먼저 gradle이 먼저 빌드됨
• src
• 코드나 리소스(이미지, 문자열 등)이 포함된 경로
• Proguard-rules.pro
• 앱을 난독화
• AndroidManifest.xml
• 앱의 권한을 관리함
7. 로그캣(Logcat)
• 동작 중 Log 보기 위해서 Logcat를 사용함
• VS에서 콘솔창이라고 생각하면 됨(printf == log)
• Log의 종류(Priority Level)
• V : Verbose(다양한 정보를 출력하기 위한 Level)
• I : Info(각종 클래스, 변수의 정보나 상태를 출력하기 위한 Level)
• W : Warning(프로그램의 상태에 문제가 발생할 수 있는 Level)
• E : Error(치명적인 문제을 알리는 Level)
• D : Debug(문제 발생된 원인을 알려주는 로그 Level)
8. 액티비티(Activity)
• 안드로이드 화면 구성 요소
• Androidmanfest.xml에 등록이 되어야 사용가능
• Res – layout에서 xml형식으로 관리함
• 단순 이미지(jpg, png)는 drawable에서 관리함
• 아이콘 이미지는 mipmap에서 관리(해상도 별로)
9. 화면크기와 해상도
• 스마트폰은 다양한 화면 크기를 가짐
• Ex – 5.6인치, 6인치, 7인치, 4인치…..
• 마찬가지로 다양한 해상도를 가짐
• Ex – hdpi, xxdpi, xxxdpi
• https://material.io/devices/
• 그럼 어떻게 하나??
10. DPI(dots per inch)
• 인치당 도트를 몇 개를 가지는지에 대한 단위
• 100DPI = 1인치에 100개의 점이 있다.
• 높을수록 선명해짐
11. 현업에서 실제 화면 구성법(가이드)
• 화면구성은
픽셀로하고
해상도, 화면크기 별로
dp값으로 변경
• 이렇게 해도
잘 안 맞기 때문에
개발자와 디자이너가
많이 싸웁니다…
12. 현업에서 실제 화면 구성법(프로젝트)
• 이미지별로 정리하고
• 해상도 별로 dp값을 관리
13. 우리도 할 수 있을까….?
• 이 모든 경우의 수를 커버할 수 있다면 해보세요….
• 일반적으로 dp값을 바꾸기보단
해상도별로 이미지를 새로 만듭니다.
15. 인덴트(Intent)
• 컴포넌트(서비스, 액티비티 등) 간의 커뮤니케이션을 위한 요소
• 액티비티A -> 액티비티B를 호출하려면 아래와 같이 호출
startActivity(new Intent(Aactivity.this, Bactivity.class))
= 명시적 인덴트
• 액티비티A를 무족건 앱 실행할때 처음으로 호출하라
= 암시적 인덴트