이제 수능특강 요지 추론 학습자료 업로드 합니다.

빨리 한다고 했는데, 제가 이 일만 전적으로 하고 있는게 아니라 생각만큼 속도가 안 나네요(;;)

이제 곧 중간고사 기간이라 배우는 학생들도 시험 대비하는 선생님들도 다들 힘드실텐데 조금이나마 도움이 되었으면 좋겠습니다.

그 전 자료와 같이, 수정할 부분이 보이면 댓글 부탁드립니다.

 

지난 1단원에 이어 2단원 학습자료 배포합니다.

한 면에 한 지문씩 들어가도록 편집하다보니까 시간이 오래 걸렸네요 ㅎ;;

중간에 논란이 생길 수 있을 것 같은 부분은 저의 생각을 요약해서 적어놓았으니 틀리거나 부족하다 싶은 부분은 댓글로 남겨주시면 감사하겠습니다.

되도록 중간고사 전에 시험 범위까지는 정리하도록 하겠습니다. 감사합니다.

 

이번 『EBS 수능특강(2016) - 영어』의 첫번째 단원 '글의 목적 파악'의 학습자료 입니다.

계속해서 추가 업데이트를 할 예정이니 다음 단원이 필요하신 분들은 댓글 남겨주세요.

그리고 제가 만든 거이긴 하지만 혹시나 본문과 관련하여 저작권 문제가 생긴다면 삭제할 수도 있으니 이 점 양해해 주시기 바랍니다.

쓰시는 분들은 출처만 밝혀주시면 되겠습니다.

(이 글에 엮여 있는 배너광고를 클릭해 주시면 더 감사하겠습니다. :) 피싱같은 건 아니니 걱정마세요ㅎㅎ 유료 결제 대신 광고 수익으로 먹고 삽니다)

생각해보면 첫 계기는 먼저 고3 때였던거 같다.
뭐 그전에도 애들이랑 잘 안 어울렸지만 워낙에 혼자 노는게 편해서 그 땐 상관없었다.

악명이 높은 선생이 고3 담임이 된 데에 대한 반감을 미리 집어 먹은 내 탓도 있지만, 사설 모의고사를 안 보고 화상치료를 받으러 가려는데 그 담임이 허락을 안해주며 버티더니 버릇없다며 교직원 급식실에 끌고가 내가 이런 사람이다 라며 협박과 싸가지가 없다는 말을 몇 시간을 늘어놓았다(아마도 내가 본인을 나쁜 사람이라고 생각하고 있음에 대한 반감이었을 것이다).
그러더니 1년 내내 속없이 잘 웃고 다니는 애들과 비교하면서 여자가 상큼한 맛이 있여야된다는 둥, 지 딸이 지가 사고 싶은 옷같은게 있어야지만 아빠찾으며 애교떤다면서 '너도 니네 아버지한테 그러지' 라는 내 기준으로는 도저히 선생같지 않은 언행을 곧잘했다.
게다가, 같은 반 애들은 워낙에 안 친했다지만 같이 싸가지 없는 년이 오히려 남자 밝히는 년으로 몰았다. 그리고 그것이 학교로만 끝나지 않도 지역으로 인터넷 가십으로 불리한 얘기들은 쏙 뺀 채 점점 눈덩이처럼 불어났다.

그리고 인간에 대한 실망감이 늘어갔다.
초반에는 어떻게 사람이 이럴수가 있지 억울하고 분통해 잠도 안 왔다. 잠에 들면 가위 눌린 듯 꿈에서도 시달렸다.

그러다 상황을 분석하기 시작했다.
왜 이렇게 됐는지
어디서부터가 시작점인지
무엇부터 해결해야 하는지

그리고 조금씩 깨닫고 있는 것 같다.
아직까지도 간간히 보이는 조롱에 관하여, 저 사람이 왜 나한테 이러는지를 분석하다보니 화는 나지만 '저 사람은 저 정도구나'라는 생각이 들면서 단순히 거리를 둬야함을 깨달았다.

그들은, 그들이 가지고 있는 내면의 부정적인 표상들을 '나'라는 개체에 그저 덧붙여 그들의 대응이 적절했음을 합리화시키고 싶을 뿐인 것이었다. 한 번 울고 잘 지내면 되지 않냐면서 고집이 세다고 나에게 말을 하지만(고3 담임이 그러했듯), 사실 내가 울었을 때 그들 내면에 내가 저 사람을 울렸다는 미안함 조금에 '이겼다'는 유치한 감정을 감춰보고 싶어한다는 결론에 다다르니 더 이상 잘 지내고 자시고 할 사람들이 아님을 깨달았다.

