SlideShare a Scribd company logo
1 of 25
모바일 해커톤
사전 교육 2일차
- ZeroPage 24기 김한성 -
예제 코드를 받자
• Git을 다운받자
• https://git-scm.com/
• 잘 설치했다면 cmd창에서 git을 입력하면 아래와 같이 나옴
코드를 받아오자
• Cmd창에서 붙여넣기는 마우스 우클릭
• 코드가 있는 폴더 경로는 아래 빨간색으로 되어진 곳
받아온 경로로 가면……
• 폴더 하나가 생긴다.
• 안드로이드 스튜디오를 열어서 해당 폴더를 열면 끝
• 꼭 Pre_training 폴더를 열어야함
USB 연결해서 Run해봅시다
• 성공하면 이렇게 나옵니다
어떻게 동작하는지 봅시다
• Build.gradle : 라이브러리나 앱, sdk 버전을 관리함
• Run하면 제일 먼저 gradle이 먼저 빌드됨
• src
• 코드나 리소스(이미지, 문자열 등)이 포함된 경로
• Proguard-rules.pro
• 앱을 난독화
• AndroidManifest.xml
• 앱의 권한을 관리함
로그캣(Logcat)
• 동작 중 Log 보기 위해서 Logcat를 사용함
• VS에서 콘솔창이라고 생각하면 됨(printf == log)
• Log의 종류(Priority Level)
• V : Verbose(다양한 정보를 출력하기 위한 Level)
• I : Info(각종 클래스, 변수의 정보나 상태를 출력하기 위한 Level)
• W : Warning(프로그램의 상태에 문제가 발생할 수 있는 Level)
• E : Error(치명적인 문제을 알리는 Level)
• D : Debug(문제 발생된 원인을 알려주는 로그 Level)
액티비티(Activity)
• 안드로이드 화면 구성 요소
• Androidmanfest.xml에 등록이 되어야 사용가능
• Res – layout에서 xml형식으로 관리함
• 단순 이미지(jpg, png)는 drawable에서 관리함
• 아이콘 이미지는 mipmap에서 관리(해상도 별로)
화면크기와 해상도
• 스마트폰은 다양한 화면 크기를 가짐
• Ex – 5.6인치, 6인치, 7인치, 4인치…..
• 마찬가지로 다양한 해상도를 가짐
• Ex – hdpi, xxdpi, xxxdpi
• https://material.io/devices/
• 그럼 어떻게 하나??
DPI(dots per inch)
• 인치당 도트를 몇 개를 가지는지에 대한 단위
• 100DPI = 1인치에 100개의 점이 있다.
• 높을수록 선명해짐
현업에서 실제 화면 구성법(가이드)
• 화면구성은
픽셀로하고
해상도, 화면크기 별로
dp값으로 변경
• 이렇게 해도
잘 안 맞기 때문에
개발자와 디자이너가
많이 싸웁니다…
현업에서 실제 화면 구성법(프로젝트)
• 이미지별로 정리하고
• 해상도 별로 dp값을 관리
우리도 할 수 있을까….?
• 이 모든 경우의 수를 커버할 수 있다면 해보세요….
• 일반적으로 dp값을 바꾸기보단
해상도별로 이미지를 새로 만듭니다.
액티비티의
생명주기
맨 첫 화면인
Splash에서 확인해봅시다.
+화면이 꺼질 때마다 count를 1씩
증가시켜봅시다
인덴트(Intent)
• 컴포넌트(서비스, 액티비티 등) 간의 커뮤니케이션을 위한 요소
• 액티비티A -> 액티비티B를 호출하려면 아래와 같이 호출
startActivity(new Intent(Aactivity.this, Bactivity.class))
= 명시적 인덴트
• 액티비티A를 무족건 앱 실행할때 처음으로 호출하라
= 암시적 인덴트
터치(클릭)으로 액티비티를 호출해보자!
찰지게 때려서 점수를 올려보자!
그리고 기록도 기록해보자!
터치에도 종류가 있다???
• 누르는 순간 = ACTION_DOWN
• 누르고 이동(Drag) = ACTION_MOVE
• 손을 떼는 순간 = ACTION_UP
Layout 종류 - LinearLayout
• 가로 또는 세로로
순차적으로 나열되는 레이아웃
Layout 종류 – RelativeLayout
• 위치를 지정하지 않으면 0, 0에 쌓임
• 이름 그대로
뷰의 상대적인 위치를 지정할 수 있음
Layout 종류 – FrameLayout
• 같은 자리에 뷰를 겹치도록 놓고
여러가지 옵션을 통해서
원하는 뷰만 선택해서 보여줄 수 있다.
Layout 종류 – TableLayout
• 뷰들을 행과 열로 구성하여 표시함
Layout 종류 - List View
• 같은 layout을 List 형식으로 보여줌
• 비슷한 방식인 layout으로 gridview, viewpager가 있음
동작방식
List view
Adapter
(array adapter)
Data List
(arraylist)
기록
notifyDataSetChanged
View에
적용
+삭제도 해봅시다!
다이얼로그(Dialog)
• 새로운 창
• 경고, 확인, 입력 방지 등 용도가 다양함
토스트 팝업
• 잠깐동안 보여줘야하는 일회성
문구를 표시할 때 사용

