[Android Studio] 애드몹 광고 달기

이미지
안드로이드 앱 개발해보기!를 작성한 뒤 벌써 꽤 시간이 흘렀다. 머리속에 잘 정리되어 있는 내용도 하루 종일 공을 들여야, 그럭저럭 읽어줄말한 한 페이지를 겨우 쓸 수 있는데, 이제 막 시작한 어플 개발을 글로 풀어나가려니 엄두가 나지 않았다. 어느정도 '어플개발'이란 것에 대한 감을 잡은 후에 조금씩 글을 써야겠다는 생각에 홀로 어플공부 삼매경에 빠져 글 쓰는 일은 아예 미뤄뒀었다. 아직도 생초보지만 그래도  어느새 시험 어플에 광고까지 달아 출시를 해보게 되었다. 이번 포스트에서는 어플 출시 과정에서 애드몹을 통해 광고 다는 방법을 간단히 리뷰해보고, 다음부터는 기초부터 차근차근 리뷰하며 공부해보고자 한다. 애드몹(AdMob) 검색을 통해 글에 접근하신 분들이라면 이미 애드몹이 뭔지 잘 알고 계실 것 같다. 매번 자세한 구분이 어떻게 되는지 헷갈리지만, 간단히 생각하면, 구글을 통해 어플에 광고를 송출하고 수익을 낼 수 있는 플랫폼?!으로 보면 된다. 즉 블로그나 웹사이트를 통해 광고를 하기 위해 접근하는 애드센스에 대응되는 어플용 애드센스가 애드몹인 것이다. 따라서 애드센스와 애드몹을 모두 사용하기 위해서는 위와같이 각각 계정을 만들어야하며, 애드센스에서 애드몹 계정을 연결해 수익관리를 같은 페이지에서 할 수도 있다. 애드센스와 마찬가지로 애드몹은 어디까지나 광고주와 개발자간 연결시켜주는 역할을 수행하므로, 안드로이드 플레이스토어 어플 뿐만아니라 애플의 앱스토어에 등록된 어플에도 광고 게재가 가능하다고 한다. 앱ID 및 광고단위ID 생성하기 이 글에서는 안드로이드 스튜디오를 통해 안드로이드 어플을 개발하는 분들에게만 해당되는 방법을 작성하고 있다. 먼저 애드몹에 가입을 한 뒤 로그인을 하면 왼쪽 목록에서 '앱추가' 가 가능하다. 앱 추가를 선택하면 다음과 같은 화면이 나온다. 이미 어플을 플레이스토어에 출시한 상태라면 '예' 아직 출시 전이라면 ...

[Android Studio] 자바 SE JDK와 안드로이드 스튜디오 설치

이미지
본격적으로 앱을 개발하기 위해 개발 환경을 갖춰야한다. 이번 포스트에서는 JAVA SE JDK 및 Android Studio 설치 과정을 다뤄보고자 한다. JAVA SE JDK JAVA를 위키에서 검색해보면, 썬 마이크로시스템즈에서 1995년에 개발한 객체 지향 프로그래밍 언어라고 나온다. 객체지향언어라함은 여러 개의 독립된 단위, 즉 <객체>들을 만들고 그것들의 상호 작용을 구현하는 언어 정도로 파악하면 될 것 같다. 일단 여기서는 컴퓨터 언어 중 하나라고만 알아두면 될 것 같다. 2010년에 썬이 오라클에 인수되어서 현재 자바의 저작권자는 오라클이며 때문에 우리도 오라클 홈페이지에서 무료로 내려받을 수 있다. https://www.oracle.com/technetwork/java/javase/downloads/index.html 다운받아야하는 파일은 JAVA SE JDK 최신 버전으로, SE는 Standard Edition을, JDK는 Java Development Kit의 약자이다. 사용하는 컴퓨터의 OS에 맞게 최신 버전을 내려받아 설치하면 된다. 최신 버전을 선택하면, 위 화면과 같이 아래에 OS별 설치 파일 다운 목록이 나타난다. <Accept License Agreement>를 선택해주고 파일을 내려받아 설치를 진행한다. Android Studio 마찬가지로 Android Studio를 설치하기위해 아래 링크로 이동한다. https://developer.android.com/studio Download Android Studio를 클릭한 뒤, 이따라 나오는 약관에 동의하면 다운로드가 진행된다. 설치 시에는 Android Virtual Device를 같이 해주어야, 나중에 앱을 개발하면서 따로 스마트폰을 연결하지 않고도 중간중간 결과물을 확인해볼 수 있다. 기존에 설치한 세팅이 따로 없으므로 <Do not import settings>으...

