ListView에서 selector 사용

ListView에 selector를 사용하려면 ListView에 listSelector 속성으로 줘야한다.

1. ListView 소스

<ListView
android:layout_weight="1"
android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:listSelector="@drawable/list_selector"
    android:verticalSpacing="0dp"
    android:divider="@drawable/div_list"/>

일반적인 selector와 다르게 android:state_pressed만 설정해주면 클릭시 selector가 적용되지 않는다.
레퍼런스에서는 설명도 못찾겠고 미스테리.

2. selector 소스(list_selector.xml)

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:variablePadding="false">
    <item
        android:state_focused="true" android:state_pressed="true"
        android:drawable="@drawable/list_press"
    />
    <item
        android:state_focused="false" android:state_pressed="true"
        android:drawable="@drawable/list_press"
    />
    <item
        android:state_focused="true" android:state_selected="false"
        android:drawable="@drawable/list_high"
    />
    <item
        android:drawable="@color/setup_bg_color"
    />
</selector>

아이폰과 아이패드간에 새로운 방식으로 파일 공유를 할지도?

Patently Apple에 의하면 애플이 출원한 특허에 파일을 ‘부어서’ 공유하는 방법이 들어있다네요. 아이폰과 아이패드사이에 유용하게 사용될 수 있을 것 같습니다.

이 특허를 보면 소리 효과와 함께 파일을 물처럼 부어서 다른 장치로 옮기는 것을 볼 수 있습니다.

이것은 아이폰의 모션센서와 두 장치간의 RFID나 블루투스 연결로 이루어 질 수 있을 것 같습니다. 더 사실적인 동작을 위해 중력이나 토크, 가속도, 마찰 등의 물리적인 힘도 활용할 가능성을 특허에서 언급하고 있다네요.

 

flicking으로 그래픽 객체를 전달하는 방법에 대한 것도 있답니다.

위의 그림처럼 주변에 여러 장치가 있을 때 flick을 한 방향으로 note나 낙서를 전달해 줄 수 있다고 합니다.

 

마지막은 좀 웃겨보이는 파일 쓸어담기입니다.

위의 그림처럼 아이패드위에 아이폰을 440a 위치에 비스듬히 두고 440b까지 ‘쓸면’ 가 사이의 파일들이 쓸어담아지는 것입니다.

또 이외에 3D 제스쳐로 3D 객체를 생성, 조작하는 것에 대한 것도 있는데 CAD나 게이밍에서 유용할 것 같네요.

HP의 WebOS에서는 Pre 3를 TouchPad위에 올려두면 태스크나 파일들을 옮기는 것이 가능한 데(그러면 TouchPad위에는 물결이 생기고 꽤 멋집니다.) 애플은 더 멋진걸 보여주고 싶은가 봅니다.

Apple Patent Could Bring New Type of File Sharing to iPhone & iPad – Mashable

안드로이드 마켓 무엇이 게임개발자에게 좋고 나쁜가

6월 20일 Gizmodo에 올라온 글입니다. 요즘 바빠서 이제야 올리네요.

EA, 루카스아츠 등의 회사에서 일하고 자신이 만든 앱 게임 벤쳐회사인 Mika Mobile에서 RPG Battleheart로 성공한 Noah Bordner가 최근 안드로이드로 포팅하고 몇 주간 판매후 느낀 점들을 밝혔습니다.

장점

안드로이드에서 가장 좋은 점은 승인 프로세스가 없다는 것이다. 이것은 버그나 호환성에 문제가 있다는 보고를 받게되면 버그 수정후에 승인까지 대기할 필요없이 바로 고쳐서 업데이트할 수 있다는 것이다.

그리고 플랫폼의 수익에 대한 가능성에 대해서도 꽤 놀랐다. 아직은 iOS보다 작은 시장이기는 하지만 유료 앱들을 통해 수익이 충분히 만들어진다. 나는 왜 안드로이드에서는 무료 광고앱만이 수익을 만들 방법이라고 생각되는지 잘 모르겠다.. 아마도 앵그리버드에서의 Rovio의 결정 때문인지도 모르겠다. 안드로이드에서의 Battleheart의 수익은 iOS에서의 수익에 80% 정도는 된다. 물론 이 결과에는 여러가지 전제가 필요하긴 하다.