More Related Content

Viewers also liked

البث المباشر في الإعلام الجديد ٢٠١٦
البث المباشر في الإعلام الجديد ٢٠١٦البث المباشر في الإعلام الجديد ٢٠١٦
البث المباشر في الإعلام الجديد ٢٠١٦Charity Innovation
 
London 2012 (Ed. Fisica)
London 2012 (Ed. Fisica)London 2012 (Ed. Fisica)
London 2012 (Ed. Fisica)GCrueR
 
آفاق التعليم المفتوح في عالمنا
آفاق التعليم المفتوح في عالمنا آفاق التعليم المفتوح في عالمنا
آفاق التعليم المفتوح في عالمنا Charity Innovation
 
Agência do Trabalho oferece 396 vagas para esta sexta-feira (4)
Agência do Trabalho oferece 396 vagas para esta sexta-feira (4)Agência do Trabalho oferece 396 vagas para esta sexta-feira (4)
Agência do Trabalho oferece 396 vagas para esta sexta-feira (4)TVJornal
 
Quadro de vagas_03_11_2016
Quadro de vagas_03_11_2016Quadro de vagas_03_11_2016
Quadro de vagas_03_11_2016TVJornal
 
تحويل العادات اليومية إلى أعمال خيرية - تطبيقات الوسائط الذكية
تحويل العادات اليومية إلى أعمال خيرية - تطبيقات الوسائط الذكيةتحويل العادات اليومية إلى أعمال خيرية - تطبيقات الوسائط الذكية
تحويل العادات اليومية إلى أعمال خيرية - تطبيقات الوسائط الذكيةCharity Innovation
 
Silverstone Auctions The NEC Classic Motor Show Sale 12th to 13th November 2016
Silverstone Auctions The NEC Classic Motor Show Sale 12th to 13th November 2016Silverstone Auctions The NEC Classic Motor Show Sale 12th to 13th November 2016
Silverstone Auctions The NEC Classic Motor Show Sale 12th to 13th November 2016Silverstone Auctions
 
Fotografías de Jason Hawkes
Fotografías de Jason HawkesFotografías de Jason Hawkes
Fotografías de Jason Hawkesadriguez
 
¡ Gerente GUNG HO ! A la carga
¡ Gerente GUNG HO ! A la carga¡ Gerente GUNG HO ! A la carga
¡ Gerente GUNG HO ! A la cargaRodolfo Suarez
 
Analisis Poster Bulsyt
Analisis  Poster BulsytAnalisis  Poster Bulsyt
Analisis Poster BulsytFitri ani
 
