2012-8-23

昨天又回到沈阳了,准备新学期的学习。这个学期要学的内容真的很多,包括大学里学分最多的课都在这个学期了。三门重点课程更是我所希望了解的。不过,暂时对此还没有很多计划。不过可以肯定,必须更勤奋了。

在上个学期末,给这个假期定的计划是放松。不过,实际上真的放松不了。回家前定的两个项目,一个为视点网写的Android客户端以及学院希望我们提交的WindowsPhone程序。前一个错误地估计了HTML 5的普及,现在得用Android原生界面重写。大概在新学期的时候可以完成。

在完成Android的程序的时候,也发现了不少有趣的内容,例如,超越所有构造函数的匿名构造函数:

class TestClass {
	private int a;
	private Integer b;
	private long c;

	{
		a = 1;
		b = new Integer(a);
	}

	public TestClass(long c) {
		this.c = c;
	}
}

中间用 { ... } 括起来的就是一个匿名的构造函数,独立于所有构造函数,无论调用哪个构造函数,都会先调用这个构造函数。挺有用的吧。对于静态变量,可以用 static { ... } 来初始化。

另一些发现则是和Android的Looper、Handler、Message类框架有关的类。Looper类的构造和Thread类密切相关,而且Thread类的静态方法Thread.currentThread()可以唯一确定一个Thread然后制作一个线程池进行管理。Looper类的消息机制也建立与此。而且,利用Handler类的消息延迟发送功能,可以巧妙地构建动画,而且这个动画还在当前UI线程,可以安全地更新UI。