Showing posts with label developer. Show all posts
Showing posts with label developer. Show all posts

Saturday, May 28, 2016

[앱개발 팁] 어플 만드는 간단한 방법 - 오픈소스 import 해와서 개발하기


앱개발



처음 어플을 만들 때 정말 막막합니다.
일단 제일 먼저 안드로이드 환경설정을
하셔야 겠죠... 그리고 안드로이드 스튜디오나
이클립스와 같은 개발 툴로 개발을 하면 됩니다.
요즘 대세는 안드로이드 스튜디오지만
기존방식을 선호하시는 분들은 이클립스를
계속 사용하시거나 안드로이드 스튜디오와
병행해서 사용합니다.



어찌 되었든 처음 개발을 할 때처럼 막막한게 없습니다.
그런데 꼭 하나부터 열까지 다 만들 필요는 없답니다.
왜냐하면 인터넷, 특히 구글에는 정말 엄청나게 많은
안드로이드 예제가 있으니깐요~ 게다가 그 예제들만
잘 가져다 사용해도 어지간한 어플은 다 만들 수 있다는거!

오픈소스


오픈소스 혹은 open API 형태로 자바 라이브러리와
간단한 안드로이드 예제는 어플 개발할 때 정말 유용합니다.
저만 하더라도 제가 직접 개발하는 비중보다 오픈소스를
이용하는 비중이 더 많습니다. 물론 제가 원하는 기능들이
모두 담긴 예제는 별로 없으니 기본적인 개발은 할 수 있어야
되고, 서로 다른 기능들과 예제, 오픈된 라이브러리들을
가져다가 붙이고, 수정하면서 내 것으로 만들 수 있어야 됩니다.


제가 예전에 작성한 글입니다.
참고해 보시기 바랍니다.
자바로 안드로이드를 개발하므로
자바 오픈소스 라이브러리를 사용해서
자바 프로그램을 만들 수 있으면
안드로이드 개발할 때도 많은 도움이 됩니다.

구글검색


얼마 전에 아직 졸업을 못한 친구가 졸업 작품으로
안드로이드 어플을 만든다고 합니다.
그런데 안면인식이나 지문인식 하는 어플을
만든다고 하네요;;; 허... 절대 간다하지 않을 거고
과연 완벽하게 사람의 얼굴을 인식하는 소스가
인터넷에 있을 리는 없죠
그래도 얼굴 인식을 하는 간단한 어플이라도
한 번 찾아보면서 설명을 드리겠습니다.


한글로 검색하는 것보다는 영어로 검색하는게 유리합니다.
영어 자료가 훨씬 많으니깐요~
그러므로 중/고등학교 영어 단어에
익숙하시다면 더욱 유리하겠죠~
저도 콩글리쉬 정도입니다 ㅎㅎ
일단 안드로이드 예제이므로 검색어에
기본적으로 'android' 단어를 넣어주고
얼굴인식이므로 face detecor 정도로
검색을 해주려고 치다보니 아주 친절하게도
구글에서는 자동 완성된 검색어를 추천해 줍니다~
detecter인지 detector인지 헷깔렸는데
고민할 필요가 없어졌네요 ㅋㅋㅋ


검색 결과가 나왔습니다~
한국인 인지라 한글이 가장 먼저 눈에 들어 옵니다.


위에 글에 먼저 들어가 봤습니다.
하지만 들어가 보니 FaceView라는
클래스를 복사해서 붙여 넣은 내용과
결과 캡처해 놓은 거 하나 뿐이네요..

참고로 지금 제가 찾는 건 안드로이드 예제로
안드로이드 스튜디오나 이클립스에서
바로 어플로 실행 가능한 소스를 찾고 있는 겁니다.
완벽한 안드로이드 프로젝트는 소스 외에도
여러 디렉토리와 이미지, 파일 등으로 구성되어 있습니다.


이클립스에서 실행 가능한 안드로이드 프로젝트는
기본이 위와 같이 구성되어 있습니다.


안드로이드 스튜디오의 디렉토리 구조는
위와 같습니다. 100% 똑같지는 않고 위에
보이는 디렉토리는 꼭 있어야 됩니다.

어쨌든 위와 같은 완벽한 프로젝트 예제를
찾고 있는 겁니다.