[Android Studio] 앱 개발 도전해보기!

이미지
2010년 여름 광화문 교보문고를 구경하다 우연히 갤럭시 S가 전시돼 있는 부스를 방문했다. 당시만해도 국내에는 일반 터치폰에 정전식 터치보다는 감압식 터치가 주를 이룰 때인데다, 스마트폰이라는 개념조차 생소했던 시기여서 별 기대 없이 폰을 손에 쥐어봤는데, 기대 이상으로 부드러운 터치감과 깔끔한 UI에 유레카를 외칠 수밖에 없었다. 그 후 아직 물건이 들어오지도 않은 동네 대리점으로 달려가 갤럭시 S를 예약하기까지는 하루도 채 걸리지 않았다. 처음 만난 스마트폰에 재미들려 루팅도 해보고, 런쳐도 바꿔가며 이것저것 해보면서도, 왜 어플을 개발해보겠다는 생각은 하지 않았을까? 근 10년이 지나서야 문득 나도 어플을 개발해볼 수 있지 않을까.. 싶은 막연한 생각이 들었다. 아직 정말 보잘것 없는 연습용 어플을 하나 만들어 플레이 스토어에 등록해본게 다지만, 조금씩 공부해가면서 나중에는 더 그럴듯 한, 많은 사람들에게 유용한 어플을 만들어보고싶다. 더불어, 공부하며 배운 내용들을 복습 및 정리하고, 또 나처럼 맨땅에 어플 개발을 시작하는 분들에게 조금이나마 도움이 되지 않을까 싶어, 두서없더라도 블로그에 조금씩 기록을 하고자 한다. 프로그래밍 경험 사실 정말 막연한 도전이지만, 그래도 할 수 있을 거란 자신감.... (근자감)을 갖고 도전했다. 굳이 찾자면 아마도 학부시절 잠깐 배워, 필요할때면 아직도 간간히 써먹는 MATLAB 경험이 근자감의 근거이지 않을까. 사실 매트랩도 한 학기 수강했지만, 여느 강의처럼 기초만 살짝 배웠을 뿐, 나머지는 과제를 하며 알아서 배운 수준이다. C, C+, C#, JAVA, Phython 등등 이름만 숱하게 들어봤을 뿐 프로그래밍이라고는 전혀 배운적이 없기에, 처음 안드로이드 스튜디오를 접했을 때는 생각보다 더 당황스러웠다. 하지만 차근차근 인터넷과 책을 통해 하나 둘 예제를 공부하고 눈앞에서 구현되는 코드들을 보면서 성취감도 생기고 재미도 더해갔다. 아직도 시작단계에 머물고 있어 속단하긴 이르지만, 개...

초점거리와 화각

이미지
지난 포스트에서 언급한 것처럼 대부분의 카메라 렌즈를 자세히 보면 렌즈 표면에 F값(조리개 값)이 표기되어 있다. 이와 함께 렌즈의 24mm, 50mm, 85mm, 135mm 등과 같이 길이가 표기되어 있는 것을 볼 수 있다. 이렇게 표기된 값들은 초점거리를 의미하는데, 이번 포스트에서는 이 초점거리에 대해 알아보고자 한다. 초점거리와 화각 전문적인 광학 지식이 없이도 카메라의 초점거리를 이해하는데는 무리가 없다. 다음과 같이 카메라를 이요해 사과를 촬영하는 경우를 가정해 보자. 피사체인 사과를 반사한 빛은 렌즈를 거쳐 카메라 센서에 도달한다. 여기서는 빛이 센서에 도달하는 과정에서 거치는 조리개와 셔터는 편의상 생략했다. 카메라 센서에 빛이 도달해 사과 상이 맺히게 되면 센서는 이를 전기적 신호로 바꾸어 디지털 이미지를 저장하게 된다. 이 때 렌즈로부터 상이 맺히는 센서까지의 거리를 초점거리라고 한다. 즉 위에 언급한대로 카메라 렌즈의 초점거리가 24mm, 50mm, 85mm, 135mm등으로 기재되어 있을 경우, 단순히 생각하면 거리가 멀어질수록 렌즈도 길어지게 될 것이다. 그럼 렌즈가 길어지면 어떤 일이 발생하는가? 위 그림은 초점거리가 50mm인 렌즈를, 아래 그림은 초점거리가 85mm인 렌즈를 사용하였을 때 같은 크기의 사과를 촬영한 경우를 나타낸 것이다. 그림에서 이해할 수 있듯, 초점거리가 긴 렌즈를 사용하였을 때 결과적으로 더 먼 거리에 놓인 동일한 크기의 사과를 동일한 크기로 촬영할 수 있게 된다. 즉 렌즈에 표기된 초점거리가 길수록 멀리 있는 피사체를 촬영하는 망원렌즈가 되는 것이다. 그럼 이와 반대로 동일한 거리에서 초점거리가 다른 렌즈로 사진을 찍으면 어떤 일이 발생하는가? 멀리 있는 피사체를 찍을 때와는 달리 이번에는 동일한 거리에 있는 사과를 촬영한 경우를 보자. 이 때 초점거리가 더 긴 렌즈를 통해 촬영할 경우 사과의 일부분밖에 촬영하지 못하게 된다. 그림으로 ...