그냥 나와 안 맞는 사람들인 것이다.
그들에게 내가 고집불통에 사회성 결여인 그럴일을 당할만한 사람이었듯, 나에게도 그들은 공감이 안 가는 사람들일 뿐인 것이다.

그리고 남들이 나에게 굳이 잘 할 이유가 없듯이, 나도 남들 시각에 맞춰 살 이유가 없다. 그저 남의 인생을 침해하지만 않는다면 각자 갈 길 가면 되는 것이다. 이 생각에 다다르니 나에게 뻗치는 쓸데없는 오지랖(언어순화)이 더 이상 내가 조치를 취할 수 없는 영역임을 깨달았다.

나는 이제 정리가 되었다.
남은 건 각자 본인의 의지를 따르는 타인들이다.

http://smartincome.tistory.com/265

어짜피 요즘은 여기저기 돌고도는 개인신상정보라지만(나만 그런가;;)

하도 계정이 잘 털리길래 알아습니다.

이 밖에도 아예 피싱 사이트를 만들어서 유저의 아이디와 비밀번호를 받아내는 과정을 보여주는 영상도 볼 수 있었는데

그 영상을 보고 나니까 광고 문자에 달려서 오는 링크를 더 조심해야겠다는 생각이 들었습니다.

나중에 시간이 되면 시연해 보겠습니다.

[원문 주소] http://cafe.naver.com/javacircle/104493

⟪Do it! 안드로이드⟫- 개정 3판으로 그 명성을 이어가다!

서평 이벤트!!!!


안녕하세요. 이지스퍼브리싱 출판사 배호종 팀장입니다.

안드로이드 분야에서 베스트셀러 1위를 해오며 5년 넘게 큰 사랑을 받아온 [Do it! 안드로이드 앱 프로그래밍]이 안드로이드 6.0 버전인 ‘마시멜로’와 ‘안드로이드 스튜디오’ 개발 도구를 사용하여 앱을 만들 수 있도록 개정되었습니다.

----------------------------------------------------------------------------------------------------------------------------------

Do it! 안드로이드 앱 프로그래밍- 개정 3판(마시멜로 / 안드로이드 스튜디오 반영판)



 

● 안드로이드 분야 베스트셀러 1위 저자 정재곤 박사님

발행일: 2016년 01월 21일 | 864쪽 | 정가: 40,000원

http://www.yes24.com/24/goods/23991806?scode=029

이벤트 기간: 1월 23일 ~ 1월 28일(일주일간 진행 후 1월 29일 당첨자 발표)

이벤트 추첨: 10

이벤트 방법: 이벤트 기간 동안 이 책이 필요한 이유를 간략하게 작성하신 후 아래의 자료(안드로이드_전면개정3판_책소개이미지.jpg)를 본인의 블로그나 트위터 등에 게시해 주시면 됩니다. 

이메일도 꼭 남겨주시고요. 

물론 SNS에 게시하지 않으셔도 되지만 게시한 곳이나 게시할 곳 등을 함께 댓글로 남겨주시면 당첨 확률이 높아지겠죠. ^^


 

◉ 당첨되신 분들은 책을 배송 받은 후 교보문고, Yes24, 반디, 영풍문고 중에서 2곳에 서평을 남겨주세요. ^^

----------------------------------------------------------------------------------------------------------------------------------


[간단한 책 소개]

안드로이드 분야 1위 도서!

전면 개정 3판(마시멜로 · 안드로이드 스튜디오 반영판)으로 그 명성을 이어간다!

안드로이드 분야에서 큰 사랑을 받아온 《Do it! 안드로이드 앱 프로그래밍》의 세 번째 전면 개정판이 나왔다. 이번 개정 3판에서는 최신 버전인 마시멜로에 맞춰 소스 코드 테스트를 완료했다. 또한 변경된 프래그먼트 사용 방법과 페이스북 연동 방법에 대한 내용을 보강하였으며, 특히 ‘안드로이드 스튜디오’ 사용법에 대한 상세한 해설을 새롭게 추가하여 초보자의 이해를 돕도록 배려했다.