어쨌든 위에서 나온 검색 결과 중에 밑에서
두 번 째에 검색 결과로 들어가 봤습니다.
일본어가 들어가 있어 심기는 불편하지만
지금 그게 문제가 아니죠... 얼른 소스부터ㅋ


들어갔더니 알 수 없는 일본어와
이상한 남자 한 명의 사진이 있습니다.
그런데... 제일 밑에 보니 뭔가 눈에
쏙 들어오는 링크가 있습니다!!!!



두둥~ 얼굴감지샘플이랍니다 ㅋㅋㅋ
눌렀더니 아래와 같은 화면이 나옵니다.


게다가 오른쪽 아래에는 정말 친숙한
Download 라는 단어까지 있습니다.
간단히 설명을 드리자면
구글에서 프로그램 소스를 구하시다 보면
위에 github라는 사이트를 자주 접하시게
될 겁니다. SVN과 같이 프로젝트를 공유할 수
있는 사이트로 정말 유용한 사이트입니다.
게다가 소스까지 무료로 내려 받을 수 있구여~

Download ZIP을 누르기 전에 파일 리스트 중에
FaceDetectorSample 디렉토리로 들어가 봅니다.


위와 같이 구성되어 있습니다.
안드로이드 프로젝트가 맞습니다.
얼핏 보니 이클립스에서 구동할 수
있는 프로젝트인 거 같습니다.
하지만 상관 없습니다.
안드로이드 스튜디오에서도
불러올 수 있으니깐요 ~


아까 Download Zip을 누르니
바로 다운이 됩니다~
이제 압축 풀고 구동만 해보면 됩니다.
import 및 어플 구동은 다음 포스팅에서
하도록 하겠습니다~~~!!! 퇴근해야되요 ㅎ

Friday, April 22, 2016

Android 어플 개발 시 안드로이드 스튜디오와 이클립스 중 하나 선택하는 방법/기준

안드로이드 어플 개발

제가 처음으로 안드로이드 어플
개발이라는 것을 해본 게 대학교
졸업 직전 학기였으니깐 거의
4~5년 전이 아닌가 싶습니다.
그 때 막 아이폰이라는 스마트폰이
세상에 처음 나타났었고, 안드로이드폰이
나오면서 여기 저기서 어플을 만들고,
누가 어플을 만들어서 학교 등록금을 냈네,
뭐가 대박이 났네 하면서 어플 개발자들도
몸 값이 엄청 높았다고 하는 시절이었습니다.



이클립스

그리고 그 당시에 안드로이드 어플 개발을
한다고 하면 열이면 열 이클립스를 사용해서
개발을 하였습니다. 솔직히 그 당시에는
이클립스 말고 다른 안드로이드 개발 툴이
있긴 했는지도 의문입니다.
이클립스 용 안드로이드 플러그인을
구글에서 제공을 했었고, 또 안드로이드
버전이 없그레이드가 되면 이클립스에서도
업데이트 된 버전의 안드로이드 플러그인을
내려 받을 수 있도록 구글에서 제공을
해줬습니다. 그래서 계속 이클립스만을
사용해서 안드로이드 개발을 했었고,
그렇게 학교를 졸업하고 취업을 했습니다.
그 후 부터는 어플 개발을 거의 안했습니다.
그래도 틈틈이 간단한 어플들을 이클립스로
개발해서 블로그나 카페에 올려 놓는 등
그냥 재미로  간단한 어플을 만들곤 했습니다.


제가 만든 간단한 안드로이드 어플들 중에
몇 개만 올려 봅니다~

어찌 되었든 이클립스로 안드로이드
어플 개발을 해왔고, 지금도 하고 있고(스튜디오와 병행)
제가 작업한 모든 안드로이드 어플의
프로젝트들도 대부분 이클립스 프로젝트입니다.
뭐...이 쯤 되면 이클립스로 개발을 하는게
더 편한게 사실이고, 개발하는데 지장은 '아직'
보이지 않습니다.

안드로이드 스튜디오

어라 그런데 어느 순간부터 구글에서
이클립스 디벨로퍼라는 안드로이드 개발 툴을
제공한다더니 그 후에는 안드로이드 스튜디오라는게
나왔습니다. 그런데 대박이 어느 시점부터는
안드로이드 플러그인을 더이상 이클립스에서 제공하지
않겠다는 발표를 하는 겁니다. 위에서도 말씀드렸 듯이
이클립스를 통해 안드로이드 버전 업데이트가
가능합니다. 그런데 더이상 업데이트를 안시켜
줄거라는 겁니다... 결국 자신들이 제공하는
안드로이드 스튜디오를 사용하라는 거죠....

