虽然是小错误,如果一时没想到点子上,排查时很浪费时间。
1TextView.setText()方法是可以传一个int类型参数的,是一个字符串的引用资源id,所以当你要添入一个数字时,尤其是你的数字本身就是int类型,编译器不会报错,会报运行时异常android.content.res.Resources$NotFoundException: String resource ID。记得一定要setText(""+intValue)。
2android中sql语句异常一般都会被截获,但是sql是很严格的,尤其是使用字符串拼接的时候缺失空格会导致语句执行失败。而且容易忽略,建议用“?”和参数表的形式。
3真的是细节不容忽视,24*60*60*1000L(用来计算1天),看是不起眼的乘法,如果不加上长整型标记L,结果一定会出乎你意料。
4老是忽略查询后cursor.moveToFirst,没有这个是拿不到数据的,数据库操作一般放在try里面,这个错不形成习惯的话,不是很容易排查
5曾经一度被提倡用sp作为字体的单位,但是实际上发现它并没想象中好,实际建议还是用dp作为单位,更能跟随界面变化
6昨天使用SharedPreference的时候,提交数据没获取到。我是这么写的:
sp.edit().put(key,value);
sp.edit().commit();
然后取的时候就取不到了。虽然是同一个sp,但是两次edit()得到的不是同一个对象。所以务必要使用同一个editor对象执行put和commit。