이 책은 최초의 안드로이드 단말 출시 전부터 T아카데미에서 안드로이드 교육 과정을 설계한 명강사, 정재곤 박사가 직접 집필하였다. 안드로이드 분야 최고 전문가이자 현업 프로그래머로서 국내외에서 안드로이드 앱 개발을 설계 및 가이드하고 있는 저자의 명쾌한 설명을 만날 수 있다. 저자가 직접 강의한 무료 강의 동영상(업데이트 중)을 인터넷에 공개하여, 책을 사면 전문 학원에 등록한 것과 비슷한 효과를 볼 수 있다. 초보자용 50일 완성, 중급자용 25일 완성 진도표도 제시되어 있어 효율적 학습이 가능하다.



[개정 3판의 주요 변화]

(1) 첫째 마당

● 개발 환경 구축하기에서 자바의 설치와 안드로이드 스튜디오 설치하기

● 안드로이드 스튜디오를 사용하여 만드는 첫 번째 애플리케이션

● 새로운 프로젝트를 만들 때 다른 화면 종류 선택해보기


(2) 둘째 마당

● 안드로이드 스튜디오 살펴보기

: 새로운 프로젝트를 만드는 과정/ 프로젝트 창의 구성과 기능/ 코드 편집기 살펴보기/ 디자이너 도구 살펴보기 등이 추가로 보강되었습니다.

● 앱을 실행했을 때 권한 부여

: 마시멜로 버전부터 권한(Permission)을 부여하는 방식이 약간 바뀌었습니다. 마시멜로 버전부터는 권한을 일반 권한(Normal Permission)과 위험 권한(Dangerous Permission)으로 나누었으며, 위험 권한의 경우에는 앱이 실행될 때 사용자에게 권한을 부여할 것인지 물어보도록 변경되었습니다.

● 프래그먼트

: 프래그먼트에 대한 이해/ 프래그먼트를 화면에 추가하는 방법 이해하기/ 프래그먼트 만들어 화면에 추가하기 등의 내용이 보강되었습니다.

● 마시멜로에서 화면에 탭을 추가하여 보여주는 방법에 대한 내용이 보강되었습니다.

● 페이스북 연동하는 방법에 대한 내용이 보강되었습니다.


(3) 전체

● 마시멜로/안드로이드 스튜디오 기준으로 전체 프로젝트 소스 및 이에 대한 설명 부분을 업데이트했습니다.



[상세 이미지] 첨부: 안드로이드_전면개정3판_책소개이미지.jpg

 

[저자 소개]

저자 정재곤

e-메일 : mike.jung.global@gmail.com

내외 개발 현장과 강의장을 종횡무진 하는 국내 최고 안드로이드 전문가. 정재곤 박사는 안드로이드 강사들을 가르치는 강사로도 유명하며, 최초 안드로이드 단말 출시 시점부터 T아카데미의 안드로이드 교육과정을 설계한 바로 그 사람이다.

현 (주)유엔에스네트웍스 CTO, 모바일 전문 컨설팅

서울대학교 대학원 박사, GIS 전공

서울디지털대학교 컴퓨터공학과 초빙교수

SK텔레콤 T아카데미 안드로이드 전문 강사

SK텔레콤 T아카데미 안드로이드 프로그래밍 교재 집필

국내/해외 모바일 소프트웨어 컨설팅/설계/개발 경력 10년 이상

모바일 임베디드 데이터베이스, 모바일 서버, 모바일 기기용 자바 VM 설계/개발 등 다수

<자바+안드로이드를 다루는 기술> 집필


[개정 3판 목차]

첫째 마당 | Hello! 안드로이드

01 안드로이드란?

안드로이드에 대한 이해

안드로이드의 특징

안드로이드의 흐름

아이폰! 아이폰! 안드로이드!

안드로이드의 현재

안드로이드의 빠른 진화 과정

02 개발 환경 구축하기

개발 환경 구축을 위한 프로그램

오라클 사이트에서 자바 설치하기

안드로이드 스튜디오 설치하기

03 첫 번째 애플리케이션

첫 프로젝트 만들기

에뮬레이터 만들기

하나씩 바꾸어 보기

XML 레이아웃 파일의 버튼에 onClick 속성값 넣기

자바 파일에 이벤트 처리 메소드 추가하기