그런데 이클립스에서 안드로이드 버전업이
되지않는다고 해도 기존 버전으로 계속
안드로이드 개발이 가능할 뿐더러 아직까지도
안드로이드 업데이트는 해주고 있다는 사실!
(거짓말을 한 걸까요????)
그리고 무엇보다도 지금까지 사용해온
이클립스가 너무 익숙하다는 사실은
이클립스를 떠나기 힘들게 하는 요소들 중
하나입니다.  하지만 개발자 입장에서 새로운 게 나왔는데
기존 것만 고수하고 있을 수는 없고, 언젠가는
스튜디오롤 갈 수 밖에 없을 거 같아서
대세를 따르기로 했습니다. 정확히 언제일지는
모르지만 정말 이클립스에 대한 안드로이드
업데이트 제공이 되지 않을 거라면 결국
언젠가는 안드로이드 스튜디오로 갈아 타야
된다는 소리이니 하루라도 빨리 갈아타는게
좋겠다라는 결론을 내린 거지요....

그런데 막상 안드로이드 스튜디오를
사용해보니 장점도 많이 보이기 시작했습니다.
일단 이클립스에서는 여러 프로젝트를
동시에 불러와서 보여주기 때문에
처음 로딩 속도가 너무 느렸는데
스튜디오에서는 최근의 작업한
안드로이드 프로젝트 하나만 보여주기
때문에 초기 부팅 속도는 스튜디오가 확실히 빠릅니다~


<스튜디오 프로젝트>


<이클립스 프로젝트>

위에서 보시는 것 처럼 이클립스 프로젝트에서는
작업한 모든 프로젝를 불러오기 때문에
로딩 속도가 느릴 수 밖에 없겠죠....

그리고 안드로이드 스튜디오 프로젝트와
안드로이드 이클립스 프로젝트는 그 구조가
서로 달라서 서로 간의 프로젝트 전환이
안될 거라 생각할 수 있겠지만 다행히
이 기능을 안드로이드 스튜디오에서 제공
해주고 있습니다~ (역시 구글!!!!!)


방법은 링크된 링크의 글을 참고해 보세요~
하지만 스튜디오에서도 분명 불편한거 있습니다

바로 디버깅과 에러 검색 기능이
안드로이드 스튜디오에서는 좀 많이
불편하고, 에러 표시도 이클립스만큼
직관적이지 않습니다.

스튜디오 vs 이클립스


제가 지금 생각하기에는 이제 안드로이드
개발을 처음 시작하시는 분들은 오히려
이클립스를 사용할 것이냐, 스튜디오를
사용할 것이냐를 고민할 필요가 없다고
생각했습니다. 이유는 최근게 스튜디오이고,
어차피 처음이라 잘 모르면 이클립스로 하나
스튜디오로 개발을 하나 모르기는 마찬가지이므로
최신 거인 스튜디오로 하는게 더 좋다고 생각했기
때문입니다. 게다가 스튜디오 서적들도 많이
나오고 있을 테니 공부하기도 쉬울 거고...

그런데 pdReport 카페나 블로그를 통해
문의 주시는 분들 중에 이클립스와 스튜디오 중에
어떤 걸 사용해야 되는지 문의를 많이 하시더라구요
어제도 그 질문을 받고 아래와 같은 내용의
답변을 드렸었습니다.

현 시점에서 스튜디오와 이클립스 중 어느 것을
사용할 것인지에 대한 고민은 할 필요가 없다고
봅니다. 아직까지는 스튜디오에서 만들 수 있는
어플은 이클립스에서도 똑같이 만들 수 있고,
이클립스에서 만들 수 있는 어플은 스튜디오에서도
개발할 수 있습니다. 방법과 구성에 차이지
어떤 걸 사용하느냐에 따라 개발이 확연하게
쉽거나 어려워 지지는 않습니다.
더욱이 안드로이드 개발이 처음이고,
자바도 해보신 적이 없으시다면 더더욱
개발 툴에 대한 고민을 하실 필요가 없습니다.
둘 중에 아무 거나 하나 잡고 공부를 하시는게

제일 급하고 중요한 사항이라고 봅니다.