Memética pode definir preferências do consumidor
Memética pode definir preferências do consumidorMemética pode definir preferências do consumidor
Memética pode definir preferências do consumidorJosé Chavaglia Neto
 

Viewers also liked (17)

البث المباشر في الإعلام الجديد ٢٠١٦
البث المباشر في الإعلام الجديد ٢٠١٦البث المباشر في الإعلام الجديد ٢٠١٦
البث المباشر في الإعلام الجديد ٢٠١٦
 
London 2012 (Ed. Fisica)
London 2012 (Ed. Fisica)London 2012 (Ed. Fisica)
London 2012 (Ed. Fisica)
 
آفاق التعليم المفتوح في عالمنا
آفاق التعليم المفتوح في عالمنا آفاق التعليم المفتوح في عالمنا
آفاق التعليم المفتوح في عالمنا
 
Agência do Trabalho oferece 396 vagas para esta sexta-feira (4)
Agência do Trabalho oferece 396 vagas para esta sexta-feira (4)Agência do Trabalho oferece 396 vagas para esta sexta-feira (4)
Agência do Trabalho oferece 396 vagas para esta sexta-feira (4)
 
Catalogo
CatalogoCatalogo
Catalogo
 
Quadro de vagas_03_11_2016
Quadro de vagas_03_11_2016Quadro de vagas_03_11_2016
Quadro de vagas_03_11_2016
 
Catalogo PEPE VENTAS
Catalogo PEPE VENTASCatalogo PEPE VENTAS
Catalogo PEPE VENTAS
 
تحويل العادات اليومية إلى أعمال خيرية - تطبيقات الوسائط الذكية
تحويل العادات اليومية إلى أعمال خيرية - تطبيقات الوسائط الذكيةتحويل العادات اليومية إلى أعمال خيرية - تطبيقات الوسائط الذكية
تحويل العادات اليومية إلى أعمال خيرية - تطبيقات الوسائط الذكية
 
arquitectura urbana
arquitectura urbanaarquitectura urbana
arquitectura urbana
 
Silverstone Auctions The NEC Classic Motor Show Sale 12th to 13th November 2016
Silverstone Auctions The NEC Classic Motor Show Sale 12th to 13th November 2016Silverstone Auctions The NEC Classic Motor Show Sale 12th to 13th November 2016
Silverstone Auctions The NEC Classic Motor Show Sale 12th to 13th November 2016
 
Fotografías de Jason Hawkes
Fotografías de Jason HawkesFotografías de Jason Hawkes
Fotografías de Jason Hawkes
 
¡ Gerente GUNG HO ! A la carga
¡ Gerente GUNG HO ! A la carga¡ Gerente GUNG HO ! A la carga
¡ Gerente GUNG HO ! A la carga
 
To make the buzz Hublot is going with the New York Giants
To make the buzz Hublot is going with the New York GiantsTo make the buzz Hublot is going with the New York Giants
To make the buzz Hublot is going with the New York Giants
 
Silicio
SilicioSilicio
Silicio
 
Analisis Poster Bulsyt
Analisis  Poster BulsytAnalisis  Poster Bulsyt
Analisis Poster Bulsyt
 
Regal de la cadena
Regal de la cadenaRegal de la cadena
Regal de la cadena
 
Memética pode definir preferências do consumidor
Memética pode definir preferências do consumidorMemética pode definir preferências do consumidor
Memética pode definir preferências do consumidor
 

Similar to 모바일 해커톤 사전교육 2일차

온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기Seungjae Lee
 
청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기Chris Ohk
 
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템강 민우
 
GDB와 strace로 Hang 걸린 Python Process 원격 디버깅
GDB와 strace로 Hang 걸린 Python Process 원격 디버깅GDB와 strace로 Hang 걸린 Python Process 원격 디버깅
GDB와 strace로 Hang 걸린 Python Process 원격 디버깅Youngmin Koo
 
도메인주도설계
도메인주도설계도메인주도설계
도메인주도설계Wonjun Hwang
 
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...Kay Kim
 