여러 개의 버튼에 기능 추가하기

새로운 화면 만들어 띄워주기

새로운 프로젝트를 만들 때 다른 화면 종류 선택해보기

04 안드로이드 프로젝트와 개발 도구

안드로이드 최근 버전의 주요 특징

안드로이드 2.3(진저브레드)의 변화

안드로이드 3.0(허니콤)의 변화

안드로이드 4.0(아이스크림 샌드위치)의 변화

안드로이드 4.2부터 4.3(젤리빈)까지의 변화

안드로이드 4.4(킷캣)의 변화

안드로이드 5.0(롤리팝)의 변화

안드로이드 6.0(마시멜로)의 변화

안드로이드 프로젝트

안드로이드 SDK의 개발 도구

05 안드로이드 앱의 유통과 판매

안드로이드폰의 장터

애플리케이션 판매를 위한 개발자 등록하기

서명된 설치 패키지 만들기

플레이 스토어에 등록하기

유료 판매를 위한 계좌 등록하기

06 실제 단말에 연결하기

PC에 드라이버 설치하기

단말 연결하고 설정 바꾸기


둘째 마당 | 안드로이드 완전 정복

01 기본 위젯과 레이아웃

안드로이드 스튜디오 살펴보기

퀵스타트 화면과 새로운 프로젝트를 만드는 과정

프로젝트 창의 구성과 기능

코드 편집기 살펴보기

디자이너 도구 살펴보기

뷰와 뷰그룹

layout_width, layout_height

background

레이아웃

리니어 레이아웃

방향 설정하기

자바 코드에서 화면 구성하기

정렬 방향 설정하기

여유 공간 설정하기

공간가중치 설정하기

상대 레이아웃

테이블 레이아웃

스크롤뷰

프레임 레이아웃과 뷰의 전환

기본 위젯들

텍스트뷰

버튼

입력상자

이미지뷰

텍스트뷰와 입력상자의 다른 기능들

02 애플리케이션 구성하기

레이아웃 인플레이션

화면 구성과 화면 간 이동

인텐트와 데이터 전달

범주

타입

컴포넌트

부가 데이터

수명주기

서비스

브로드캐스트 수신자

앱을 실행했을 때 권한 부여.

리소스와 매니페스트

매니페스트

리소스의 사용

스타일과 테마

토스트와 대화상자

프래그먼트

프래그먼트에 대해 이해하기

프래그먼트를 화면에 추가하는 방법 이해하기

프래그먼트 만들어 화면에 추가하기

버튼 클릭했을 때 코드에서 프래그먼트 추가하기

프래그먼트 수명주기

두 개의 프래그먼트로 구성된 이미지 뷰어 만들기

03 다양한 위젯과 이벤트 활용하기

이벤트 처리

웹브라우저 사용하기

간단한 애니메이션 사용하기

페이지 슬라이딩 사용하기

뷰플리퍼 사용하기

프로그레스바 사용하기

프로그레스바

시크바

메뉴와 탭 사용하기

화면에 메뉴 기능 넣기

액션바 좀 더 살펴보기

탭으로 보여주기

키패드 설정하기

04 선택 위젯의 사용과 커스텀뷰 만들기

나인패치 이미지

[비트맵] 버튼 만들기

리스트뷰 사용하기

아이템을 위한 XML 레이아웃 정의하기

스피너 사용하기

갤러리 사용하기

그리드뷰 사용하기

복합 위젯 만들기

월별 캘린더 만들기

멀티터치 이미지 뷰어 만들기

05 그래픽

빨간색 사각형 그리기

그래픽 그리기

그리기 객체로 만들어 그리기

비트맵 이미지 사용하기

페인트 보드 만들기

서피스뷰 사용하기

그래픽을 위한 카메라 객체 사용하기

06 스레드와 애니메이션

핸들러 사용하기

자바의 스레드 사용하기

메시지 전송하여 실행하기

Runnable 객체 실행하기

일정 시간 후에 실행하기

스레드로 메시지 전송하기

AsyncTask 사용하기

스레드로 애니메이션 만들기

트윈 애니메이션

위치 이동 액션

회전 액션

스케일 액션

투명도 액션

인터폴레이터.

그래프 애니메이션 만들기

07 네트워킹

네트워킹이란?

소켓 사용하기

웹으로 요청하기

뉴스 정보 가져오기

