diff options
Diffstat (limited to 'docs/html')
-rw-r--r-- | docs/html/resources/articles/images/live_wallpapers_small.png | bin | 0 -> 152066 bytes | |||
-rw-r--r-- | docs/html/resources/articles/index.jd | 5 | ||||
-rw-r--r-- | docs/html/resources/articles/live-wallpapers.jd | 84 | ||||
-rw-r--r-- | docs/html/resources/resources_toc.cs | 21 | ||||
-rw-r--r-- | docs/html/resources/samples/images/CubeLiveWallpaper1.png | bin | 0 -> 49522 bytes | |||
-rw-r--r-- | docs/html/resources/samples/images/CubeLiveWallpaper3.png | bin | 0 -> 45714 bytes | |||
-rw-r--r-- | docs/html/resources/samples/index.jd | 29 |
7 files changed, 124 insertions, 15 deletions
diff --git a/docs/html/resources/articles/images/live_wallpapers_small.png b/docs/html/resources/articles/images/live_wallpapers_small.png Binary files differnew file mode 100644 index 0000000..3b49b24 --- /dev/null +++ b/docs/html/resources/articles/images/live_wallpapers_small.png diff --git a/docs/html/resources/articles/index.jd b/docs/html/resources/articles/index.jd index 4fda6d7..d2f0996 100644 --- a/docs/html/resources/articles/index.jd +++ b/docs/html/resources/articles/index.jd @@ -77,6 +77,11 @@ page.title=Technical Articles </dl> <dl> + <dt><a href="{@docRoot}resources/articles/live-wallpapers.html">Live Wallpapers</a></dt> + <dd>Live wallpapers are richer, animated, interactive backgrounds that users can display in their home screens. Learn how to create a live wallpaper and bundle it in an application that users can install on their devices.</dd> +</dl> + +<dl> <dt><a href="{@docRoot}resources/articles/on-screen-inputs.html">Onscreen Input Methods</a></dt> <dd>The Input Method Framework (IMF) allows users to take advantage of on-screen input methods, such as software keyboards. This article provides an overview of Input Method Editors (IMEs) and how applications interact with them.</dd> </dl> diff --git a/docs/html/resources/articles/live-wallpapers.jd b/docs/html/resources/articles/live-wallpapers.jd new file mode 100644 index 0000000..8dda879 --- /dev/null +++ b/docs/html/resources/articles/live-wallpapers.jd @@ -0,0 +1,84 @@ +page.title=Live Wallpapers +@jd:body + +<p>Starting with Android 2.1 (API Level 7), users can now enjoy <em>live +wallpapers</em> — richer, animated, interactive backgrounds — on +their home screens. A live wallpaper is very similar to a normal Android +application and has access to all the facilities of the platform: SGL (2D +drawing), OpenGL (3D drawing), GPS, accelerometers, network access, etc. The +live wallpapers included on Nexus One demonstrate the use of some of these APIs +to create fun and interesting user experiences. For instance, the Grass +wallpaper uses the phone's location to compute sunrise and sunset times in order +to display the appropriate sky.</p> + +<img src="images/live_wallpapers_small.png" style="align:center" /> + +<p>Creating your own live wallpaper is easy, especially if you have had +previous experience with <a +href="../../../reference/android/view/SurfaceView.html"><code>SurfaceView</code></a> or <a +href="../../../reference/android/graphics/Canvas.html"><code>Canvas</code></a>. +To learn how to create a live wallpaper, you should check out the <a +href="../samples/CubeLiveWallpaper/index.html">CubeLiveWallpaper sample code</a>.</p> + +<p>In terms of implementation, a live wallpaper is very similar to a regular +Android <a href="../../../reference/android/app/Service.html">service</a>. The +only difference is the addition of a new method, <a +href="../../../reference/android/service/wallpaper/WallpaperService. +html#onCreateEngine()"><code>onCreateEngine()</code></a>, whose goal is to create a <a +href="../../../reference/android/service/wallpaper/WallpaperService.Engine.html"> +<code>WallpaperService.Engine</code></a>. The engine is responsible for +handling the lifecycle and drawing of a wallpaper. The system provides a surface +on which you can draw, just like you would with a <code>SurfaceView</code></a>. +Drawing a wallpaper can be very expensive so you should optimize your code +as much as possible to avoid using too much CPU, not only for battery life +but also to avoid slowing down the rest of the system. That is also why the +most important part of the lifecycle of a wallpaper is <a href="../../../reference/android/service/wallpaper/WallpaperService.Engine.html#onVisibilityChanged%28boolean%29">when it becomes invisible</a>. +When invisible, such as when the user launches an application that covers +the home screen, a wallpaper must stop all activity.</p> + +<p>The engine can also implement several methods to interact with the user +or the home application. For instance, if you want your wallpaper to scroll +along when the user swipes from one home screen to another, you can use <a href="../../../reference/android/service/wallpaper/WallpaperService.Engine.html#onOffsetsChanged%28float,%20float,%20float,%20float,%20int,%20int%29"><code>onOffsetsChanged()</code></a>. +To react to touch events, simply implement <a href="../../../reference/android/service/wallpaper/WallpaperService.Engine.html#onTouchEvent%28android.view.MotionEvent%29"><code>onTouchEvent(MotionEvent)</code></a>. +Finally, applications can send arbitrary commands to the live wallpaper. +Currently, only the standard home application sends commands to the <a +href="../../../reference/android/service/wallpaper/WallpaperService.Engine.html#onCommand%28java.lang.String,%20int,%20int,%20int,%20android.os.Bundle,%20boolean%29"><code>onCommand()</code></a> +method of the live wallpaper:</p> + +<ul> +<li><code>android.wallpaper.tap</code>: When the user taps an empty space +on the workspace. This command is interpreted by the Nexus and Water live +wallpapers to make the wallpaper react to user interaction. For instance, +if you tap an empty space on the Water live wallpaper, new ripples appear +under your finger.</li> +<li><code>android.home.drop</code>: When the user drops an icon or a widget +on the workspace. This command is also interpreted by the Nexus and Water +live wallpapers.</li> +</ul> + +<p>If you are developing a live wallpaper, remember that the feature is +supported only on Android 2.1 (API level 7) and higher versions of the platform. +To ensure that your application can only be installed on devices that support +live wallpapers, remember to add the following to the application's manifest +before publishing to Android Market:</p> + +<ul> +<li><code><uses-sdk android:minSdkVersion="7" /></code>, which indicates +to Android Market and the platform that your application requires Android 2.1 or +higher. For more information, see the <a href="../../../guide/appendix/api-levels.html">API +Levels</a> and the documentation for the +<a href="../../../guide/topics/manifest/uses-sdk-element.html"><code><uses-sdk></code></a> +element.</li> +<li><code><uses-feature android:name="android.software.live_wallpaper" /></code>, +which tells Android Market that your application includes a live wallpaper +Android Market uses this feature as a filter, when presenting users lists of +available applications. When you declaring this feature, Android Market +displays your application only to users whose devices support live wallpapers, +while hiding it from other devices on which it would not be able to run. For +more information, see the documentation for the +<a href="../../../guide/topics/manifest/uses-feature-element.html"><code><uses-feature></code></a> +element.</li> +</ul> + +<p>Many great live wallpapers are already available on Android Market and +we can't wait to see more!</p> diff --git a/docs/html/resources/resources_toc.cs b/docs/html/resources/resources_toc.cs index e337e38..0972029 100644 --- a/docs/html/resources/resources_toc.cs +++ b/docs/html/resources/resources_toc.cs @@ -83,6 +83,9 @@ <li><a href="<?cs var:toroot ?>resources/articles/live-folders.html"> <span class="en">Live Folders</span> </a></li> + <li><a href="<?cs var:toroot ?>resources/articles/live-wallpapers.html"> + <span class="en">Live Wallpapers</span> + </a> <span class="new">new!</span></li> <li><a href="<?cs var:toroot ?>resources/articles/on-screen-inputs.html"> <span class="en">Onscreen Input Methods</span> </a></li> @@ -178,28 +181,34 @@ </a></li> <li><a href="<?cs var:toroot ?>resources/samples/BluetoothChat/index.html"> <span class="en">Bluetooth Chat</span> - </a> <span class="new">new!</span></li> + </a></li> <li><a href="<?cs var:toroot ?>resources/samples/BusinessCard/index.html"> <span class="en">Business Card</span> - </a> <span class="new">new!</span></li> + </a></li> <li><a href="<?cs var:toroot ?>resources/samples/ContactManager/index.html"> <span class="en">Contact Manager</span> - </a> <span class="new">new!</span></li> + </a></li> <li><a href="<?cs var:toroot ?>resources/samples/Home/index.html"> <span class="en">Home</span> </a></li> <li><a href="<?cs var:toroot ?>resources/samples/JetBoy/index.html"> <span class="en">JetBoy</span> </a></li> + <li><a href="<?cs var:toroot ?>resources/samples/CubeLiveWallpaper/index.html"> + <span class="en">Live Wallpaper</span> + </a> <span class="new">new!</span></li> <li><a href="<?cs var:toroot ?>resources/samples/LunarLander/index.html"> <span class="en">Lunar Lander</span> </a></li> <li><a href="<?cs var:toroot ?>resources/samples/MultiResolution/index.html"> <span class="en">Multiple Resolutions</span> - </a> <span class="new">new!</span></li> + </a></li> <li><a href="<?cs var:toroot ?>resources/samples/NotePad/index.html"> <span class="en">Note Pad</span> </a></li> + <li><a href="<?cs var:toroot ?>resources/samples/SampleSyncAdapter/index.html"> + <span class="en">Sample Sync Adapter</span> + </a> <span class="new">new!</span></li> <li><a href="<?cs var:toroot ?>resources/samples/SearchableDictionary/index.html"> <span class="en">Searchable Dictionary</span> </a></li> @@ -211,10 +220,10 @@ </a></li> <li><a href="<?cs var:toroot ?>resources/samples/Wiktionary/index.html"> <span class="en">Wiktionary</span> - </a> <span class="new">new!</span></li> + </a></li> <li><a href="<?cs var:toroot ?>resources/samples/WiktionarySimple/index.html"> <span class="en">Wiktionary (Simplified)</span> - </a> <span class="new">new!</span></li> + </a></li> </ul> </li> </ul> diff --git a/docs/html/resources/samples/images/CubeLiveWallpaper1.png b/docs/html/resources/samples/images/CubeLiveWallpaper1.png Binary files differnew file mode 100644 index 0000000..55bc1e9 --- /dev/null +++ b/docs/html/resources/samples/images/CubeLiveWallpaper1.png diff --git a/docs/html/resources/samples/images/CubeLiveWallpaper3.png b/docs/html/resources/samples/images/CubeLiveWallpaper3.png Binary files differnew file mode 100644 index 0000000..2747a88 --- /dev/null +++ b/docs/html/resources/samples/images/CubeLiveWallpaper3.png diff --git a/docs/html/resources/samples/index.jd b/docs/html/resources/samples/index.jd index 0beb781..5ebf41c 100644 --- a/docs/html/resources/samples/index.jd +++ b/docs/html/resources/samples/index.jd @@ -27,10 +27,10 @@ android update project -s -n API Demos -t <em><target_ID></em> -p <em><pat platforms) and allow you to view the source files in your browser. </p> <div class="special"> - <p>Some of the samples in this listing are not yet available in the - SDK. While we work to update the SDK, you can - <a href="{@docRoot}shareables/latest_samples.zip">download the latest samples</a> as a ZIP - archive.</p> + <p>Some of the samples in this listing may not yet be available in the + SDK. To ensure that you have the latest versions of the samples, you can + <a href="{@docRoot}shareables/latest_samples.zip">download the samples pack</a> + as a .zip archive.</p> </div> <dl> @@ -55,11 +55,15 @@ platforms) and allow you to view the source files in your browser. </p> <dt><a href="Home/index.html">Home</a></dt> <dd>A home screen replacement application.</dd> - + <dt><a href="JetBoy/index.html">JetBoy</a></dt> <dd>A game that demonstrates the SONiVOX JET interactive music technology, with {@link android.media.JetPlayer}.</dd> - + + <dt><a href="CubeLiveWallpaper/index.html">Live Wallpaper</a></dt> + <dd>An application that demonstrates how to create a live wallpaper and + bundle it in an application that users can install on their devices.</dd> + <dt><a href="LunarLander/index.html">Lunar Lander</a></dt> <dd>A classic Lunar Lander game.</dd> @@ -70,14 +74,21 @@ platforms) and allow you to view the source files in your browser. </p> <dt><a href="NotePad/index.html">Note Pad</a></dt> <dd>An application for saving notes. Similar (but not identical) to the <a href="{@docRoot}resources/tutorials/notepad/index.html">Notepad tutorial</a>.</dd> - + + <dt><a href="SampleSyncAdapter/index.html">SampleSyncAdapter</a></dt> + <dd>Demonstrates how an application can communicate with a +cloud-based service and synchronize its data with data stored locally in a +content provider. The sample uses two related parts of the Android framework +— the account manager and the synchronization manager (through a sync +adapter).</dd> + <dt><a href="SearchableDictionary/index.html">Searchable Dictionary</a></dt> <dd>A sample application that demonstrates Android's search framework, including how to provide search suggestions for Quick Search Box.</dd> - + <dt><a href="Snake/index.html">Snake</a></dt> <dd>An implementation of the classic game "Snake."</dd> - + <dt><a href="SoftKeyboard/index.html">Soft Keyboard</a></dt> <dd>An example of writing an input method for a software keyboard.</dd> |