발 표 일 : 발 표 자 : 07 김 동 희 안드로이드를 이용한 앱 개발
대목차 안드로이드란 ?, 개발 환경 구축, 화면변환, 멀티터치 p3 ~ p14 안드로이드란 ?, 개발 환경 구축, 화면변환, 멀티터치 p3 ~ p14 구글 맵 연동, 생태 앱 실행 문제 p15 ~ p26 구글 맵 연동, 생태 앱 실행 문제 p15 ~ p26 구글 맵 연동, 생태 앱 실행 문제 p15 ~ p26 구글 맵 연동, 생태 앱 실행 문제 p15 ~ p26
목차 안드로이드란 ? 안드로이드란 ? 개발 환경 구축 개발 환경 구축 화면변환 화면변환 멀티터치 멀티터치
안드로이드란 ? 안드로이드는 구글 (Google) 에서 만든 스마트폰용 운영체제 (OS) 임 안드로이드는 구글 (Google) 에서 만든 스마트폰용 운영체제 (OS) 임 휴대용단말기를 위해 만들어진 것일 뿐만 아니라 다양한 애플리케이 휴대용단말기를 위해 만들어진 것일 뿐만 아니라 다양한 애플리케이 션을 만들어 설치하면 실행될 수 있도록 구성된 애플리케이션 플랫 션을 만들어 설치하면 실행될 수 있도록 구성된 애플리케이션 플랫 폼 (Platform) 임 폼 (Platform) 임
개발 환경 구축 (1/4) Java SE, JDK 다운 후 설치Java SE, JDK 다운 후 설치 -> ->
개발 환경 구축 (2/4) Eclipse, classic 다운 후 설치Eclipse, classic 다운 후 설치 -> ->
개발 환경 구축 (3/4) 안드로이드 SDK 다운 후 설치 안드로이드 SDK 다운 후 설치 -> ->
개발 환경 구축 (4/4) 안드로이드 개발 도구 ADT 설치 안드로이드 개발 도구 ADT 설치 -> 다운로드하여 설치하지 않고 eclipse 안에서 설치 -> 다운로드하여 설치하지 않고 eclipse 안에서 설치 도구상자 > help > Install New Software > Add 도구상자 > help > Install New Software > Add
화면 변환 (1/2) Activity 1 Activity 2
화면 변환 (2/2) 새로운 Activity2 와 layout 을 만듦 새로운 Activity2 와 layout 을 만듦 이벤트 처리를 위한 버튼 생성 이벤트 처리를 위한 버튼 생성 Toast 클래스를 이용하여 text 가 나왔다 사라지는 효과를 줌Toast 클래스를 이용하여 text 가 나왔다 사라지는 효과를 줌 Activity1 에서 버튼 클릭 시Activity1 에서 버튼 클릭 시 Intent 클래스를 이용하여 Activity2 로 화면 변환 Intent 클래스를 이용하여 Activity2 로 화면 변환
멀티터치 (1/2) 손가락 터치 했을 경우 손가락 터치 했을 경우 -> 터치한 위치의 좌표값을 얻어옴 -> 터치한 위치의 좌표값을 얻어옴 손가락 이동했을 경우 손가락 이동했을 경우 -> 이동할 때마다 이동한 위치의 좌표값을 얻어옴 -> 이동할 때마다 이동한 위치의 좌표값을 얻어옴 -> 손가락이 이동한 변화량을 누적하여 다시 그려줌 -> 손가락이 이동한 변화량을 누적하여 다시 그려줌 손가락 뗐을 경우 손가락 뗐을 경우 -> 특정한 변수를 초기화 하여 시스템에게 터치되지 않았다는 신호를 보냄 -> 특정한 변수를 초기화 하여 시스템에게 터치되지 않았다는 신호를 보냄
멀티터치 (2/2) getScaleFactor() 메소드로 이전 이벤트에서 현재 이벤트의 scalinggetScaleFactor() 메소드로 이전 이벤트에서 현재 이벤트의 scaling 비율을 받아와서 그 비율만큼 이미지를 확대, 축소 시킴 비율을 받아와서 그 비율만큼 이미지를 확대, 축소 시킴 확대 최대치 : 10 배 확대 최대치 : 10 배 축소 최대치 : 1/10 배 축소 최대치 : 1/10 배
구현화면
참고문헌 안드로이드 앱 프로그래밍, 정재곤 저, 이지스 퍼블리싱 안드로이드 앱 프로그래밍, 정재곤 저, 이지스 퍼블리싱 p30 ~ 80p, p351 ~ p359 p30 ~ 80p, p351 ~ p359
목차 구글 맵 연동 p16 ~ p21 구글 맵 연동 p16 ~ p21 생태 앱 실행 문제 p22 ~ p25 생태 앱 실행 문제 p22 ~ p25
구글 맵 연동 (1/5) Project 생성시 Compile With 를 Android 가 아닌 Google APIs 로 설정Project 생성시 Compile With 를 Android 가 아닌 Google APIs 로 설정 Eclipse classic 버전은 Target 을 Google APIs 로 설정
구글 맵 연동 (2/5) 구글 맵 API 키 발급 구글 맵 API 키 발급 명령 프롬프트 창에서 명령어 입력 MD5 값 확인
구글 맵 연동 (3/5) api-signuphttps://developers.google.com/maps/documentation/android/v1/maps- api-signup MD5 값 입력
구글 맵 연동 (4/5) MD5 값을 입력하여 받은 코드를 지도를 띄우고자 하는 Activity 의 layout 에 추가
구글 맵 연동 (5/5) Manifest 에 다음과 같은 소스 추가Manifest 에 다음과 같은 소스 추가
구현화면
생태 앱 실행 문제 (1/4) 여유공간이 있음에도 저장 공간 부족 에러 여유공간이 있음에도 저장 공간 부족 에러 -> png 파일을 jpg 파일로 변환하여 용량을 줄여 해결 (230Mb ->> 76Mb) (230Mb ->> 76Mb) 에러 없이 설치완료 후 앱 실행시 “ 앱이 설치되지 않았습니다 ” 라는 문구 와 함께 실행되지 않음 에러 없이 설치완료 후 앱 실행시 “ 앱이 설치되지 않았습니다 ” 라는 문구 와 함께 실행되지 않음 -> 단말기별로 테스트 시행
생태 앱 실행 문제 (2/4) 넥서스 s - 젤리빈 x 넥서스 s - 젤리빈 x 겔럭시 s3 - 젤리빈 x 겔럭시 s3 - 젤리빈 x 겔럭시 s3 - 샌드위치 x 겔럭시 s3 - 샌드위치 x 겔럭시 s2 - 샌드위치 o 겔럭시 s2 - 샌드위치 o 겔럭시노트 1 - 진저브레드 o 겔럭시노트 1 - 진저브레드 o 겔럭시 s2 - 진저브레드 o 겔럭시 s2 - 진저브레드 o 겔럭시노트 2 - 젤리빈 x 겔럭시노트 2 - 젤리빈 x 같은 증상을 보임 “ 앱이 설치 되지 않았습니다 ”
생태 앱 실행 문제 (3/4) 테스트 결과 공통점 테스트 결과 공통점 -> 최신기종 or 최신버전 문제 원인의 가능성 문제 원인의 가능성 -> 기종 or 버전 문제 -> 프로그램 환경 문제
생태 앱 실행 문제 (4/4)
참고문헌 안드로이드 앱 프로그래밍, 정재곤 저, 이지스 퍼블리싱 안드로이드 앱 프로그래밍, 정재곤 저, 이지스 퍼블리싱 p588 ~ 601p p588 ~ 601p