ANDROID APP项目开发步骤总结

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

做了几个android企业应用项目后,总结了项目的基本开发步骤,希望能够交流。一应用规划:※确定功能。※必须的界面及界面跳转的流程。※需要的数据及数据的来源及格式。※是否需要服务端支持。※是否需要本地数据库支持。※是否需要特殊权限。※是否需要后台服务。二架构设计:※分层。※网络连接。※数据处理-xml、domain。※封装Activity。三界面设计:※主界面确定。※模块界面、列表、查看、编辑界面。※菜单、按钮、对话框、提示信息。※界面总体颜色。四数据操作和存储:※数据来源。※数据类型。※存储方式。五业务实现:※客户端业务解析。六页面跳转:※每个页面间的跳转。※菜单、按钮、事件等。关键字:androidapp,androiddevelop,androidsummary从2010.04启动该项目到现在完成主要功能模块,分享一下开发历程和注意事项。开发环境:ubuntu7.10+eclipse3.5+sdk下面是开发总结:1.基于源码级的SDK以及SDK升级注意事项o熟悉其如何做资源国际化o熟悉其如何支持不同屏幕大小,不同density介质o熟悉其主要的API以及支持的最低版本和不被再支持的APIo了解其分层架构o升级SDK确保该平台支持相关的cglib版本(否则要升级ubuntu)简单容行的方式是remove~/.android下的相关东西,remove先前的相关版本,再升级部分Resources(如strings中有%s的)可能需要修改才能适应新的版本新的sdk里可能不包括老的如2.01版本2.Emulator&Mobileo用adbshell操作emulatorEclipse-window-ShowView-FileExplorer-pullafilefromthedevice(orpushafileontothedevice)o用realmobile连接usb来直接测试(mobile必须设置为develop/debugmode)更能用于性能测试,功能测试。而mobile更适合触摸操作测试和一些View的真实展现测试o屏幕大小适应测试(枚举大,中,小),屏幕方向(枚举横,竖屏),任务切换测试o内存适应只能在mobile上做测试3.系统配置项oSharedPreferences存储位置及如何在emulator上手动修改找到存储位置:\data\data\yourpackagedir\shared_prefs\yourxmlfiles按照上面的pull/pushthefileoSQLite(sqlite3)默认存储位置:\data\data\yourpackagedir\databases\yourdatabasename按照上面的用adbshell操作emulator做部分database的设计和数据更新设计版本更新和升级oOtherFileI/Oassert下文件读取文件权限以及读写o解读AndroidManifest.xmlapplication/process标识最开始启动的activityactivity栈的形式(指定taskAffinity&launchMode=singleTask),而且转向一个新的activity是用intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT)的形式需要的权限部分支持的最低版本4.基于View,Context,Manager的开发o系统View&Layout(Layout也是View)用View本身来做其他Layout间的一个分隔常用的View&Layout:ListView,ScrollView,RelativeLayout,TableLayout设计常用的style/theme用到的Drawable:常用的图片操作指定颜色的渲染(setColorFilter)剪裁o自定义View&LayoutJava代码1.publicclassTouchListViewextendsListView{publicTouchListView(Contextcontext,AttributeSetattrs,intdefStyle){2.}}Java代码1.publicclassToolbarextendsLinearLayout{2.publicToolbar(finalContextcontext){3.super(context);4.}5.6.publicToolbar(finalContextcon,AttributeSetattrs){7.}8.9.}oApplication,Activity,Service,View,IntentApplication,Activity,Service与Context的关系View与Context的关系用Application来做Activity,Service,View间的全局变量(这比自己用Singleton实现好)用工厂模式使用Intent做activity跳转sendBroadcast(实时数据交换可借助Thread+BroadcastReceiver)oWindowManager、PackageManager等的使用2.网络IOojava.netoandroid.netoorg.apache.http如果没有让他在AsyncTask中操作,则他的TimeOut设置必须少于5秒(为ANR等待时间)java.net.UnknownHostException如果发生在emulator,可参考:如果发生在mobile,则一般是DNS解析问题,要么允许用户再重试操作,要么把Host的域名改为publicipaddress3.绘图部分o在View上绘图只在原来View上加边框等Java代码1.@Override2.protectedvoiddispatchDraw(Canvascanvas){}自定义ViewJava代码1.@Override2.protectedvoidonDraw(Canvascanvas){o在Bitmap上绘图Java代码1.Bitmapresult=Bitmap.createBitmap(48,48,Config.ARGB_8888);2.Canvascanvas=newCanvas(result);3....4.canvas.drawBitmap(result,rect,rect,paint);2.动画o帧动画控制侦速率在25FPS以让其更流畅o渐变动画平移缩放旋转透明3.ANRo构建消息以及消息循环处理Handlero使用AsyncTask4.Exception&UncaughtExceptiono使用UncaughtExceptionHandler5.引入第三方jar以及与其他app共享数据o通过adduserlibrary方式添加第三方jaroContentProvider的使用6.性能优化/调优o基于View的优化代码级的规范oMethod级的调优MethodProfiling(如果直接usb连接mobile,需要root权限作此项)oGC分析使用AllocationTracker

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功