1) 안드로이드용 Battleheart는 안드로이드 차트에서 꽤 높은 순위에 있고(top 50), iOS용 Battleheart는 더이상 top 200에도 포함되어 있지 않지만 iOS에서 여전히 더 많이 팔리고 있다. 확실히 iOS의 앱 시장의 규모가 큰 것은 사실이다.

2) 애플에서의 추천(앱스토어 메인에 뜨는 추천앱)으로 인해 첫 두 달정도의 결과는 iOS용 Battleheart가 ‘압도적’으로 높고 그 이후로 판매는 점차 줄었다. 안드로이드용 Battleheart도 시간이 흐름에 따라 비슷하게 줄어들 것이다. 그리고 만약 출시한 달만을 비교한다면, iOS가 안드로이드 버전을 20배의 규모로 압도한다.

비록 이런 점들이 있지만 안드로이드용 Battleheart는 충분히 의미있는 수익원이며 시간의 낭비가 아니었음을 증명했다. 그리고 안드로이드 마켓의 퀄리티 기준이 꽤 낮기 때문에 세련되고 퀄리티 높은 앱은 iOS보다 안드로이드에서 더 주목받을 수 있다고 생각된다. 흥미로운 데이터가 있는데 iOS에서 사용자 평점은 꽤 괜찮은 4.5점이다(4000여개의 평가). 안드로이드에서는 놀라운 4.8점이다(1000여개의 평가). 더 높은 점수를 받았을 뿐 아니라 리뷰도 더 자주 이루어 졌고 많은 퍼센티지의 안드로이드 사용자들이 앱을 평가하는데 시간을 투자해줬다. 경쟁의 부족이 퀄리티 있는 앱들을 정말 뛰어나보이게 하며 앱에 굶주린 안드로이드 사용자들의 열렬한 지지를 이끌어내는 것 같다.

안드로이드에서의 수치들은 더 놀라운 것이 이 앱은 마켓정면에서 어떠한 무료 마케팅도 되지 않았고(마켓 메인에 뜨는 추천앱이 아니었다는 거죠) 우리도 전혀 프로모션을 하지 않았다는 것이다. Battleheart가 iOS에서 성공했던 가장 큰 이유는 처음에는 New and Noteworthy 리스트, 나중에는 Game of the Week로 앱스토어에 눈에 띄게 추천되어졌다는 것이다. 안드로이드 버전의 성공은 순전히 입소문으로 이루어진 것이다.

수정: 이 글을 적는 동안 Battleheart는 안드로이드 마켓의 추천 태블릿앱으로 등장했고 매출은 뛰었다. 어쨌거나 위의 주장들은 여전히 유효하다.

단점, 그리고 못난점

안드로이드를 지원하는 기술적인 측면은 나쁘지 않은데 골칫거리들이 좀 있다. 95%의 빡신 작업들은 우리가 앱을 개발할 때 사용하는 엔진인 Unity에 의해 처리가 된다. 사실 게임을 포팅하는게 하루정도 걸렸다. 하지만 여전히 몇몇 장치들은 우리의 쉐이더들을 제대로 처리하지 못하고, 몇몇 장치는 특별한 이유없이 크래쉬가 발생한다. 그래도 이러한 이슈들은 적은 편이긴하고 가장 신경써야할 부분은 다양한 화면과 횡종비에서 제대로 돌아가도록 하는 것이었는데 지금까지 많이 해왔던 일이라 크게 어렵진 않았다.

안드로이드에서 개발할 때 가장 불만스러웠던 부분은 문의 메일의 홍수를 처리하는 것이었다. 게다가 대부분은 앱자체에서 어떻게 할 수도 없는 설치나 다운로드 이슈라서 안드로이드 OS와 마켓이 지닌 태생적인 기술 문제들이다. “안드로이드에서 앱을 다운로드 받을 수 없음”과 같은 이슈로 구글링을 해보면 이 문제는 모든 장치와 모든 OS 버전에서 발생하는 만연적인 이슈임을 볼 수 있다.내가 매일 받는 메일의 양으로 보면 다운로드 문제는 구매자의 1~2%정도, 현실적인 용어로 2에서 3 shit-load 사이이다.(잘 모르는 표현이네요) 나는 대부분의 일반적인 문제에 대한 답을 제공하는 FAQ를 포스팅했지만 많은 사람들은 읽기 전에 환불을 요구하는 메일을 보낸다.

