Skip to main content

[Android] Think about Android

개인적인 생각으로 Google 은 Android 는 Java 개발자들에게, Programming 을 시작하는 사람들에게 큰 영향을 주고 있다고 생각 한다.

최근에 Java 를 공부한 사람들이라면 아마 대부분 Android 개발을 위해, 또는 Java  를 이용한 Program 개발능력을 향상시키기 위해서라도 Android 에 관심을 갖고 있을 것이다.

나 역시, Java 를 공부하면서 어떻게 하면 좀 더 실질적으로 Java 를 사용해 볼 수 있을까? 라는 생각으로 고민하던 중, Android 를 접하고 공부하게 되었고, 지금은 Android Application 개발을 주로 하게 되었다. (물론 아직 갈길이 멀다.)

Android 를 처음 공부했던 때가 2010년. 그후로 Android 는 정말 눈부신 발전을 해 왔고, 현재도 계속 발전하고 있다. 정말 잠시라도 한눈팔면 발전속도를 따라잡기 힘들 정도다.

처음 Application 을 만들때는 정말 수십개의 Activity 를 만들면서 말되 안되는 코드로  난장판을 친 기억이 난다. (최근에는 Fragment 로 똑같은 짓을 하고 있다고 생각하지만..)
코드 재활용이라고는 정말 생각조차 안했고, 어떻게든 동작하는데만 중점을 두고 만들기만 했었다.

그러면서 조금씩 개발에 여유가 생길때쯤, 어떻게 하면 좀더 편하게 개발 할 수 있을까? 하는 잡생각이 생기기 시작했다.

그러면서 Maven, Ant, Jenkins 등 Build Tool 과 CI 에 관심을 갖기 시작했다.
하지만 현실적으로 회사 프로젝트에 적용하기는 쉽지 않았다. 회사에서 이런 Build Tool 을 사용하지 않을 뿐만 아니라, 나 자신도 잘 모르는데 팀 프로젝트에 적용할 수 없었기 때문이다.
그리곤 점차 기억속에서 멀어지게 되었고, 공부한것도 완전 Reboot 되 버렸다.

최근 Google I/O 13 에서 Android Studio 가 공개되면서 다시한번 Build Tool 에 관심을 갖게 되었다.

그런데 이게 왠일.. Maven 이 아니네.. Gradle 이라니... 어디서 듣도보도 못한.. 이라고 생각했는데.. 검색해 보니 이건 또 신세계 인가 싶다. 특히 우리나라에서는 아직 유명한것 같지도 않고, Gradle 을 사용하기 위해서는 Groovy 가 선행 되어야 한다는 이야기를 보게 되니 선뜻 손 대기가 쉽지 않아 보인다.

그렇지만, 이렇게 계속 뒤쳐질 수는 없으니.. 이제부터 한번 시작 해 보려고 한다.

그동안 Android 를 하면서 겪은 삽질, Gradle ,Groovy 그리고 Android Studio 를 경험한 점을 블로깅 해 볼 생각이다.

사실 이런 블로깅을 해 본 경험이 없기 때문에 어떻게 잘 될지 모르겠다.
하지만 그동안 내가 짧게나마 겪었던 내용들을 정리함으로써 그동안 내가 해 왔던 일을 정리하는 시간을 갖을 수 있을 것 같고, 새로운 기술에 적응하면서 한층 더 발전 할 수 있으며, 나 같이 초보 개발자 분들에게 조금이나마 도움이 될 수 있었으면 좋겠다.

부디.. 끝까지 잘 해 낼 수 있기를 ㅎ 

Comments

Popular posts from this blog

[리뷰] 스위프트 프로그래밍