셔터스피드와 조리개 (2)

이미지
같은 노출값에서 셔터스피드를 달리함에따라 <충분한 빛>을 얻고 <시간의 흐름>을 결과물에 표현할 수 있다는 사실을 배웠다. 그렇다면 같은 노출값에서 조리개값을 달리하면 어떤 차이를 결과물에 표현할 수 있을까? 조리개 f 값 앞서 셔터스피드를 제어할 때는 '초' 단위를 사용했다. 이는 일상에서 우리가 사용하는 시간단위 중 하나이기때문에, 실제로 촬영시에 셔터스피드를 제어하는 것이 낯설지 않다. 반면 카메라의 조리개 값을 제어할 때는 새로운 단위가 등장한다. 조리개 값은 주로 f value로 표현된다. 카메라 렌즈를 보면 보통 렌즈 몸통 어딘가에 F1.4, f/1.4 또는 1:1.4 와 같은 수치가 적혀있다. 보통 F1.4, F2, F2.8, F4, F5.6, F8, F11, F16, F22의 값들을 기준으로 하는데, 이를 f-stop 이라고 한다. 여기서 f는 원래 초점거리(focal length)의 약자이고 뒤의 숫자는 열려있는 조리개의 직경 비를 나타낸 것이다. f-stop이 1.4에서 2로, 2에서2.8로 한 단계(stop)씩 올라갈때마다 조리개의 열린 면적이 반으로 줄어든다. 이는 F 뒤의 숫자를 제곱해보면 더 쉽게 이해할 수 있다. F1.4 (1.4x1.4=2), F2 (2x2=4), F2.8 (2.8x2.8=8), F4 (4x4=16) 이런 식이다.  F값 증가 = 조리개 면적 감소 = 빛 감소 사실 실제로 수동 조리개의 경우, 위의 정해진 값들 사이 값도 설정이 가능하므로 각 숫자에 해당하는 조리개 열린 면적을 굳이 외울 필요는 없다. 하지만 F 값이 커질수록 조리개는 닫힌다는 점은 꼭 기억해둘 필요가 있다. 야경 - 빛갈라짐 셔터스피드에이어 조리개 또한 야경 촬영시 결과물에 매우 중요한 영향을 미친다. 첫번째로는 당연히 받아들이는 빛의 양이다. 셔터스피드를 고정한 채로 조리개를 더 많이 열면 그만큼 더 많은 빛을 받아들이므로 적정노출을 맞춰 사진을 ...

셔터스피드와 조리개 (1)

