본문 바로가기

책/오준석의 안드로이드 생존코딩 코틀린편

15. 별도의 이야기(앱아이콘준비, 자동완성다른함수인자명) 앱 아이콘 준비 준비한 앱 PNG 아이콘 파일을 변경하려면 res/mipmap 리소스 디렉토리에 있는 기본 아이콘 ic_launcher.png와 교체를 해야 한다. 가로 512px 세로 512px 크기의 PNG 형식 아이콘 필요 File -> New -> Image Asset 을 클릭 Asset Studio 실행 Path를 선택하고 Next를 누르면 자동으로 리사이징된 아이콘으로 교체 된다. 오버라이드 인자 이름이 다르게 나올 경우 자동완성 시 인자 값이 의미있는 이름 (예: event) 이 아닌 의미 없는 이름(예: p0) 이 나올경우 모듈수준의 build.gradle 파일 compileSdkVersion 과 맞는 SDK의 소스를 내려받아야 한다. build.gradle android { compile.. 더보기
13. Todo 리스트 프로젝트명 Todo 리스트 기능 할일 목록을 표시한다. 할 일을 데이터페이스에 추가, 수정, 삭제한다. 핵심구성요소 ListView : 목록을 표현하는 리스트형 뷰이다. Realm : 모바일용 데이터 베이스이다. 라이브러리 설정 Anko : 인텐트, 다이얼로그, 로그 등을 구현하는 데 도움이 되는 라이브러리 Realm : 객체 중심 저 메모리 모바일 데이터 베이스 준비하기 : 프로젝트 생성 및 안드로이드 설정 스텝1 : 레이아웃 작성 스텝2 : Realm 데이터 베이스 스텝3 : 리스트 뷰와 데이터베이스 연동 준비하기 Anko라이브러리 추가 참조 : https://abstractask.tistory.com/21 5. 비만도 계산기 프로젝트명 BmiCalculator 기능 키와 몸무게를 임력 하고 결과 버.. 더보기
12. 실로폰 프로젝트명 Xylophgone 기능 음 판을 누르면 소리가 재생된다. 핵심구성요소 SoundPool : 음원을 관리하고 재생하는 클래스이다. 라이브러리 설정 없음 준비하기 : 프로젝트 생성 및 안드로이드 설정 스텝1 : 레이아웃 작성 스텝2 : 소리 재생하기 스텝1 레이아웃 작성 가로 모드로 고정하기 액티비티에서 프로그래밍 방식이로 가로모드 고정 이외에 매니페스트 파일에서 가로 모드 고정이 가능하다. .... activity_main.xml 레이아웃 파일에서는 가로모드로 디자인 할 수 있도록 다음과 같이 설정한다. 텍스트 뷰로 음판 만들기 다음 배치할 TextView의 공통 속성을 정의 한다. 배치 Autoconnect 비활성화 모드로 TextView를 레이아웃의 좌측에 배치 layout_width 50.. 더보기
11. 손전등 프로젝트명 Flashlight 기능 앱에서 스위치로 플래시를 끈다. 위젯을 제공해 앱을 실행하지 않고도 플래시를 켜고 끌 수 있다. 핵심구성요소 CameraManager : 플래시를 켜는 기능을 제공하는 클래스 Service : 화면이 없고 백그라운드에서 실행되는 컴포넌트 App Widget : 런처에 배치하여 빠르게 앱 기능을 쓸 수 있게 하는 컴포넌트 라이브러리 설정 Anko : 인텐트, 다이얼로그, 로그 등을 구현하는 데 도움이 되는 라이브러리 준비하기 : 프로젝트 생성 및 안드로이드 설정 스텝1 : 손전등 기능 구현 스텝2 : 액티비티에서 손전등 기능 사용 스텝3 : 서비스에서 손전등 기능 사용 스텝4 : 앱 위젯 작성 준비하기 플래시를 켜는 방법은 안드로이드 6.0 (minSdkVersion :.. 더보기
10. 지도와 GPS 프로젝트명 GpsMap 기능 GPS로 현재 위치 정보를 얻어 지도를 표시한다. 주기적으로 현재 위치를 갱신하며 선을 그린다. 핵심 구성요소 Google Maps Activity : 지도를 표시하는 기본 템플릿 FusedLocationProviderClient : 현재 위치 정보를 얻는 클래스 라이브러리 설정 Anko : 인텐트, 다이얼로그, 로그 등을 구현하는데 도움이 되는 라이브러리 play-services-maps : 구글 지도 라이브러리 play-services-location : 위치 정보 라이브러리 준비하기 : 프로젝트 생성 및 안드로이드 설정 스텝1 : 구글 지도 표시하기 스텝2 : 현재 위치 정보 얻기 스텝3 : 주기적으로 현재 위치 정보 업데이트하기 스텝4 : 이동 자취를 선으로 그리기 준.. 더보기
8. 수평 측정기 프로젝트명 TiltSensor 기능 기기를 기울이면 수평을 측정할 수 있다. 화면이 표시되는 원이 가운데로 이동하면 수평이다. 핵심 구성요소 SensorManager : 센서 관리자 SensorEventListener : 센서 이벤트를 수신하는 리스너 커스텀 뷰 : 나만의 새로운 뷰를 만드는 방법 준비하기 : 프로젝트 생성 및 안드로이드 설정 스텝1 : 액티비티의 생명주기 알아보기 스텝2 : 센서 사용하기 스텝3 : 커스텀 뷰 작성하기 스텝1 액티비티의 생명주기 알아보기 액티비티 생명주기 출처 : https://developer.android.com/guide/components/activities/activity-lifecycle Activity 수명 주기에 대한 이해 | Android 개발자 | An.. 더보기
7. 나만의 웹 브라우저 프로젝트명 MyWebBrowser 기능 웹 페이지를 탐색한다. 홈 메뉴를 클릭하여 첫 페이지로 온다. 메뉴에는 검색 사이트와 개발자 정보가 표시된다. 페이지를 문자나 메일로 공유할 수 있다. 핵심 구성요소 WebView : 웹 페이지를 표시하는 뷰 옵션 메뉴 : 상단 툴바에 표시하는 메뉴 컨텍스트 메뉴 : 뷰를 롱클릭하면 표시되는 메뉴 암시적 인텐트 : 문자 보내기, 이메일로 보내기와 같이 미리 정의된 인텐트 라이브러리 설정 Anko : 인텐트, 다이얼로그, 로그 등을 구현하는데 도움이 되는 라이브러리 준비하기 : 프로젝트 생성 및 안드로이드 설정 스텝1 : 화면 작성 스텝2 : 기본 웹 브라우저 기능 작성 스텝3 : 옵션 메뉴 사용하기 스텝4 : 컨텍스트 메뉴 사용하기 스텝5 : 암시적 인텐트 준비하기.. 더보기
6. 스톱워치 프로젝트명 StopWatch 기능 타이머를 시작, 일시정지하고 초기화 할 수 있다. 타이머 실행 중에 랩타임을 측정하여 표시한다. 핵심 구성요소 timer : 일정 시간 간격으로 백그라운드 스레드에서 실행한다. runOnUiThread : 메인 스레드에서 UI를 갱신한다. ScrollView : 랩타임을 표시할 때 상하로 스크롤되는 뷰를 사용한다. FloatingActionButton : 머티리얼 디자인의 둥근 모양의 버튼이다. 라이브러리 설정 백터드로어블 하위 호환 설정 : 안드로이드 5.0 미만에서 벡터 드러어블을 지원하는 라이브러리 design 라이브러리 : FloatingActionButton 등 머티리얼 디자인을 제공하는 라이브러리 준비하기 : 프로젝트 생성 및 안드로이드 설정 스텝1 : 화면 .. 더보기