본문 바로가기

전체 글

(258)
Google+ 플랫폼을 이용한 블로그(티스토리)에 +1 Button 플러그인 사용 Google+ 플랫폼을 이용한 블로그(티스토리)에 +1 Button 플러그인 사용 얼마전 Facebook 소셜 플러그인을 이용해 댓글 기능및 좋아요 버튼등에 대한 글을 올린적이 있다. 2013/02/25 - [개발관련/Web] - Facebook Social Plugins을 이용한 블로그(티스토리)에 댓글 기능 추가 요즘 들어 SNS 서비스중인 플랫폼 업계가 이러한 확장성을 높이기위해 플러그인을 제공하고 있다. 이번에 소개할 플러그인으로 구글+ 플랫폼에서 제공하는 +1 Button이다. 구글+ 플랫폼은 안드로이드에서 막강하다. 안드로이드는 기본적으로 구글의 계정을 이용하게 되어 있기 때문에 이미 구글+에 로그인 되어있다는 최대의 장점을 들 수있다. 안드로이드 플랫폼 뿐만 아니라 iOS, 웹들도 API를 ..
UncaughtExceptionHandler를 이용한 앱 비정상 종료시 Log전송 및 재실행 하기 UncaughtExceptionHandler를 이용한 앱 비정상 종료시 Log전송 및 재실행 하기 요즘 앱을 보면 앱실행중 Exception이 발생하면 앱이 종료 되었다가 재 실행 되는것을 볼 수 있다. 어떻게 앱이 비정상 종료되는 순간을 Catch한것일까? 방법은 UncaughtExceptionHandler를 이용하면 된다. 보통 Thread는 try{} catch(Exception e){}외에 발생 하는 예외는 UncaughtExceptionHandler의 uncaughtThread(Thead thread, Throwable ex)를 호출 하게 되어 있다. 그래서 Thread의 UncaughtExceptionHandler 인스턴스를 Thread에 등록하면 되는데, Thread의 static메소드인 s..
ViewPager의 PagerAdapter POSITION_NONE의 비밀 ViewPager의 PagerAdapter POSITION_NONE의 비밀 요즘 안드로이드 UI는 페이지단위가 대세인듯 합니다. 마켓뿐안 아니라 내놓으라는 인기앱들을 보면 모두 페이징 개념의 UI로 구성되어 있습니다. 안드로이드에서 이런 페이징을 쉽게 구현하기 위해 ViewPager을 Support해주고 있습니다. ViewPage는 View또는 Fragment를 페이지 단위로 관리 할수 있는 커스텀 뷰입니다. PageAdapter와 ViewPager을 같이 쓰면서 자원낭비에 대한 문제점을 알아보고자 합니다. PageAdapter의 notifyDataSetChanged는 데이터가 바꼈으니 Notify를 하는 메소드 입니다. PageAdapter에서 Fragment를 새로 생성하여 View를 만들때 이런 데..
안드로이드 DexClassLoader를 이용한 dex동적으로 로딩 안드로이드 DexClassLoader를 이용한 dex동적으로 로딩 안드로이드의 Dalvik VM은 실행 파일인 dex를 지정된 위치에서 로딩하는 대신, 동적인 위치에서 읽어들일 수 있다. DexClassLoader을 이용하는 방법인데, 동적인 위치에서 읽음으로 다음과 같은 장점이 있다. 1. 무거운 어플리케이션을 개발하였는데, Java Heap 사이즈 제한에 걸려 어플리케이션 실행시 메모리 할당을 할 수 없는 경우. 2. 런타임 중 동적으로 기능을 확장이 필요한경우. (티스토어/구글마켓등 앱 업데이트 없이 기능들이 달라진다.) 대부분 어플리케이션에서는 불필요한 작업 이지만, 이러한 장점으로 때때로 유용한 경우가 있다. 클래스 로딩 및 메소드 호출 DexClassLoader cl = new DexClass..
앱 개발자가 제안하는 스마트폰 해킹 예방법 앱 개발자가 제안하는 스마트폰 해킹 예방법 전 국민 스마트폰 시대! 스마트폰의 기능이 날이 갈수록 스마트해지고 있는데 덩달아 해킹도 날이갈 수록 진화 하고 있습니다. 그 중 스미싱이라는 수법이 대표적인데, 이 것은 새로운 보이스 피싱의 형태로 문자메시지와 피싱의 합성어입니다.이런 피해는 꾸준히 늘고 있는데, 작년에 비해 올해는 4배나 급증했습니다. 이 스미싱 수법을 이용하면 폰내부의 모든 데이터를 빼낼수 있으며 도청은 물론 카메라, GPS등도 제어를 통해 제2의 범죄까지도 이루어 질 수 있습니다. 예상 되는 피해 1문자메시지나 인터넷에서 URL 클릭 → 스마트폰 내 악성앱 설치 → 범인에게 소액결제 인증번호 전송하여 인증번호를 악성앱을 통해 가로챔 → 범죄자는 소액결제를 통해 게임머니및 아이템 구매 → ..
SQLITE 사용자 로케일 순으로 정렬 하기 SQLITE 사용자 로케일 순으로 정렬 하기 SQLITE에서 DB 테이블 조회 Order by 시 보통 아스키코드값에 의해 정렬이 된다. 오름차순으로 정렬 하는 경우 특수문자→영어→한글 이런 식으로 Ordering된다. 하지만 SQLITE에서는 COLLATE LOCALIZED 를 지원한다. 이것은 사용자의 주 언어가 가장먼저 정렬 되도록 해준다. 예를 들어 사용자가 주언어를 한국어로 설정 했다면 특수문자→한글→영어 순으로 정렬 된다는 것이다. 방법은 간단하다. Order by 절에 "COLLATE LOCALIZED" 키워드를 주면 된다. String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC"; 단, 한자나 일..
안드로이드 앱 개발자가 제안하는 디자인 방법론 - 2. 나인패치(Nine-patch) 실습 안드로이드 앱 개발자가 제안하는 디자인 방법론 - 2. 나인패치(Nine-patch) 실습 안드로이드 나인패치에 대한 두번째 시간으로 나인패치를 개발자가 어떻게 레이아웃을 잡아서 사용 하는지에 대해 알아보겠다. 나인패치에 대해 기억이 안난다면 이전 글을 다시 보고 이 글을 보도록 하자. 2013/02/28 - [개발관련/Android] - 안드로이드 앱 개발자가 제안하는 디자인 방법론 - 1. 나인패치(Nine-patch) 개념 저번 시간 마지막중에 4가지의 나인패치 이미지 예제를 주었다. 대표적으로 쓰이는 이미지로 어떤식으로 적용 되는지 하나하나씩 보자. 상단 타이틀이나 내용부분에 그라데이션을 주기 위해서 흔하게 쓰이는 이미지이다. 나인패치를 보면 상단좌측부분은 1px만큼 잡아 주었고, 하단우측부븐은 ..
2013 DevFest W Korea 후기 2013 DevFest W Korea 후기     구글 기술과 오픈 소스를 주심으로 다루는 DevFest의 개념에, 전세계적으로 여성개발자들의 SW 업계를 참여 하고 독려하려는 취지로 열리는 개발 컨퍼런스이다.이러한 변화의 첫걸음이 DevFest W Korea가 우리나라에 열리게 되었다.       2013년 3월 2일 토요일 SETEC 컨벤션 센터에서 10시부터 열였다.  학여울역 1번 출구에 위치 해있는 SETEC 컨벤션 센터에서 친절히 안내 해주시는 주최 관계자 분들.. 긴 연휴로 인해 사전 신청자를 600명 정도 받았다고 해는데, 생각보다 많이 오지 않은듯 하다.  주최는 GDG 숭실대학교, GDG Korea Women  후원은 구글 코리아에서 했다.    Track은 총 3가지의 구성되어 있으며..