2015/10/08 5

안드로이드 preference persisit 의 비밀 한가지

preference에서 getPersistedString 으로 저장된 값을 가져오고 있었는데 이 값을 String에서 Int로 바꾸었다. 그리고 이젠 getPersistedInt 요렇게 값을 가져 오도록 한 뒤 실행을 했더니... 저승사자가 또 와버렸다. 안드로이드 초보인 코모에겐 아직도 까만 화면의 팝업이 너무 두렵다. 그리고 희한 하게도 이상한 에러로 죽으니 참으로 입이 타들어 간다. Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer 분명 int로 바꾸면서 int 변수에 넣어 줬는데 도데체 이게 무슨 귀신이 신나서? 까까불어 먹고 있는 소리인가... int a - getPersiste..

안드로이드 Edittext 엔터 인식 및 event null 처리

안드로이드 에디터 텍스트(edit text)에서 엔터키나 Done키를 받기 위해서는 아래와 같이 리스너(setOnEditorActionListener) 를 등록 하면 된다. @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if ( actionId == EditorInfo.IME_ACTION_DONE || event.getKeyCode() == KeyEvent.KEYCODE_ENTER){ 그런데 여기서 문제가 있다. event가 null 이 들어 오는 것이다. 죽음이란 거다. 이럴 경우 null 처리(event != null &&)를 해주면 그만이겠거니 하고 생각 하겠지만... 그렇다면 엔터에 대한 반응 ..

[아이폰 6s vs 갤럭시 S6 vs LG G4] 카메라 비교 리뷰

이번에도 담달폰이되어버린 아이폰 6s... 분홍색 아이폰 6S 너무 갖고 싶네요. 아이폰 6보다 얼마나 더 좋아졌을지 궁금하기도 한데 일단 한국에 넘어오기 전에 카메라 리뷰부터 찬찬히 보면서 기다려봅시다. 갤럭시S6, LG G4 등과의 비교리뷰 사진을 보면서 말이죠. 이 리뷰는 기즈모도에서 한겁니다. 차이가 보이나요??????? 6S는 뭔가 사실적인 그런 냄새가 나는 군요. 갤럭시 S6d와 아이폰 6s의 카메라가 비슷한 느낌을 주는 것 같지만 갤럭시는 약간 둔탁한 느낌이 있는 반면 아이폰은 조금 더 사실적입니다. 물론 이 사실적이란 것이... 조작된 것 일 수도 있죠.(내부 이미지 처리) LG G4가 실내 찰영에서 꼴찌를 했군요. 아니면 신의 재림을 제대로 찍었을 수도... 갤럭시 S6가 좀 오버된 느낌..

포르쉐에 구글카 대신 애플카 탑재 한다.(개인정보 수집 때문?)

구글 오토(Android Auto)가 애플의 카플레이(Car Play)에 한 방먹은 것 같습니다. 모토 트렌드 매거진등에 따르면 포르쉐가 안드로이드 오토를 차량에 장착하려 했으나 개인 정보를 빼가는 것 같아서 철회 하고, 애플의 카플레이를 장착하기로 했다는 소문이 있다고 합니다. 안드로이드 오토는 기본적으로 운전자 습관, 속도, 거리, 기름, 온도, 엔진 정보등을 빼내어 간다는 의심을 받고 있어서 이런 일이 발생했는데요, 이에 구글은 절대 그런일이 없다고 바로 반박했다고 합니다. 하지만, 포르쉐는 그래도 불안하다고 하면서 애플의 카플레이를 장착하기로 했답니다. 루머인지 사실인지 확실하지는 않지만, 개인적으로는 사실로 추정이 되는군요. 구글은 태양계에서 큰형님의 자세로 커왔기 때문에 지구인이라면 누구나 아..

안드로이드 오버라이드의 비밀과 함정 -Preference

PreferenceActivity의 기본 아이템들은 타이틀, 서머리 또는 체크박스만 있기 때문에 너무 단조롭다. 그래서 안드로이드는 오버라이드해서 내 맘대로 UI를 바꿀수 있도록 제공한다. 결국, 아래 그림처럼 seekbar를 넣어서 좀 더 다이나믹하고 인터랙티비한 형태로 바꿀 수 있다. 방법은1. Preference를 extends 하는 클래스를 하나 만든 다.2. 새로 만든 클래스에서 반드시 onCreateView를 만들어 줘야한다. @Override protected View onCreateView( ViewGroup parent ) { super.onCreateView(parent); mLayoutInFlater = (LayoutInflater) getContext().getSystemServic..

반응형