OpenJigWare(V02.00.04)
OpenJigWare(V02.00.04)OpenJigWare(V02.00.04)
OpenJigWare(V02.00.04)Jinwook On
 
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템Young Soo Kim
 
[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발
[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발
[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발동현 김
 
[Kerference] 쉽고 빠르게 시작하는 Volatility plugin 개발 - 김동현(BoB)
[Kerference] 쉽고 빠르게 시작하는 Volatility plugin 개발 - 김동현(BoB)[Kerference] 쉽고 빠르게 시작하는 Volatility plugin 개발 - 김동현(BoB)
[Kerference] 쉽고 빠르게 시작하는 Volatility plugin 개발 - 김동현(BoB)NAVER D2
 
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)Dong Chan Shin
 
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...hoondong kim
 
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기Jaeseung Ha
 
Advanced nGrinder
Advanced nGrinderAdvanced nGrinder
Advanced nGrinderJunHo Yoon
 
[0618구경원]초보 게임프로그래머를 위한 c++
[0618구경원]초보 게임프로그래머를 위한 c++[0618구경원]초보 게임프로그래머를 위한 c++
[0618구경원]초보 게임프로그래머를 위한 c++KyeongWon Koo
 
카사 공개세미나1회 W.E.L.C.
카사 공개세미나1회  W.E.L.C.카사 공개세미나1회  W.E.L.C.
카사 공개세미나1회 W.E.L.C.Ryan Park
 
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기Sumin Byeon
 
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012devCAT Studio, NEXON
 
온라인 게임에서 사례로 살펴보는 디버깅 in NDC2010
온라인 게임에서 사례로 살펴보는 디버깅 in NDC2010온라인 게임에서 사례로 살펴보는 디버깅 in NDC2010
온라인 게임에서 사례로 살펴보는 디버깅 in NDC2010Ryan Park
 

Similar to 모바일 해커톤 사전교육 2일차 (20)

온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기
 
청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기
 
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
 
GDB와 strace로 Hang 걸린 Python Process 원격 디버깅
GDB와 strace로 Hang 걸린 Python Process 원격 디버깅GDB와 strace로 Hang 걸린 Python Process 원격 디버깅
GDB와 strace로 Hang 걸린 Python Process 원격 디버깅
 
도메인주도설계
도메인주도설계도메인주도설계
도메인주도설계
 
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
 
OpenJigWare(V02.00.04)
OpenJigWare(V02.00.04)OpenJigWare(V02.00.04)
OpenJigWare(V02.00.04)
 
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
 
[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발
[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발
[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발
 
[Kerference] 쉽고 빠르게 시작하는 Volatility plugin 개발 - 김동현(BoB)
[Kerference] 쉽고 빠르게 시작하는 Volatility plugin 개발 - 김동현(BoB)[Kerference] 쉽고 빠르게 시작하는 Volatility plugin 개발 - 김동현(BoB)
[Kerference] 쉽고 빠르게 시작하는 Volatility plugin 개발 - 김동현(BoB)
 
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
 
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
 
Work With Engineer
Work With EngineerWork With Engineer
Work With Engineer
 
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
 
Advanced nGrinder
Advanced nGrinderAdvanced nGrinder
Advanced nGrinder
 
[0618구경원]초보 게임프로그래머를 위한 c++
[0618구경원]초보 게임프로그래머를 위한 c++[0618구경원]초보 게임프로그래머를 위한 c++
[0618구경원]초보 게임프로그래머를 위한 c++
 
카사 공개세미나1회 W.E.L.C.
카사 공개세미나1회  W.E.L.C.카사 공개세미나1회  W.E.L.C.
카사 공개세미나1회 W.E.L.C.
 
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
 
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
 
온라인 게임에서 사례로 살펴보는 디버깅 in NDC2010
온라인 게임에서 사례로 살펴보는 디버깅 in NDC2010온라인 게임에서 사례로 살펴보는 디버깅 in NDC2010
온라인 게임에서 사례로 살펴보는 디버깅 in NDC2010
 

More from Han Sung Kim

파이썬 스터디 2주차
파이썬 스터디 2주차파이썬 스터디 2주차
파이썬 스터디 2주차Han Sung Kim
 
AWS lambda, step function, cloud watch
AWS lambda, step function, cloud watchAWS lambda, step function, cloud watch
AWS lambda, step function, cloud watchHan Sung Kim
 
구름 어디까지 써봤니
구름 어디까지 써봤니구름 어디까지 써봤니
구름 어디까지 써봤니Han Sung Kim
 
2017 새싹교실 1교시
2017 새싹교실 1교시2017 새싹교실 1교시
2017 새싹교실 1교시Han Sung Kim
 
Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료Han Sung Kim
 
2016년 유니톤 언더라인 발표자료
2016년 유니톤 언더라인 발표자료2016년 유니톤 언더라인 발표자료
2016년 유니톤 언더라인 발표자료Han Sung Kim
 
외주 - 시작은 노예였으나 끝은 그래도 노예이니라
외주 - 시작은 노예였으나 끝은 그래도 노예이니라외주 - 시작은 노예였으나 끝은 그래도 노예이니라
외주 - 시작은 노예였으나 끝은 그래도 노예이니라Han Sung Kim
 
모바일 해커톤 사전교육 4일차
모바일 해커톤 사전교육 4일차모바일 해커톤 사전교육 4일차
모바일 해커톤 사전교육 4일차Han Sung Kim
 
모바일 해커톤 사전교육 3일차
모바일 해커톤 사전교육 3일차모바일 해커톤 사전교육 3일차
모바일 해커톤 사전교육 3일차Han Sung Kim
 
모바일 해커톤 사전교육 1일차
모바일 해커톤 사전교육 1일차모바일 해커톤 사전교육 1일차
모바일 해커톤 사전교육 1일차Han Sung Kim
 
Uching - 2016 한양대 스마트 창작터
Uching - 2016 한양대 스마트 창작터Uching - 2016 한양대 스마트 창작터
Uching - 2016 한양대 스마트 창작터Han Sung Kim
 

More from Han Sung Kim (20)

파이썬 스터디 2주차
파이썬 스터디 2주차파이썬 스터디 2주차
파이썬 스터디 2주차
 
AWS RDS, DYNAMO
AWS RDS, DYNAMOAWS RDS, DYNAMO
AWS RDS, DYNAMO
 
AWS lambda, step function, cloud watch
AWS lambda, step function, cloud watchAWS lambda, step function, cloud watch
AWS lambda, step function, cloud watch
 
AWS-IAM,S3,EC2
AWS-IAM,S3,EC2AWS-IAM,S3,EC2
AWS-IAM,S3,EC2
 
AWS 약쟁이
AWS 약쟁이AWS 약쟁이
AWS 약쟁이
 
구름 어디까지 써봤니
구름 어디까지 써봤니구름 어디까지 써봤니
구름 어디까지 써봤니
 
블록체인
블록체인블록체인
블록체인
 
2017 새싹교실 1교시
2017 새싹교실 1교시2017 새싹교실 1교시
2017 새싹교실 1교시
 
Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료
 
2016년 유니톤 언더라인 발표자료
2016년 유니톤 언더라인 발표자료2016년 유니톤 언더라인 발표자료
2016년 유니톤 언더라인 발표자료
 
OMS - Start up
OMS - Start upOMS - Start up
OMS - Start up
 
Web is 뭔들
Web is 뭔들Web is 뭔들
Web is 뭔들
 
외주 - 시작은 노예였으나 끝은 그래도 노예이니라
외주 - 시작은 노예였으나 끝은 그래도 노예이니라외주 - 시작은 노예였으나 끝은 그래도 노예이니라
외주 - 시작은 노예였으나 끝은 그래도 노예이니라
 
모바일 해커톤 사전교육 4일차
모바일 해커톤 사전교육 4일차모바일 해커톤 사전교육 4일차
모바일 해커톤 사전교육 4일차
 
모바일 해커톤 사전교육 3일차
모바일 해커톤 사전교육 3일차모바일 해커톤 사전교육 3일차
모바일 해커톤 사전교육 3일차
 
모바일 해커톤 사전교육 1일차
모바일 해커톤 사전교육 1일차모바일 해커톤 사전교육 1일차
모바일 해커톤 사전교육 1일차
 
Uching - 2016 한양대 스마트 창작터
Uching - 2016 한양대 스마트 창작터Uching - 2016 한양대 스마트 창작터
Uching - 2016 한양대 스마트 창작터
 
I see u
I see uI see u
I see u
 
라인전
라인전라인전
라인전
 
심리전
심리전심리전
심리전
 

모바일 해커톤 사전교육 2일차

  • 1. 모바일 해커톤 사전 교육 2일차 - ZeroPage 24기 김한성 -
  • 2. 예제 코드를 받자 • Git을 다운받자 • https://git-scm.com/ • 잘 설치했다면 cmd창에서 git을 입력하면 아래와 같이 나옴
  • 3. 코드를 받아오자 • Cmd창에서 붙여넣기는 마우스 우클릭 • 코드가 있는 폴더 경로는 아래 빨간색으로 되어진 곳
  • 4. 받아온 경로로 가면…… • 폴더 하나가 생긴다. • 안드로이드 스튜디오를 열어서 해당 폴더를 열면 끝 • 꼭 Pre_training 폴더를 열어야함
  • 5. USB 연결해서 Run해봅시다 • 성공하면 이렇게 나옵니다
  • 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값을 바꾸기보단 해상도별로 이미지를 새로 만듭니다.
  • 14. 액티비티의 생명주기 맨 첫 화면인 Splash에서 확인해봅시다. +화면이 꺼질 때마다 count를 1씩 증가시켜봅시다
  • 15. 인덴트(Intent) • 컴포넌트(서비스, 액티비티 등) 간의 커뮤니케이션을 위한 요소 • 액티비티A -> 액티비티B를 호출하려면 아래와 같이 호출 startActivity(new Intent(Aactivity.this, Bactivity.class)) = 명시적 인덴트 • 액티비티A를 무족건 앱 실행할때 처음으로 호출하라 = 암시적 인덴트
  • 16. 터치(클릭)으로 액티비티를 호출해보자! 찰지게 때려서 점수를 올려보자! 그리고 기록도 기록해보자!
  • 17. 터치에도 종류가 있다??? • 누르는 순간 = ACTION_DOWN • 누르고 이동(Drag) = ACTION_MOVE • 손을 떼는 순간 = ACTION_UP
  • 18. Layout 종류 - LinearLayout • 가로 또는 세로로 순차적으로 나열되는 레이아웃
  • 19. Layout 종류 – RelativeLayout • 위치를 지정하지 않으면 0, 0에 쌓임 • 이름 그대로 뷰의 상대적인 위치를 지정할 수 있음
  • 20. Layout 종류 – FrameLayout • 같은 자리에 뷰를 겹치도록 놓고 여러가지 옵션을 통해서 원하는 뷰만 선택해서 보여줄 수 있다.
  • 21. Layout 종류 – TableLayout • 뷰들을 행과 열로 구성하여 표시함
  • 22. Layout 종류 - List View • 같은 layout을 List 형식으로 보여줌 • 비슷한 방식인 layout으로 gridview, viewpager가 있음
  • 23. 동작방식 List view Adapter (array adapter) Data List (arraylist) 기록 notifyDataSetChanged View에 적용 +삭제도 해봅시다!
  • 24. 다이얼로그(Dialog) • 새로운 창 • 경고, 확인, 입력 방지 등 용도가 다양함
  • 25. 토스트 팝업 • 잠깐동안 보여줘야하는 일회성 문구를 표시할 때 사용