08 데이터베이스

모바일 데이터베이스

데이터베이스와 테이블 만들기

헬퍼 클래스를 이용해 업그레이드 지원하기

데이터 조회하기

SQL을 메소드 호출로 실행하기

커서 어댑터로 뷰에 보여주기

약품정보 데이터베이스 구성하기

09 멀티미디어

오디오 재생하기

동영상 재생하기

오디오 녹음하여 저장하기

동영상 녹화하기

카메라로 사진 찍어 저장하기

바코드 스캐너 만들기

10 위치기반 서비스

GPS를 이용해 나의 위치 확인하기

에뮬레이터로 가상 위치정보 전송하기

현재 위치의 지도 보여주기

Google Play Service 모듈 설치 여부 확인하기

프로젝트를 만들고 레이아웃에 프래그먼트 추가하기

액티비티 정의하기

매니페스트에 정보 등록하기

구글맵 API 키 발급받기

지도에 아이콘 추가하기

오버레이란?

내 현재 위치 표시를 위한 오버레이 추가하기

은행 위치를 표시하는 오버레이 추가하기

지도 위에 나침반 표시하기

근접 경보 기능 추가하기

인텐트의 액션 정보 정의

인텐트와 펜딩인텐트를 이용한 목표지점 추가

브로드캐스트 수신자의 정의와 등록

주소를 이용하여 위치 알아내기

11 메시징과 소셜 네트워크 서비스

메시징 서비스 이해하기

푸시 서비스 사용하기

푸시 메시지란

GCM을 위한 애플리케이션 등록하기

GCM을 위한 앱 만들기

트위터 연동하기

트위터 글보고 글쓰기

페이스북 연동하기

12 근거리 통신과 센서

근거리 통신 이해하기

NFC 사용하기

NFC 태그 읽기와 쓰기

블루투스 사용하기

블루투스 장치 켜기

다른 블루투스 디바이스 검색하기

다른 블루투스 디바이스 연결하기

데이터 주고받기

센서 이해하기

13 홈 화면

앱위젯 만들기

라이브 배경화면 만들기


셋째 마당 | 구글 플레이 스토어에 올리는 안드로이드 애플리케이션

01 멀티메모 앱

멀티메모의 개요

1단계 - 메인 화면 구성하기

2단계 - 데이터베이스와 메모 입력화면 구성 및 사진 기능 추가하기

데이터베이스 만들기

메모 입력화면 구성하기

사진 기능 추가하기

메모 저장하기

3단계 - 손글씨 기능 추가하기

4단계 - 음성과 동영상 기능 추가하기


온라인 특별 부록 - 퀵나비

상용 앱 소스 전체 공개

최단 경로 내비게이션

•이 앱은 구글 플레이 스토어에서 검색하여 다운 및 설치가 가능합니다.

•관련 소스는 www.easyspub.co.kr과 www.android-town.org에 공개되어 있습니다.


Do it! 안드로이드 앱 프로그래밍

정재곤

이지스퍼블리싱 2016.01.21

 

 