이미지
노출에 대한 이해는 이제 어느정도 된 것 같다. 간단히 복습하자면, 먼저 카메라 노출계+사용자의 측광모드선택으로 원하는 적정노출 값을 설정한다. 그 후 조리개/셔터스피드를 조율해서 원하는 사진을 얻으면 된다. 이번 포스트에서는 셔터스피드와 조리개를 제어하면 각각 결과물에 어떤 영향을 미치는지 알아보고자 한다. 셔터스피드 사용자가 셔터스피드를 제어하면서 좋은 결과물을 얻기 위해서는 'S'모드에서 촬영을 하면 될 것이다. 카메라의 모드 다이얼을 S모드로 돌리고 나면, 사용자가 설정한 셔터스피드에 맞춰 카메라는 자동으로 조리개를 여닫다 적정 노출값을 맞춰주기 때문이다. 셔터 스피드는 보통 <1/1000> 혹은 <2"> 와 같이 표시되는데, 분수로 표시되는 경우 뒤에 단위가 생략되어있다면 1/1000 sec 즉, 1000분의 1초 만큼만 조리개를 열었다 닫는다, 라고 생각하면 된다. 반면 셔터스피드를 계속 늘려보면 어느 시점부터 분수가 아닌 정수 형태로 숫자가 바뀌는데 이때 2" 와 같이 표현된다면 이는 2초를 의미한다. 이보다 더 오랫동안 셔터를 열어두고 싶다면, 카메라의 다이얼 모드를 B(Bulb)모드로 옮기면 된다. 벌브모드에서는 사용자가 셔터를 누르고 있는 동안 계속해서 셔터를 열어두기 때문이다. 이처럼 셔터스피드를 제어하는 방식에 대해 기술적으로 이해하는 것은 그리 어렵지 않다. 그럼 어떤 경우에 셔터스피드를 제어해야하는 상황이 발생하는가? 다음과 같은 몇가지 상황을 통해 알아보자. 야경 - 빛이 적은 환경 첫번째 상황은 빛이 적은 환경이다. 대표적인 예로 야경을 찍을 때를 생각해보자. 도시의 야경은 아름답다. 도로를 따라 붉은 빛을 내며 멀어져가는 차, 노란 빛을 내며 달려오는 차가 만들어내는 꼬불꼬불한 선 사이로, 각기 다른 모양으로 솟아난 빌딩들이 낮에는 볼 수 없었던 오색찬란한 빛을 내뿜고 있다. 가을하늘 맑은 날 밤에는 가끔 서울 하늘에도 수만개의 별이 보일...

카메라 노출(Exposure)의 이해(2)

이미지
지난 포스트에서는 노출의 개념에 대해 다뤄보았다. 간략히 요약해보면, 적정노출은 대부분의 카메라가 탑재한 노출계를 통해 자동으로 계산되며, 이에 맞춰 사용자가 셔터스피드와 조리개를 조절하여 사진을 촬영하면, 노출값이 적당한 결과물을 얻을 수 있다는 것이다. 이번 포스트에서는 '노출계의 적정 노출이 어떻게 산출되는지, 또 사용자는 어떻게 이를 제어할 수 있는지'에 대해 이야기해보고자 한다. 카메라가 보는 적정노출 카메라의 노출계는 렌즈를 통해 보는 풍경의 적정 노출값을 자동으로 계산하도록 세팅되어 있다. 그런데 사용자가 렌즈를 통해 보는 풍경은 시간, 상황 및 장소 등에 따라 매우 다양한 조건의 빛을 품고 있다. 때문에 사용자가 특정 빛 조건에서 원하는 사진을 얻고자 하면 노출계가 적정 노출을 계산하는 방식을 조금씩 수정해줄 필요가 있다. 다행히도 요즘 카메라의 노출계는 매우 다양한 노출계산 방식을 탑재하고 있기때문에, 사용자는 노출계의 작동 방식에 대한 약간의 지식만 갖추면 언제든지 원하는 사진을 얻을 수 있다. 다음의 예를 보자. 위 이미지는 카메라 노출계의 측광모드를 간략히 나타낸 것이다. 측광모드라함은 문자그대로 적정노출을 산출하기 위해 렌즈를 통해 들어오는 빛의 양을 측정하는 방식을 말한다. 요즘은 비단 디지털 카메라가 아닌 스마트폰 카메라에서도, 고급옵션 혹은 프로모드 등으로 설정을 바꾸면 측광방식을 수동으로 설정할 수 있다. DSLR에서 반셔터(셔터를 반만 누르는 것)를 누르면, 순간적으로 초점이 잡힘과 동시에 위그림과 같이 화면 내 작은 사각형들이 등장하고 사라지곤 한다. 이 사각형들은 렌즈를 통해 보이는 풍경에서 어느 부분에 초점과 노출의 기준점을 잡는지를 나타낸다. 첫번째 평가측광의 경우 보이는 풍경의 모든 부위를 균등하게 구역을 나누고 각 구역에서 받아들인 빛의 평균값을 계산하는 방식이다. 따라서 찍고자 하는 사진이 특별히 밝기 차이가 많이 나는 물건이 아닌 이상, 대부분의 무난한 사진을 얻을 수...