segment 1

android 小游戏 ---- 数独(一)

规则:在9X9的棋盘中,每个横行和竖列中的9个格子都包含数字1至9,不重复,

且每个黑色粗实线围住的9个格子都包含数字1至9,不重复。

既然涉及到棋盘,那就少不了绘图,我们知道在android中绘图的工作是由UI线程完成的,

一般是指主线程,而android系统设定UI绘图线程超过5秒不响应就会报异常,所以一般在

子线程中进行数据的计算,然后将消息发给UI线程,使之更新界面。

在Java中我们可以通过View来绘图,在默认情况下,视图是很轻量的。同样在android里

我们也可以使用View进行绘图,只要让我们自己创建的类继承View,重写onDraw()方法

,然后在Activity中new一个自己写的View类的实例,并且实例化,在setContentView()中设置即可。

对于一个小游戏来说,它的计算量也是轻量级的,超过5s基本上不可能,所以直接在UI线程中更新界面

也没有什么大问题,但是在这里我们尝试使用android提供的一个绘图类来实现绘图操作。

就是SurfaceView,这个类继承自View。

android允许我们先在SurfaceView中绘图,将绘制的东西全部缓存到Surface中,然后在主线程内

渲染到屏幕上。如下图:

好,先到这里,下一篇我们使用SurfaceView绘制一个数独的棋盘出来。

更多相关文章

  1. 浅析Android中的消息机制-解决:Only the original thread that cr
  2. Android异步消息机制之Handler
  3. Android的Handler机制详解3_Looper.looper()不会卡死主线程
  4. Android之Handler用法总结
  5. Android开发之消息处理机制(一)——Handler
  6. Android异步加载图像小结 (含线程池,缓存方法)
  7. android 面试题集
  8. android绘图之Paint(1)
  9. [Innost]Android深入浅出之Binder机制

随机推荐

  1. Android(安卓)程序主菜单 布局
  2. android:gravity 和android:layout_gravit
  3. android:layout_weight详解 (总结版)
  4. android大牛高焕堂最新力作-android架构
  5. Android百度地图开发(二):项目创建
  6. android:text 文字阴影设置
  7. android:paddingLeft 和 layout_marginLe
  8. android:id="@android:id/tabhost" 、and
  9. android:gravity 和android:layout_gravit
  10. Android最佳实践(一)