1、可以指定android:weightSum属性
2、使用 标签来应对变化
3、使用 标签延迟加载有可能不需要加载的数据 标签中可以指定inflateId属性
4、使用自定义ViewGroup,重写onMeasure、onLayout
5、使用Android的PreferenceCategory
6、使用TextSwitcher、ImageSwitcher来制作过渡动画
7、使用LayoutAnimathionController,使用View#setLayoutAnimation
8、使用Canvas手动绘制一些动画
9、使用NineOldAndroids制作幻灯片播放动画
10、使用一个Editext样式的图片作为Button的背景来弹出DatePicker让用户选择正确的日期
11、使用TextView#setText(Html.fromHtml())来自定义样式,使用Spannable来自定义TextView的显示样式
12、使用TextView的shadowColor属性来定义发光字
13、使用xml定义圆角矩形
14、使用View#post()方法在activity的onCreate中获取view的大小
15、处理视屏播放横屏问题
16、移除activity的背景和title来加快启动速度
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.NoBackground" parent="android:Theme"> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@null</item>
</style>
</resources>
17、使用Toast#setGravity来设置toast的显示位置
18、使用Gallery做注册界面
19、使用proguard 来删除日志 # -assumenosideeffects
20、使用hierarchy viewer来移除不必要的布局
21、Modle-View-Presenter 模式 Activity通过接口和Presenter Modle通信
22、BroadCastReceiver与Activity的生命周期保持一致,onResume onPause
23、使用Android的libry工程
24、当后台任务比较简单并且你不必关系结果的时候才去用AsyncTask
25、使用SyncAdapter处理后台任务
26、使用ListView的setEmptyView
27、ListView#ViewHolder
28、ListView使用ViewType进行分组
29、使用代理与Adapter进行通信
30、使用ListView的HeadView
31、ViewPager处理屏幕旋转
32、为ListView设置choiceMode
33、使用AspectJ进行AOP编程,使用Cocos2d-x
34、使用Itoa将Object-c代码运行在Android上
35、将Scala运行在Android上
36、使用intent来激活系统组件,比如拍照、选择一张图片
37、用户反馈时上传用户设备信息
38、将MP3添加到media ContentProvider
39、为ActionBar添加刷新按钮
40、使用LIFO后台任务为listView加载图片
41、使用ORMLite来操作数据库
42、使用原生sql语句比ORM框架性能好,使用NDK扩展sqlite的操作
43、使用批量操作数据库接口
44、全屏应用注意版本兼容
45、操作SharePreference时如果无需返回值使用apply代替commit
46、使用Marven
47、使用jekins进行不同版本要求的构建