Android app项目和开发总结
?
关键字: android app,?android develop, android summary
???? 从2010.04启动该项目到现在完成主要功能模块,分享一下开发历程和注意事项。?
???? 开发环境: ubuntu7.10 + eclipse 3.5 + sdk
???? 下面是开发总结:?
public class TouchListView extends ListView { public TouchListView(Context context, AttributeSet attrs, int defStyle) {} }?public class Toolbar extends LinearLayout { public Toolbar(final Context context) {super(context);}public Toolbar(final Context con, AttributeSet attrs) { }}?Application,Activity,Service,View,IntentApplication,Activity,Service与Context的关系View与Context的关系用Application来做Activity,Service,View间的全局变量(这比自己用Singleton实现好)用工厂模式使用Intent做activity跳转sendBroadcast(实时数据交换可借助Thread+WindowManager 、PackageManager 等的使用网络IOjava.netandroid.netorg.apache.http如果没有让他在AsyncTask中操作,则他的TimeOut设置必须少于5秒(为ANR等待时间)java.net.UnknownHostException如果发生在emulator,可参考: http://blog.csdn.net/abby_dcy/archive/2010/08/09/5798945.aspx如果发生在mobile,则一般是DNS解析问题,要么允许用户再重试操作,要么把Host的域名改为public ip address绘图部分在View上绘图只在原来View上加边框等@Override protected void dispatchDraw(Canvas canvas) {}?自定义View@Overrideprotected void onDraw(Canvas canvas) {?在Bitmap上绘图Bitmap result = Bitmap.createBitmap(48,48, Config.ARGB_8888); Canvas canvas = new Canvas(result); ...canvas.drawBitmap(result, rect, rect, paint);?动画帧动画控制侦速率在25FPS以让其更流畅?渐变动画平移缩放旋转透明ANR构建消息以及消息循环处理Handler使用AsyncTaskException &?UncaughtException使用UncaughtExceptionHandler引入第三方jar以及与其他app共享数据通过add user library方式添加第三方jarContent Provider的使用?性能优化/调优?基于View的优化http://dl.iteye.com/topics/download/774b3e9e-1c48-33bd-bc9d-5c27da998181 代码级的规范Method级的调优Method Profiling(如果直接usb连接mobile,需要root权限作此项)GC分析 使用Allocation Tracker