본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android/안드로이드] live wallpaper 소개.

by 돼지왕 왕돼지 2012. 2. 7.
반응형
안녕하세요 돼지왕왕돼지입니다.
아래의 글은  http://android-developers.blogspot.com/2010/02/live-wallpapers.html 글을 번역해 놓은 글로서,
Live Wallpaper 에 대한 개략적인 소개를 하고 있습니다.

Live Wallpaper 가 뭔지 잘 모르시는 분들이 보시면, 개념을 잡기에 좋을 것으로 보입니다.
그럼 번역 들어갑니다.

Live Wallpaper


Android 2.1에서 소개된 live wallpaper로 인해 사용자는 더 풍부하고, 애니매이션가능하며, 더 인터액티브한 그들만의 홈스크린을 즐길수 있게 되었다. Live wallpaper는 일반 Android application과 아주 유사하고 플랫폼의 모든 자산에 접근이 가능하다: SGL(2D drawing), OpenGL(3D drawing), GPS, accelerometers, network access, .... Nexus One에 들어가 있는 live wallpaper는 이런 API들을 이용하여 더 재미있고 흥미있는 UX의 예를 보여준다. 예를 들어 Grass wallpaper는 폰의 위치를 가지고 해가뜰때와 질때는 구분하여 하늘 이미지를 적절히 표시한다.

자신만의 live wallpaper를 만드는것은 쉽고, SurfaceView와 Canvas를 다루어보았다면 특히 더 쉽다. 작성방법을 배우려면 Android 2.1SDK에서 제공하는 CubeLiveWallpaper 예제를 받아야 한다 (android-2.1/samples/CubeLiveWallpaper에 있다)

Live wallpaper는 일반적인 Android service와 유사하다. 한가지 다른점은 onCreateEngine()이라는 메서드가 추가된것이다. 이 메서드는 WallpaperService.Engine을 생성하기 위해서 있다. 이 엔진은 wallpaper의 lifecycle을 관리하고 그리는것에 대한 처리를 담당한다. 시스템은 그릴수 있는 surface를 제공한다. wallpaper그리기는 아주 비용이 비싸기 때문에 가능한 CPU자원을 많이 사용하지 않도록 피해서 코드를 최적화해야 한다. 이는 wallpaper의 lifecycle관리가 중요한 이유이기도 한다. wallpaper가 화면에서 보여지지 않을때 wallpaper는 관련된 모든 activity를 stop해야 한다.

엔진은 또한 사용자나 Home app와 상호작용하기 위해 몇가지 메서드를 구현할 수 있다. 사용자가 다른 home screen( panel )으로 이동하기 위해 scroll하기를 원한다면 onOffsetChanged()를 사용할 수 있다. touch event를 처리하고자 한다면 onTouchEvent(MotionEvent)를 구현할 수 있다. 마지막으로 app들이 live wallpaper에 명령을 보낼수 있다. 현재는 표준 home app만이 live wallpaper의 onCommand()로 명령을 보낼수 있다 :
 

android.wallpaper.tap : 사용자가 워크스페이스상의 비어있는 곳을 tap할 때 사용됨. Water live wallpaper에서 사용자가 터치한 부분에서 새로운 물줄기가 생성되도록 구현할때 사용되었다.
 
android.home.drop : 사용자가 워크스페이스상에 ICON이나 Widget을 drop할때 사용됨.

 
Live wallpaper는 Android 2.1의 기능이다. 당신이 만든 live wallpaper를 다운로드하여 잘 동작할것을 보장하기 위해서는 manifest에 아래와 같이 기술해야만 한다.

<uses-sdk android:minSdkVersion="7" /> <!-- Android 2.1에서 동작하도록 설정. -->
<uses-feature android:name="android.software.live_wallpaper" /> <!-- live wallpaper임을 설정 -->


이미 많은 live wallpaper들이 미리 마켓에 많으니 사용해보길 바란다.

이상입니다.
간단한  Live Wallpaper 만들기는 따로 포스팅을 하도록 하겠습니다.

그럼 오늘도 즐거운 하루~ 

 
로그인 없이 추천 가능합니다. 손가락 꾸욱~
반응형

댓글