그리고 이것은 나의 또다른 중요한 불만으로 이끈다– 바로 구글 체크아웃. 안드로이드 개발자는 모든 거래가 이루어지는 구글 체크아웃에 판매자로 등록되어야한다. 이것은 다시 말해 모든 거래 이슈에 대해 스스로 처리해야 한다는 것이다. iOS 게임들에서는 환불을 하는 사람이 거의 없긴 하지만(tiny handful of people.. 자랑해?) 거래 관련이나 환불은 모두 애플에서 이루어지기 때문에 전혀 신경 쓸일이 없다. 안드로이드에서는 신경을 써야하며 정말, 전혀, 그러고 싶지 않다. 나는 게임만 만들고 싶지, 사람들이 앱이 어떻게 설치가 안되고(10에 9은 사용자 실수다) 환불을 위해 주어진 15분의 윈도우를 어떻게 놓쳤거나 아니면 아예 그런게 있는지 몰랐다던가(바로 그들이 손에 들고 있는 f***ing hand에 있는 장치로 보내지는 구매 영수증에 눈에 띄게 노출되지만. 맞다 이 부분에서 나의 인내심을 바닥을 치고 있다) 이런 징징대는 소리를 듣고 싶지 않다.

한때는 모든 것을 관두고 싶었던 때가 있었는데 그건 12살짜리들(혹은 그 수준의 사람들)이 자신이 얼마나 부당한 취급을 받았고 내가 왜 3달러를 환불해줘야하는지 나를 설득시키는 것에 지쳤기 때문이었다. 하지만 나는 그저 사용자 평가들을 보면 그런 문제를 가진 사람들은 소수라고 스스로 상기시키면서 목욕물을 버리면서 아기를 버리는 짓은 하지 않으려고 한다. (원치 않는 것을 버리기위해 소중한 것을 버리지 않겠다는 말)

어쨌거나 매우 불쾌하고 시끄러운 아기이기는 하다.
What’s Good and Bad About the Android Market for Game Developers – Gizmodo

——

안드로이드에 가능성이 있다면서 은근 안드로이드를 까는 느낌이네요.
앱스토어에는 200위권 밖이어도 50위권의 안드로이드보다 잘 팔린다, 환불도 안한다, 징징대는 사람도 없다, 두번이나 추천해줬다.
안드로이드 판매하면서 스트레스 좀 받으신 모양:)
어쨌거나 통념과 다르게 안드로이드 마켓에서도 유료판매로 꽤 수익을 얻는게 가능하다네요.
거기다 아직 성장하는 시장이고 기회의 땅이니 많이들 도전을!

Knowing

스토리나 전개가 흥미진진하고 재미있긴 한데
뒤로 갈수록 SF 화되더니 뭔가 안드로메다로 가서 끝난 듯한..
어떻게 끝낼려나 싶었더니ㅋㅋ
결국 예언은 별 의미도 없었던 것 같기도 하고.
크리스챤적인 그런것도 있는 것 같고.

구글이 안드로이드 보안이슈를 서버쪽에서 수정할것이라 밝힘

그저께 발견 되었던 ClientLogin 프로토콜로 인한 안드로이드의 보안이슈에 대해 구글에서 서버쪽에서 문제를 수정하기로 했다고 합니다. 확실히 수없이 많을 안드로이드 폰을 수정하는 것보단 이것이 현명한 방법이군요. 수정은 어제 이루어졌다고 하며 모든 사용자에게 적용될려면 몇일 걸릴 것이라고 합니다. (사용자가 해야할 일은 없습니다.)
그런데 캘린더와 연락처에서는 문제가 수정되는데 Picasa 동기화에 대해서는 여전히 문제가 된다고 합니다. 이전에 안드로이드 2.3.4 폰에서 수정된 내용도 Picasa에는 문제가 남아있었지요.

어쨌든 현실적으로 모든 안드로이드폰들의 OS 업데이트란 불가능에 가까우니 서버쪽에서 문제가 해결이 되어서 다행입니다.

Google confirms Android security issue, server-side fix rolling out today – Engadget

BeenTogether. 사랑한지