[네이버 책] Gradle 철저 입문 - http://book.naver.com/bookdb/book_detail.nhn?bid=9946861

  아직 초보이기는 합니다만 저는 현재 안드로이드 1인 개발자입니다. 그렇다 보니 앱 개발 계획부터 빌드/배포까지 혼자서 해야 하고, 모든 과정에서 어떤 에러나 뜻하지 않는 장애가 발생하면 관련 개발자 카페 같은 곳에 조언을 구하거나 구글링을 통해서 원인을 파악하고 스스로 해결해야 합니다. 누구나 그렇듯이 이 과정이 쉽지는 않지만 문제가 해결되고 나면 찾아오는 보람과 성취감으로 일하고 있습니다.

  그런데 최근 Gradle이 Android studio에서 표준이 되면서 Gradle에 대해 기본부터 알아야 할 필요성이 생겼습니다. 아직 이전의 Maven과 같은 build tool에 대한 정의도 제대로 인식하지 못했는데 다시 새 툴(tool)에 대해 알아야 한다는게 막막했지만, 점점 영향력이 커지고 있는 Gradle을 그냥 지나치는 것은 아니다 싶어 Gradle project 공식 사이트(http://gradle.org/)나 다른 관련 guide line을 찾아 독학해야만 했습니다. 요즘은 그나마 덜하지만 1~2년 전까지만 해도 Gradle 관련 자료 자체가 적어 검색해서 찾는데에도 시간이 꽤 걸려 공부하기가 쉽지가 않았습니다. 그러다 작년께 이 책의 원서가 출간되었고, 기대치 않았는데 빠른 시간 내에 우리 말로도 번역 출간되어 소식을 접하자마자 이 책을 구하게 되었습니다.

  읽으면서 단순히 Gradle을 다루는 기법 뿐만 아니라, build tool이 무엇인가에서부터 전체적인 build 과정을 이해하게 되어 저와 같은 초보 개발자들에게 좋은 책이라는 생각이 들었습니다. 그리고 android project 뿐만 아니라 web app. 등의 기본 build 구문을 보여주고, 이전의 Maven과 Ant에서 Gradle로 이식하는 방법 등도 자세히 보여주어 이미 실무에 익숙한 고급 개발자들에게도 도움이 될 것이라 생각이 들었습니다. 인터넷에 여기저기 분산되어 있는 Gradle에 대한 정보도 좋지만, 하나의 책으로 개념을 정립해야 된다면 이 책을 꼭 읽어보라고 권하고 싶습니다.

  기본 기능을 구현한 뒤 app market에 올렸다가 debugging phone에서는 막힘없이 되던 부분에서 app이 멎어버리는 bug를 접했다. logcat을 보니 library에서 class를 읽어들이는데 문제가 있는 모양인데 분명히 gradle에도 해당 .jar 파일들을 추가했고 이미 정상적으로 동작하는 폰도 있는데 왜 bug가 잡힌 것일까? bug가 잡힌 phone은 API 19고 되던 폰은 API 21이긴 한데 말이다.

E/dalvikvm: Could not find class 'org.apache.poi.ss.util.CellRangeAddress', referenced from method org.apache.poi.hssf.usermodel.HSSFWorkbook.setRepeatingRowsAndColumns
W/dalvikvm: VFY: unable to resolve new-instance 7124 (Lorg/apache/poi/ss/util/CellRangeAddress;) in Lorg/apache/poi/hssf/usermodel/HSSFWorkbook;
D/dalvikvm: VFY: replacing opcode 0x22 at 0x0009
W/dalvikvm: Unable to resolve superclass of Lorg/apache/poi/ss/util/CellRangeAddress; (7125)
W/dalvikvm: Link of class 'Lorg/apache/poi/ss/util/CellRangeAddress;' failed
E/dalvikvm: Could not find class 'org.apache.poi.ss.util.CellRangeAddress', referenced from method org.apache.poi.hssf.usermodel.HSSFWorkbook.setRepeatingRowsAndColumns
W/dalvikvm: VFY: unable to resolve new-instance 7124 (Lorg/apache/poi/ss/util/CellRangeAddress;) in Lorg/apache/poi/hssf/usermodel/HSSFWorkbook;
D/dalvikvm: VFY: replacing opcode 0x22 at 0x0010

 

  나와 같은 error를 먼저 만나본 사람이 어디없나 검색해 보니 다행히 있긴 있었다. MultiDex 기능이 Lollipop 이전에서는 제대로 동작하지 않을 수도 있기 때문에 아래 code를 class 내에 선언하여야 해당 library의 method들을 활용할 수 있다는 것이다.

@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
}
[출처] StackOverflow - Android Studio E/dalvikvm﹕ Could not find class '.DatabaseHelper', referenced from method .DatabaseManager
                                  (http://stackoverflow.com/questions/32697460/android-studio-e-dalvikvm-could-not-find-class-databasehelper-referenced-fr

  결과는 성공이었다. 문제를 해결하게 되서 기쁘긴한데 이 해결책을 알아낸 사람들은 도대체 어떻게 찾은건지 ㅎㅎ. 역시 무작정 code만 짜기 보다는 전체적인 동작 원리와 구조를 파악할 줄 아는 것이 진정한 힘인 것 같다.

  아직 완벽하진 않지만 대강 필요한 기능을 구현한 후 내 앱에 Admob Banner를 배치하고자 했다. 처음에는 R symbol을 못찾아 build 자체가 안되어 그 해결책을 찾아보니 xmlns:ads 항목을 다음과 같이 xml layout에 기록하면 된다고 하여 해봤다. 그리고 일단은 build가 되었다. 그런데...

<com.google.android.gms.ads.AdView
    xmlns:ads=http://schemas.android.com/apk/lib/com.google.ads <!-- 이로서 R symbol을 못 찾는 error는 해결하긴 했지만 adSize was missing error가 발생하였다. -->
    android:id="@+id/adViewAdMob03"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_centerHorizontal="true"
    android:layout_alignParentBottom="true"
    ads:adSize="BANNER"
    ads:adUnitId="@string/banner_ad_unit_id_imageview">
</com.google.android.gms.ads.AdView>

  위 사진과 같이 'Required XML attribute "adSize" was missing' error가 발생하면서 banner가 보여야 할 부분이 저렇게 까맣게 처리되어 출력되는 게 아닌가? 다시 구글링을 해보니 중간의 '~/lib/~'를 '~/libs/~'로 고쳐보라고 하는 글이 많아 그대로 해 봤지만 이 역시 동작하지 않았다. 이제 어쩌나 싶었는데, stackOverflow에 한 답변이 눈에 띄었다.

최신 Admob SDK는 다른 namespace를 사용합니다. 
xmlns:ads="http://schemas.android.com/apk/res-auto

[출처] StackOverflow - AdMob in android “AdView missing required XML attribute 'adSize' ”
          (http://stackoverflow.com/questions/7185335/admob-in-android-adview-missing-required-xml-attribute-adsize)

  아무래도 SDK가 update 된 모양이다. 이대로 해보니 이젠 된다. 개발을 하면 할수록 느끼는 거지만 변화를 쫓는데 힘들어하는 사람이라면 (다른 직군도 그렇겠지만 유독 더) 어려운 일이 개발이지 않을까 싶다. 그나저나 새로나온 Gradle 서적 서평도 기록해야 하는데 정초부터 집안에 일이 많아 아직 1/3밖에 읽지 못했다. 지금까지 읽은 내용만 봐도 정리가 잘 되어 좋은 책이다 싶긴 한데 이벤트로 당첨되어 받은 책이라 빨리 끝까지 읽고 서평을 써야겠다.

 

[출처] Stack Overflow - http://stackoverflow.com/questions/4212861/what-is-a-correct-mime-type-for-docx-pptx-etc

  자세히 Intent에 대하여 정리하고 싶지만, 지금은 시간이 없으므로 일단 파일 확장자에 따라 맞는 타 앱을 Intent로 부를 때 필요한 MIME type을 기록해 두려 한다. 기본적으로 Intent intent = new Intent(Intent.ACTION_VIEW); 와 같이 선언한 뒤, intent.setDataAndType("file URI", "아래 MIME Type String"); 로 지정하여 연결한다.

Extension MIME Type
.doc     application/msword
.dot      application/msword

.docx    application/vnd.openxmlformats-officedocument.wordprocessingml.document
.dotx     application/vnd.openxmlformats-officedocument.wordprocessingml.template
.docm   application/vnd.ms-word.document.macroEnabled.12
.dotm    application/vnd.ms-word.template.macroEnabled.12

.xls      application/vnd.ms-excel
.xlt       application/vnd.ms-excel
.xla      application/vnd.ms-excel

.xlsx     application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.xltx      application/vnd.openxmlformats-officedocument.spreadsheetml.template
.xlsm    application/vnd.ms-excel.sheet.macroEnabled.12
.xltm     application/vnd.ms-excel.template.macroEnabled.12
.xlam    application/vnd.ms-excel.addin.macroEnabled.12
.xlsb     application/vnd.ms-excel.sheet.binary.macroEnabled.12

.ppt      application/vnd.ms-powerpoint
.pot      application/vnd.ms-powerpoint
.pps     application/vnd.ms-powerpoint
.ppa     application/vnd.ms-powerpoint

.pptx      application/vnd.openxmlformats-officedocument.presentationml.presentation
.potx      application/vnd.openxmlformats-officedocument.presentationml.template
.ppsx     application/vnd.openxmlformats-officedocument.presentationml.slideshow
.ppam    application/vnd.ms-powerpoint.addin.macroEnabled.12
.pptm     application/vnd.ms-powerpoint.presentation.macroEnabled.12
.potm     application/vnd.ms-powerpoint.presentation.macroEnabled.12
.ppsm    application/vnd.ms-powerpoint.slideshow.macroEnabled.12

+ Recent posts