`

live wallpaper

 
阅读更多

Service 类由一个service的main java类继承.Services像 activities一样 也有个生命周期,但较之要简单得多。在这个周期中,当我们第一次创建service类时, 需要调用onCreate()的方法。而当我们消除该service时,则调用了onDestroy()方法。

而在这两者之间,当客户发出开始service的请求时,Android将调用 onStartCommand()方法 。当然Android也为我们提供一些其他的方法以备不时需,例如在内存低情况下使用的onLowMemory()方法,

我们这个例子中,不需要关心这些方法,因为他们都将由Service的子类WallpaperService 来处理。

我们的main类需要扩展成Wallpaper,

import android.service.wallpaper.WallpaperService;

 
 
public
  
class
  Wallpaper  
extends
  WallpaperService  {
private class MyEngine extends Engine {
// 从这里实现引擎。。。
}
@Override
public Engine onCreateEngine() {
return new MyEngine();
}
}

我们现在要做的就是实现只有一行代码的onCreateEngine()方法。
它的唯一目的就是要创建并返回另一个叫做MyEngine的类。


构建一个绘图引擎

因为这个MyEngine一定要是Wallpaper里的一个类,所以在类的封闭的大括号中声明了它。MyEngine 扩展了由Android提供的Engine类。

需要注意的是每个方法应该总是调用其基类方法。

在Engine的整个生命周期中,Android会在特定的命令下调用这些方法。下面就是整个句子。

onCreate
onSurfaceCreated
onSurfaceChanged (1+ calls in any order)
onOffsetsChanged (0+ calls in any order)
onVisibilityChanged (0+ calls in any order)
onSurfaceDestroyed
onDestroy

接下来,我们将填写这些方法。不过我们还需要几个声明来防止编译出错

1
 import
  java.util.concurrent.ExecutorService;
2 import java.util.concurrent.Executors;
3 import javax.microedition.khronos.egl.EGL10;
4 import javax.microedition.khronos.egl.EGL11;
5 import javax.microedition.khronos.egl.EGLConfig;
6 import javax.microedition.khronos.egl.EGLContext;
7 import javax.microedition.khronos.egl.EGLDisplay;
8 import javax.microedition.khronos.egl.EGLSurface;
9 import javax.microedition.khronos.opengles.GL10;
10 import android.service.wallpaper.WallpaperService;
11 import android.view.SurfaceHolder;



原文完整版:http://www.cnblogs.com/ClassroomStudio/archive/2010/08/13/livewallpaper_2.html
分享到:
评论

相关推荐

    两个Android 动态壁纸 Live Wallpaper例子

    在Android平台上,动态壁纸(Live Wallpaper)是一种可以让用户自定义主屏幕背景的高级功能,它不仅限于静态图片,还能展示动画或者交互式效果。本压缩包提供的"两个Android 动态壁纸 Live Wallpaper-...

    X Live Wallpaper X动态壁纸v3.7 高级版.zip

    《X Live Wallpaper X动态壁纸v3.7 高级版》是一个专为手机或平板设备设计的高级动态壁纸应用。该应用提供了丰富的个性化选项,让用户能够定制自己的桌面背景,为移动设备增添生动有趣的视觉效果。v3.7版本可能是该...

    【安卓笔记】Live Wallpaper 二:天上掉下一只猫

    在安卓平台上,动态壁纸(Live Wallpaper)为用户提供了一种个性化的桌面体验,让用户的手机桌面不再静止不动,而是充满生机。这篇名为“【安卓笔记】Live Wallpaper 二:天上掉下一只猫”的博文,主要探讨了如何...

    Android 动态壁纸 Live Wallpaper

    Android动态壁纸,或者说“Live Wallpaper”,是Android操作系统中一种特殊的应用类型,允许用户将动态、交互式的背景设置为手机或平板电脑的主屏幕壁纸。这种壁纸不仅提供了静态图像的视觉体验,还可以根据用户的...

    华丽 桌面插件 Ditalix Live Wallpaper Suite 1.2.3.10

    桌面插件 Ditalix Live Wallpaper Suite 1.2.3.10-华丽动态壁纸集合 ICON:软件icon 软件名称:Ditalix Live Wallpaper Suite 软件版本:1.2.3.10~华丽动态壁纸集合 软件大小:31.27M 软件语言:英文 支持平台:...

    Android 仿火萤视频桌面 神奇的LiveWallPaper

    Android 仿火萤视频桌面 神奇的LiveWallPaper

    Android动态桌面LiveWallpaper

    在本篇文章中,我们将深入探讨Android LiveWallpaper的概念、工作原理以及如何创建和应用它们。 **一、Android LiveWallpaper概念** LiveWallpaper是Android系统中一种特殊的壁纸类型,它可以呈现动态效果,如动画...

    Video Live Wallpaper_v1.4.1

    《Video Live Wallpaper_v1.4.1》是一款专为Android用户设计的动态壁纸应用,它提供了丰富的视频背景,让用户的手机桌面生动起来。这款软件在MIUI、FM、GALAXY以及EIMU等常见Android系统上都可以流畅运行,为用户...

    Android代码-Live-Wallpaper-App

    LiveWallpaper Live Wallpaper App using OpenGL ES 2.0

    android live wallpaper 教程

    ### Android Live Wallpaper 教程知识点概述 #### 一、引言 在Android 2.1版本中引入了一项新功能——动态壁纸(Live Wallpaper),它为用户提供了更加生动且交互性的桌面背景。与传统的静态壁纸不同,动态壁纸不仅...

    Creating Android live wallpaper

    在Android平台上,动态壁纸(Live Wallpaper)是一种可以让用户自定义主屏幕背景的特殊类型的应用程序。它们不仅可以显示静态图像,还可以展示动态效果、交互式动画或者其他复杂视觉元素。本篇文章将深入探讨如何...

    LiveWallpaper.apk

    LiveWallpaper.apk

    Infinity Live Wallpaper.apk

    Infinity Live Wallpaper.apk

    Unity BitPaper Live Wallpaper 动态墙纸

    Unity BitPaper Live Wallpaper 动态墙纸,实现绚丽的动态墙纸

    Live Wallpaper-crx插件

    《Live Wallpaper-crx插件详解:打造个性化的动态桌面体验》 在当今的数字时代,个性化和用户体验成为了科技产品的重要考量因素。Live Wallpaper-crx插件正是为了满足这一需求而诞生,它允许用户将静态的桌面壁纸...

    Huawei_Mate_20_Live_Wallpapers_by_XDA_com_huawei_livewallpaper_matetwenty.apk

    Huawei_Mate_20_Live_Wallpapers_by_XDA_com_huawei_livewallpaper_matetwenty.apk

    com.fengqin.livewallpaper.sxpp-1.1-2-257704.apk

    com.fengqin.livewallpaper.sxpp-1.1-2-257704.apk

    com.fengqin.livewallpaper.wh-1.1-2-257710.apk

    com.fengqin.livewallpaper.wh-1.1-2-257710.apk

Global site tag (gtag.js) - Google Analytics