java 制作动态手机壁纸_android 动态切换壁纸实例 利用service机制实现 附完整源码 带动态截图...
【实例简介】通过点击 startService实现 android手机动态壁纸功能
【实例截图】
【核心代码】
main.xml
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
android:layout_height="wrap_content" android:text="@string/hello" />
android:layout_height="wrap_content" android:text="startService"
android:onClick="myStartService" />
android:layout_height="wrap_content" android:text="stopService"
android:onClick="myStopService" />
android:layout_height="wrap_content" android:text="bindService"
android:onClick="myBindService" />
android:layout_height="wrap_content" android:text="unBindService"
android:onClick="myUnBindService" />
MainActivity.java
package com.service;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.view.View;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void myStartService(View view) {
Intent intent = new Intent(this, MyService.class);
this.startService(intent);
}
public void myStopService(View view) {
Intent intent = new Intent(this, MyService.class);
this.stopService(intent);
}
ServiceConnection connection = new ServiceConnection() {
public void onServiceConnected(ComponentName name, IBinder service) {
System.out.println("Connected");
System.out.println(name.getClassName());
System.out.println(name.getPackageName());
MyServiceOther.MyBinder binder = (MyServiceOther.MyBinder) service;
MyServiceOther myS = binder.getService();
System.out.println(myS.i);
}
public void onServiceDisconnected(ComponentName name) {
System.out.println("Disconnected");
}
};
public void myBindService(View view) {
Intent intent = new Intent(this, MyServiceOther.class);
this.bindService(intent, connection, Context.BIND_AUTO_CREATE);
}
public void myUnBindService(View view) {
this.unbindService(connection);
}
}
MyService.java
package com.service;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
public class MyService extends Service {
boolean flag = true;
MyThread myThread;
int[] ins = new int[] { R.drawable.item1, R.drawable.item2,
R.drawable.item3 };
int i = 0;
class MyThread extends Thread {
public void run() {
while (flag) {
i ;
try {
Thread.sleep(3000);
MyService.this.setWallpaper(MyService.this.getResources()
.openRawResource(ins[i % 3]));
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
}
public IBinder onBind(Intent intent) {
return null;
}
public void onCreate() {
super.onCreate();
System.out.println("onCreate");
myThread = new MyThread();
myThread.start();
}
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
System.out.println("onStart");
}
public void onDestroy() {
super.onDestroy();
System.out.println("onDestroy");
flag = false;
}
}
MyServiceOther.java
package com.service;
import android.app.Service;
import android.content.Intent;
import android.os.Binder;
import android.os.IBinder;
public class MyServiceOther extends Service {
int i = 5;
class MyBinder extends Binder {
MyServiceOther getService() {
return MyServiceOther.this;
}
}
public IBinder onBind(Intent intent) {
System.out.println("onBind");
return new MyBinder();
}
public boolean onUnbind(Intent intent) {
System.out.println("onUnbind");
return super.onUnbind(intent);
}
public void onCreate() {
super.onCreate();
System.out.println("onCreate");
}
public void onDestroy() {
super.onDestroy();
System.out.println("onDestroy");
}
}
java 制作动态手机壁纸_android 动态切换壁纸实例 利用service机制实现 附完整源码 带动态截图...相关推荐
- JavaScript实现切换数字的符号switchSign算法(附完整源码)
JavaScript实现切换数字的符号switchSign算法(附完整源码) switchSign.js完整源代码 switchSign.js完整源代码 /*** Switch the sign of ...
- Java:实现集合A、B的交集、并集以及余集算法(附完整源码)
Java:实现集合A.B的交集.并集以及余集算法 import java.util.Scanner; import java.util.TreeSet; public class Main {publ ...
- JavaScript实现唯一路径问题的动态编程方法的算法(附完整源码)
JavaScript实现唯一路径问题的动态编程方法的算法(附完整源码) dpUniquePaths.js完整源代码 dpUniquePaths.test.js完整源代码 dpUniquePaths.j ...
- JavaScript实现截留雨水问题的动态编程方法算法(附完整源码)
JavaScript实现截留雨水问题的动态编程方法算法(附完整源码) dpRainTerraces.js完整源代码 dpRainTerraces.tset.js完整源代码 dpRainTerraces ...
- JavaScript实现跳跃游戏的动态编程自上而下的方法算法(附完整源码)
JavaScript实现跳跃游戏的动态编程自上而下的方法算法(附完整源码) dpTopDownJumpGame.js完整源代码 dpTopDownJumpGame.test.js完整源代码 dpTop ...
- JavaScript实现跳跃游戏的动态编程自下而上的方法的算法(附完整源码)
JavaScript实现跳跃游戏的动态编程自下而上的方法的算法(附完整源码) dpBottomUpJumpGame.js完整源代码 dpBottomUpJumpGame.test.js完整源代码 dp ...
- 编程语言用 Java 开发一个打飞机小游戏(附完整源码)
编程语言用 Java 开发一个打飞机小游戏(附完整源码) 上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过 ...
- 视频教程-物联网之java实现(springboot + netty + 心跳,附完整源码)-Java
物联网之java实现(springboot + netty + 心跳,附完整源码) 10年的软件行业从业经验,熟悉java开发.java 架构.微服务.自动化高级运维.压力测试等. 林忠明 ¥200. ...
- C++Dynamic Array动态数组(附完整源码)
Dynamic Array动态数组 Dynamic Array动态数组算法的完整源码(定义,实现,main函数测试) Dynamic Array动态数组算法的完整源码(定义,实现,main函数测试) ...
最新文章
- javascript_JavaScript疲劳疲劳
- 一步步带你做vue后台管理框架(三)——登录功能
- Linux怎么确定信号来源,Linux信号来源和捕获处理以及signal函数简介
- python从入门到大神---4、python3文件操作最最最最简单实例
- axure删除的页面怎么恢复_微信删除好友怎么找回?快速恢复,真的不难
- [论文阅读] Maintaining Discrimination and Fairness in Class Incremental Learning
- Matlab中使用varargin来实现参数可变的函数
- PHP之Smarty模板学习
- 云上直播性能优化及测试方案详解
- cypress自动化--运行测试用例报告输出
- c语言程序心得体会感想,c语言编程学习心得体会3篇
- 飞行器制导与控制及其Matlab仿真
- 微信小程序蓝牙打印(中文乱码已解决)-分包发送(安卓和苹果手机均兼容)
- 向量的数量函数的导数
- 深信服技术认证之使用spark进行数据分析示例之拆分字段
- 【ST表】Zoning Houses
- opencl 核函数创建存储器对象以实现向量
- win10计算机窗口览,Win10窗口预览管理工具
- java 压缩加密_Java实现自动压缩文件并加密的方法示例
- 无人机云台电机用的是哪种?