读API,我们可以发现J2ME中Canvas的repaint()与Android中View的invalidate()/postInvalidate()方法实现了相同的功能(连说明文字几乎都一样…),但是invalidate()/postInvalidate()两者却有着区别:invalidate()只能在UI这个线程里通过调用onDraw(Canvascanvas)来update屏幕显示,而postInvalidate()是要在non-UI线程里做同样的事情的。

<!--EndFragment-->

代码如下:

      先创建入口类,其中定义一个public class AndroidActivity extends Activity implements Config {static BirdUI image;static int id1;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 设置当前Activity界面布局setContentView(R.layout.main);               }}

BirdUI类继承了ImageView,可以直接通过对象调用invalidate()/postInvalidate(),其中onDraw(Canvas canvas)是mageView的自己的方法。 BirdUI类中有两给方法:

public void showImage() {// 设置bitmap的图片资源bitmap = Bitmap.createBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.bird1));// 设置bitmap1的图片资源bitmap1 = Bitmap.createBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.pig1));}// 重写onDraw方法public void onDraw(Canvas canvas) {// 执行父类的onDraw方法super.onDraw(canvas);if (bitmap != null) {// 遍历小猪线程,绘制小猪for (PigThread pig : pigs) {// 画小猪canvas.drawBitmap(bitmap1, pig.x, pig.y, paint);}}// 在BirdThread.xx,BirdThread.yy坐标处画图bitmap图形// 画小鸟//System.out.println("BirdThread.xx" + BirdThread.xx + "BirdThread.yy"//+ BirdThread.yy);if (bitmap != null) {canvas.drawBitmap(bitmap, BirdThread.xx, BirdThread.yy, paint);}}

在主类运用线程,1,在线程里启动小猪线程

2,启动小鸟线程

代码如下:

new Thread() {       public void run() {             while (true) {try {sleep(1500);// 创建小猪对象PigThread pig = new PigThread();// 启动小猪对象pig.start();// 添加到在接口Config中定义ArrayList<PigThread>// pigs=newArrayList<PigThread>();// 便于遍历pigs.add(pig);} catch (Exception e) {e.printStackTrace();}       }}}.start();// 创建小鸟对象BirdThread bbar = new BirdThread();// 启动线程bbar.start();

他不是运用在本线程里,而是非本线程里。不能引用invalidate(),而只能 引postInvalidate。才能起到嵌套线程的作用。他不是運用在本线程里,而是非本线程里。

生命周期的诠释

http://xiaoruanjian.iteye.com/blog/1369325

呵呵,我觉得很全面,里面下了功夫。

请各位前辈指点,如有改正的地方,请各位前辈指正,呵呵额,谢谢。

各位同仁,也可以提意见,呵呵,谢谢。

更多相关文章

  1. Android(安卓)support library支持包常用控件介绍(二)
  2. Android(安卓)Studio使用JDBC连接MySQL出现java.lang.Unsupporte
  3. Android简易聊天室软件(HTTP实现)
  4. Android学习--深入探索RemoteViews
  5. Android事件分发机制的探索与发现之总结篇
  6. RxJava漫谈-RxAndroid使用
  7. Android数据储存——SharedPreferences储存
  8. Android(安卓)Hook框架Xposed详解:从源代码分析到开发指南
  9. Android隐藏标题栏的方法

随机推荐

  1. Timer TimerTask Handler三剑合一
  2. 图像滤镜(GPUImage/GPU加速)、美化/图像
  3. Android(安卓)Studio如何自动 import
  4. Android(安卓)Studio使用gradle-retrolam
  5. android 系统属性
  6. Android(安卓)Camera 通过V4L2与kernel d
  7. android crash 追踪方式
  8. Task和Activity相关
  9. React-native 开发之: 安卓(android) app
  10. Android(安卓)Studio 如何导出 Jar 给 Un