1、配置文件中 <uses-permission ……/>需要再<application……标签之前
2、如果有其他资源文件需要被直接访问,可以在res文件夹下建raw文件夹,将文件放入其中,代码访问直接用R.raw.X
3、主UI线程中不要进行IO、HTTP、URL等相关操作,另建一个线程来进行这些操作,一般做法是新建一个AsyncTask<X, Integer, Y>子类,实现其protected Y doInBackground(X... x)方法,进行相关操作,其返回值在子类的 onPostExecute中是传入参数,onPostExecute中进行操作完成后的一些处理
4、网络图片操作一般使用Bitmap类
5、用户设置信息记录,一般使用SharedPreferences sharedPreferences = getSharedPreferences("userSetting", Context.MODE_PRIVATE); editor = sharedPreferences.edit();//获取编辑器 ,使用editor.putString(……,……)存入信息,取值使用sharedPreferences.getString(……,……)
6、定时器的选择,有Timer和ScheduledExecutorService两种,Timer基于系统绝对时间,ScheduledExecutorService基于相对时间。在使用中发现,Timer在调整系统日期(有时候调整一次,有时候调整多次)后,定时器会死掉,改为ScheduledExecutorService后问题解决。
7、时间类型的选择,首先排除Date,java本身就已经逐渐不用Date,何况android。Calendar和Time两个,Time属于轻量级,适于android开发,但是正是因为轻量,属性方法不多,有点不方便,比如获取WEEK_OF_MONTH,还有一些方法使用起来有点问题。
8、在AppWidgetProvider onReceive方法中可以对很多事件进行拦截,需要再配置文件中设置拦截<intent-filter>
先整理这么多,以后再添加。