전체 글(110)
-
App 개발 : 잠금화면- HomeKey Disable[View]
홈키를 막는 첫번째 방법입니다. 우선 앞 포스팅에서 사설이 길었으니 바로 예제를 첨부하겠습니다. 아래는 제 단말기에서의 실행화면입니다. (생각보다 괜찮네여... 진짜 조금 수정해서 사용할까...) 실행해보시면 이전 잠금화면 포스팅에서 사용한 예제와 동일하지만, 홈키가 동작하지 않는 것을 확인 할 수 있습니다. - 잠금화면에 사용된 이미지는 네이버 웹툰 나이트런입니다., 타이틀 넣고 싶었는데 놋북에 포샵이 없네여 ㅠㅠ [홈키에 동작하지 않는 이유]홈키에도 화면이 내려가지 않는 이유는 현재 사용되는 나이트런 잠금화면이 액티비티가 아닌 뷰이기 때문입니다.홈키는 기본적으로 실행중인 액티비티를 전부 백그라운드로 내려버립니다.하지만 상대가 액티비티가 아니라면, 당연 홈키의 기능에서 벗어날 수 있습니다.또한 뷰는 뒤..
2014.06.12 -
App 개발 : 잠금화면- HomeKey Control Problem
[인터넷 웹 포럼에서 쉽게 찾을 수 있는 제어 방법들을 통해 제어하기 힘든 이유]홈 키 제어에 관련된 문제로 검색을 하면 쉽게 제시되는 방법이 몇 가지 있습니다.하드웨어 키 이벤트를 막는다거나, 라이프 사이클을 이용해 홈키 발생 후 바로 앱을 실행한다거나 알람을 통해 호출한다거나 등등등....하지만 실제로 테스트 해보신 분들은 위 방법들이 적용되지 않거나 문제가 있다는 것을 확인하셨을 겁니다. 그 이유에 대해 알아보겠습니다. 1. 홈키는 왜 하드웨어 키 제어가 안 먹히는가?안드로이드의 하드웨어 버튼 제어에 관한 설명은 인터넷 검색을 통해 쉽게 찾을 수 있습니다.아래는 OnKeyDown을 이용해 작성한 간단한 예입니다. OnKeyDown은 단말기의 키 이벤트(Up, Down)와 키 코드(홈, 뒤로가기 기타..
2014.06.05 -
App 개발 : 잠금화면- HomeKey Disable
안드로이드 디바이스의 홈 버튼을 막는 방법에 대해 포스팅합니다. 우선 안드로이드 디바이스의 Home Key를 컨트롤 하는 방법은 없습니다.이유는 간단합니다. 구글에서 홈 버튼에 대한 이벤트를 전달하지 못하도록 막아버렸기 때문입니다. 안드로이드의 장점을 들자면 역시 소스가 Open되어 있어 쉽게 개발이 가능합니다.이러한 점 덕분에 다양하고 유용한 안드로이드 App이 개발되었으며, 많은 사용자들이 이용하고 있습니다. 하지만 반대로 이러한 점은 충분히 악용 될 수 있습니다. 예로 아무것도 없는 검은색 액티비티를 화면에 띄우는 App이 있다고 합시다. 또한 그 App은 모든 키의 컨트롤을 장악하고 있으며, 브로드캐스트 리시버를 통해 단말기를 종료 후 다시 켜도 실행이 됩니다.위와 같은 경우 사용자로 써는 실행 ..
2014.05.29 -
알고리즘 : Postfix Notation
1. PostFixNotation사람이 사용하는 중위 표기식 계산은 컴퓨터 계산으로 활용하기 힘들다.계산식의 우선순위를 논리적으로 판단하기 힘들기 때문이다.그로 인해 후위 표기 방법을 사용하며, 중위 표기식을 후위 표기로 변환하는 알고리즘들이 만들어진다. 그 중 하나인 다익스트라가 고안한 방법을 포스팅 합니다. 위에서 우선순위 판단이 힘들어 중위 표기를 후위 표기로 변환하여 계산한다고 했습니다.예로 확인하겠습니다. 계산식1 : 1+2+3+4 -> 우선 순위가 없으므로 계산에 문제 없음.계산식2 : 1+2*3+4 -> 곱하기 연산을 먼저 계산하여야 한다.계산식3 : 1+(2*3-(4-2)+3) -> 괄호부터 연산하여야 한다. ‘계산식 1’의 경우 우선 순위가 없으므로 순차적으로 계산함에 있어 아무런 문제도..
2014.05.20 -
App 개발 : 잠금화면- 홈 키 제어 관련...
반갑습니다. 블로그 주인장입니다.안드로이드 포스팅이 막바지에 이르러 끊어진 것에 대해 글을 적습니다.작년 마지막 홈키 제어 포스팅을 앞두고 취업하게 되었습니다. 그로인해 안드로이드 개발에 관한 모든 부분을 정리해 버렸습니다.(안드로이드 개발자로 취업한게 아닌지라...)현재 안드로이드 개발환경도 갖추고 있지 않으며, 여유로운 상황도 아닙니다. 또한 어플리케이션 레벨에서 (작년 기준으로, 제가 아는 범위내에서) 홈키의 제어는 불가능합니다. 그로인해 같은 효과를 내는 다른 방법을 찾아서 처리했습니다.이 또한 구글에서 특정 OpenAPI 함수를 보안 관계로 막아버려 사용자 입력이 없으면 사용이 불가능하게 되었구요. 그럼에도 필요하신 분이 있으시다면, 세세한 포스팅은 힘들겠지만 간략하게 나마 포스팅하겠습니다.
2014.05.20 -
알고리즘 : ConvexHull (Graham's Scan)
외곽선 찾기(ConvexHull) 알고리즘 1. 개요2차원 평면에 N개의 점이 주어졌을 때, 이들 중 몇 개의 점을 골라 나머지 모든 점을 내부에 포함하는 다각형을 만든다. 이를 볼록 껍질(CONVEX HULL) 이라 한다. 아래 그림은 N=10인 경우의 한 예. 2. 알고리즘 : Graham's Scan 사용(1) P0을 선택합니다. - P0은 y축 가장 아래에 위치한 점을 선택합니다. - 가장 아래 위치한 점이 여러 개 존재 시 x축 가장 좌측을 선택합니다. (2) P0을 기준으로 모든 점들에 대한 각도를 구한다. (3) 구한 점들의 각도 중 가장 낮은 각을 가진 점을 순서대로 P1, P2 선택 (4) 다음 점 Pn을 선택하여, 점을 추가 할 것인지 교체 할 것인지 정한다. - 이전 두 점에 대해 조..
2014.05.01