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绘制一个数独的棋盘出来。