안드로이드에서 웹뷰를 적용하는 강좌는 지난번에 올렸었다. 뒤로가기 버튼까지 처리를 했지만, 사용하다 보면 한가지 문제가 발생한다. 웹 페이지에서 다른 페이지로 이동한 후, 내부적으로 여러번 리다이렉트가 발생할 경우이다. 이때, 기존의 방식대로 뒤로가기 버튼을 처리하면 원하는대로 동작하지 않는다. 바로 이전 페이지로 이동하기 때문에 다시 현재 보고 있는 페이지로 돌아오게 되는 것이다. 이런 문제를 해결하기 위해서 다음과 같은 방식을 사용해봤다. 현재 URL을 변수에 저장하고 새로운 URL이 로딩되었는데 아직도 현재 URL이면 뒤로 이동하도록 처리하는 것이다. WebViewClient를 상속한 클래스의 shouldOverrideUrlLoading 함수에서 처리하면 된다. private class WebVie..
2015년 국가인적자원개발컨소시엄 지원사업으로 빅데이터 분석 관련 무료 교육이 진행될 예정입니다. 7월 8일(수) ~ 7월 10일(금) 까지 DMC 첨단산업센터에서 진행합니다. 1일차에는 빅데이터 분석의 필요성과 개념, 비즈니스에 적용 사례 등을 중심으로 살펴볼 계획이고2일차에는 빅데이터 분석을 위한 관련 기술들을 다뤄볼 생각입니다. 그리고 마지막 3일차에는 실제 빅데이터 분석을 어떻게 진행하는지, 어떤 방법이 더 나은 것인지 몇가지 주제를 정해서 함께 논의하면서 진행해 보려고 합니다. 정식 과정명은 "오픈소스를 활용한 빅데이터 분석 (Data Science & Analytics)"이고, 제가 강의를 진행합니다. 단순히 Hadoop이나 R 사용법만 교육하는 기존의 빅데이터 강의에서 벗어나 수강하시는 분들..
반응형 웹을 만드는데 부트스트랩 (bootstrap)을 가장 많이 사용한다. 스타일시트(CSS)와 자바스크립트(Javascript)로 구성되어 있기 때문에 적용하기도 쉽다. 실시간 검색어를 이미지로 보여주는 웹화면을 다음과 같이 모바일 서비스를 위한 부트스트랩으로 구성해봤다. 부트스트랩 활용 부트스트랩 홈페이지에 가면 관련 설명들이 잘 되어 있다. 시작하기에 보면 Grunt라는 빌드시스템을 활용하기도 하지만, 개인적으로 사용해 보면 그냥 필요한 CSS를 포함해서 쓰는게 더 편한 것 같다. HTML의 태그 영역에 다음과 같이 스타일시트와 자바스크립트를 적용하면 부트스트랩을 쓸 수 있다. 위 예제처럼 스타일시트와 자바스크립트의 CDN URL을 적용해도 되고, 부트스트랩 시작하기에서 "Download Boot..
웹과 모바일에서 입력창이 숫자일 때, 슬라이더 형태로 제공하는 방법을 정리해 보려고 한다. 부트스트랩을 이용한 오픈소스가 있어서 활용해봤다. 먼저 실행하는 결과를 살펴보려면 http://www.word.pe.kr/bootstrap/slider.html 에 접속하면 된다. 다음과 같은 화면이 나온다. 부트스트랩 슬라이더 소스 설명 소스에서는 bootstrap CSS와 JQuery를 기본으로 사용하고 있고, 별도의 bootstrap-slider css와 js 파일이 존재한다. 각각의 파일은 다음과 같다. 먼저 슬라이더로 입력할 부분과 결과를 출력할 부분의 HTML을 다음과 같이 구성한다. 최소값(data-slider-min), 최대값(data-slider-max)을 지정할 수 있고, 값의 이동 간격(data..
대부분의 앱은 처음 시작할 때 인트로 화면을 제공한다. 아이폰에서는 기본 이미지(Default.png)를 추가하거나 설정해 주고, 앱 론칭이 끝났을 때 실행되는 함수에서 일정시간만을 주는 다음 한줄 코드로 인트로 화면이 해결된다. [NSThread sleepForTimeInterval:3]; 하지만, 안드로이드에서는 인트로를 위한 별도의 기능을 제공해 주지 않는다. 그렇다고 인트로 화면을 전혀 제공해 줄 수 없는 것은 아니다. 인트로를 위한 액티비티를 하나 만들고, 앱이 실행될 때 해당 액티비티가 먼저 뜨도록 구성하면 된다. 그리고 일정 시간이 지나면 실제 처음 나오는 액티비티가 실행되도록 하면 된다. AndroidManifest.xml 파일 설정 먼저 처음 실행하는 액티비티가 인트로 화면이 되도록 An..
안드로이드 디자인과 관련한 책으로 안드로이드의 다양한 화면 크기의 특성에 맞춰 디자인하는 방식을 잘 설명하고 있다. 보통 개발자들은 기능에 집중해 UI 구성이나 디자인을 소홀히 하는 측면이 있다. 그러나 사용자가 맨 처음 접하는 것은 앱의 기능보다는 화면 디자인이 먼저이다. 당연히 UI 디자인이 앱의 첫 인상을 결정하게 될 것이다. 사람도 첫인상이 중요하듯이 앱도 첫인상이 계속 사용하느냐의 여부를 정하게 된다. 어쨋든 이런 관점에서 볼 때 박수레 님의 이 책은 상당히 유용하다. 개발자보다는 디자이너 관점에서 보면 더 좋을 것 같다. 48dp의 리듬이나 UI 설계, 레이아웃 등의 내용은 디자이너 뿐만 아니라 기획자, 개발자에게도 도움이 될 것 같다. 안드로이드 앱을 준비하고 있다면 한번쯤 봐야 하지 않을까..
하이차트(high chart)의 가장 큰 장점은 자바스크립트 기반으로 웹과 모바일을 모두 지원한다는 점이다. 모바일 트래픽이 증가함에 따라 최근 하이차트(high chart)를 그래프 툴로 활용하는 경우를 종종 볼 수 있다. 웹에서 사용할 수 있는 무료 그래프 툴에 대하여 에서 여러가지 그래프 툴을 설명했었는데, 오늘은 하이차트의 활용에 대해 정리해보도록 한다. 하이차트(highchart) 설치 하이차트를 설치하는 것은 매우 간단하다. jQuery와 같은 자바스크립트를 추가하고 이어서 하이차트의 자바스크립트를 포하하면 된다. 주의할 점은 순서가 jQuery 다음에 하이차트라는 것이다. 가끔 highcharts.js 파일을 jquery.min.js보다 앞에 써서 오류가 발생하는 경우가 있다. 하이차트(hi..
최근 모바일 웹을 지원하는 반응형 웹을 만드는 경우가 많다. 미디어쿼리나 부트스트랩(Bootstrap)을 활용해서 쉽게 반응형 웹을 만들기도 하지만 경우에 따라서 직접 모바일 기기인지 체크해야 하는 때도 많다. 그렇다면 모바일 브라우저를 어떻게 구분해 낼까? 자바스크립트로 브라우저 크기 구분 먼저 브라우저의 크기로 구분해 내는 방법이 있다. 자바 스크립트의 document.body.clientWidth 값을 가져와서 사용하면 된다. 소스를 살펴보자 if (document.body.clientWidth < 800) { // 모바일 기기 관련 작업 } 실제 몇몇 기기의 document.body.clientWidth의 값을 체크해 보면 다음과 같다. 디바이스 인치 세로모드 가로모드 아이폰 6 4.7인치 375..
이클립스를 사용하다보면 가끔 자바 프로젝트인데도 일반 프로젝트로 인식해서 자바 관련 설정 항목들이 프로퍼티에서 나오지 않는 경우가 있다. 이런 경우, SVN 서버에 접속해서 프로젝트를 다시 신규로 Check out 하기도 하는데 아예 .project 파일을 수정해서 해당 항목이 제대로 나오도록 구성하는 방법을 정리해 보려고 한다. 자바 프로젝트의 경우, 아래와 같이 프로퍼티 또는 속성에서 Java Build Path 등 설정항목이 보인다. 다음은 이런 설정 항목이 사라졌을 때 처리하는 방법이다. 일반 프로젝트를 자바 프로젝트로 변경하는 것도 동일하게 처리하면 된다. 프로젝트 폴더의 .project 파일을 텍스트 편집기로 연다. 숨김 파일로 되어 있으므로 숨김 파일을 볼 수 있도록 설정을 바꾸거나 ls -..
슈퍼드로이드 카페 (http://cafe.daum.net/superdroid)의 박성근님이 쓴 안드로이드 책이다. 안드로이드 개발은 인터넷 여기저기에 많은 소스들이 있어 접근하기 쉽다. 그러나 안드로이드 개념과 구조를 잘 이해하지 못하면, 문제가 발생했을 때 해결하기 어려운 것도 사실이다. 그래서 인터넷의 단편적인 자료만 볼 것이 아니라, 전반적인 구조를 설명하는 개발서도 반드시 읽어야 한다고 생각한다. 이런 측면에서 볼 때, 이 책은 안드로이드의 기본 개념부터 활용까지 저자의 경험을 기반으로 잘 설명하고 있다. 처음부터 끝까지 읽어보면 안드로이드의 전체적인 개념이 잡히지 않을까 한다. 안드로이드 개발에 있어 꼭 참고해야 하는 부분이 주로 뒤부분에 있기 때문에 꼭 끝까지 읽어봤으면 한다. 개인적으로는 서..