스위프트 3 가 발표된 이후로 국내에도 스위프트 3 내용을 다루는 책들이 하나둘씩 출간되고 있습니다. 그리고 지금부터 이야기할 <스위프트 프로그래밍> 역시 그중 한 권입니다. 이 책은 기존에 있던 책들과는 달리 iPhone이나 Mac App 개발에 필요한 내용을 다루지는 않습니다. 개인적으로는 이러한 점 때문에 스위프트란 언어 자체에 좀 더 집중할 수 있었습니다. 책은 크게 다섯 개의 파트로 구성되어 있으며 각 파트별 목차는 다음과 같습니다. Part Ⅰ 스위프트 기초 1. 스위프트 2. 스위프트 처음 시작하기 3. 데이터 타입 기본 4. 데이터 타입 고급 5. 연산자 6. 흐름 제어 7. 함수 8. 옵셔널 Part Ⅱ 객체지향 프로그래밍과 스위프트 9. 구조체와 클래스 10. 프로퍼티와 메서드 11. 인스턴스 생성 및 소멸 12. 접근제어 Part Ⅲ 함수형 프로그래밍과 스위프트 13. 클로저 14. 옵셔널 체이닝과 빠른종료 15. 맵, 필터, 리듀스 16. 모나드 Part Ⅳ 확장 17. 서브스크립트 18. 상속 19. 타입캐스팅 20. 프로토콜 21. 익스텐션 22. 제네릭 23. 프로토콜 지향 프로그래밍 Part Ⅴ 스위프트 고급 24. 타입 중첩 25. 패턴 26. where 절 27. ARC 28. 오류처리 Part1, 2  까지는 스위프트 언어에 대한 기본적이고 전반적인 내용을 설명합니다. 스위프트를 처음 배우는 독자뿐만 아니라 스위프트를 조금 공부해 본 독자에게도 유용한 내용이 많았습니다. 특히, 스위프트 언어를 사용하는 데 있어 지켰으면 하는 규칙을 반복적으로 설명함으로써 자연스럽게 그러한 규칙이 손에 익히도록 한 점이 좋았습니다. 다만 중간중간 난이도가 갑자기 높아지는 부분이 있어 초심자에게는 책 앞부분에서 조금 힘들 수도 있겠다는 생각이 들었습니다. Part3  는 아마도 이 책에서 가장 ...

[리뷰] 러스트 핵심 노트

C 와 C++ 의 성능을 보이면서 동시성 문제를 좀 더 쉽게 처리할 수 있는 언어에 대한 소개가 종종 이루어 지곤 하는데 최근까지 이러한 분야에서 가장 두드러진 활약을 보이는 언어를 꼽으라면 단연 Go 와 러스트 를 꼽을 수 있을 것입니다.  [러스트 핵심 노트] 는 예제를 통해 제목 그대로 러스트의 핵심 부분을 설명하면서 러스트란 언어란 이런 언어다 라고 소개하고 있습니다. [러스트 핵심 노트] 는 언어 입문서에 가깝기 때문에 러스트 언어를 세세하게 설명하지는 않습니다. 그러나 러스트가 가지고 있는 특징들을 잘 설명하고 있어 새로운 언어가 나와서 흥미를 느끼시는 분들이 가볍게 읽을 수 있는 책이라 생각 됩니다. 다만 중간 중간 오타가 눈에 띄기 때문에 (원서도 같은 오류가 있었습니다.)  추가적으로 검색을 해 보거나 한빛 미디어 사이트에서 오탈자를 반드시 확인할것을 추천 드립니다. (http://www.hanbit.co.kr/realtime/books/book_view.html?p_code=E2088508957) 책 분량은 많은 편은 아니지만 내용은 절대 가볍지는 않습니다. 앞에서 이야기 했듯이 러스트를 빠르게 살펴본 다음 토이프로젝트를 하고자 하시는 분께는 좋은 시작점이 될 것입니다.

[Android] DialPad 자동완성 기능

Android 4.3 에 추가된 기능 중 "다이얼 패드 자동완성" 기능이 란 것이 있다. 말 그대로 Dialpad 에서 전화번호 입력시, 해당 번호를 먼저 검색해서 화면에 노출 시키는 기능이다. 그런데 4.3 으로 업데이트 했음에도 불구하도 번호 입력시 자동검색이 이루어지지 않는다. 확인결과 기본적으로 해당 기능이 ON 으로 세팅되어 있지 않기 때문.. 해당 기능을 설정하기 위해서는 dialer -> option menu(설정) -> 통화설정 화면에서 "다이얼패드 자동완성" 체크. 그런데 앞자리 수 부터 차례대로 입력해야 검색 해 주는것은 좀... end.