当前位置:文档之家› Android应用程序开发完整训练:从零起步通过23个动手实战案例精通App开发

Android应用程序开发完整训练:从零起步通过23个动手实战案例精通App开发

从零起步,24小时内通过23个动手实战案例,循序渐进的对Android商业级别的应用程序开发要点各个击破,依托于在多年的Android(6款完整的硬件产品和超过20款应用软件)开发和企业级培训经验(超过150期的次Android的企业内训和公开课),旨在在实务的基础之上帮助你完成任何复杂程序的高质量Android应用程序开发,让Android开发跟上想象的速度。

最后,通过ActivityManagerService揭秘Android应用程序一切行为背后的核心根源,让你从此开发应用程序居高零下、举重若轻。

课程要点:1,抽取Android应用开发中用到的最精华的Java技术加以剖析;2,从零起步构建Android开发环境和编写并彻底剖析第一个Android程序;3,彻底剖析不同Activity之间所有的交互模式;4,根据商业化场景彻底剖析Android的生命周期及其使用的最佳时间;5,使用JUnit测试Android业务代码;6,掌握Android基本和核心的UI开发技术;7,”Android商业化高级UI实战”是根据过去20多款商业级别Android应用程序开发尤其是类似CRM系统中最经典、最经常使用的技术抽取而成,掌握之后基本上不会在遇到UI 方面的难点;8,细致剖析并实战Android性能测试,找出性能瓶颈,并进行代码优化,分享代码优化的最佳实践;9,对数据的处理时Android绝大多数应用程序的核心,尤其是对CRM系统而言,这一天,我们会对Android中的本地数据处理方式及其商业使用场景进行彻底剖析和实战;10,从SharedPreferences到内部文件系统,从SDCard操作到SQLite数据库,从XML和JSON的解析于生成到数据共享统一接口ContentProvider,对Android本地的数据处理方式进行地毯式轰炸;11,通讯录的操作的原理、流程和场景等进行了情景再现性的代码实战;12,通过Android手机卫士商业级别的代码案例实战Android中BroadcastReceiver和Service;13,根据过去20多款程序的商业实战总结出了能够解决基于HTTP协议的任意文件类型、任意大小文件的网络上传和下载,Android网络开发从此一劳永逸;14,实战WiFi数据交换;15,尤其是额外提到异步http框架,具备很强的商业价值;16,Android横竖屏切换的经典场景、生命周期和解决方案;17,实战构建多语言国际化的Android应用程序;18,如何编译APK来提高应用的安全性;19,如何反编译Android应用20,通过Android中WebView的特性洞悉Android中JavaScript与Java相互沟通的密码,追寻浏览器和HTML5开发的架构和技术实现根源;21,使用NDK等技术利用C/C++的高效性来提高应用程序的性能;22,实现Android中以Looper、Handler、Message、MessageQueue为核心的线程间通信方式;23,实战并剖析AsyncTask框架实现的源代码,并提出对AsyncTask缺陷的解决方案;24,最后,揭秘Android应用程序一切行为背后的核心根源:ActivityManagerService 课程目标:1,从零起步24小时内掌握Android应用程序开发2,通晓Android的架构哲学和力量来源以及实现技术;3,能够开发出任意类型、任意复杂程度的安全、高效的应用程序;4,根据过去的20多款Android商业应用软件的实践,提供弥足珍贵的源代码,上完课程即相当于完成了Android应用项目80%左右的开发,所有的开发难点一扫而光;课程要求:对Android有强烈兴趣,能够读懂基本的C#或Java语法;王家林老师Android架构师、高级工程师、咨询顾问、培训专家;通晓Android、HTML5、Hadoop,迷恋英语播音和健美;致力于Android、HTML5、Hadoop的软、硬、云整合的一站式解决方案;国内最早(2007年)从事于Android系统移植、软硬整合、框架修改、应用程序软件开发以及Android系统测试和应用软件测试的技术专家和技术创业人员之一。

HTML5技术领域的最早实践者(2009年)之一,成功为多个机构实现多款自定义HTML5浏览器,参与某知名的HTML5浏览器研发;Hadoop源码级专家,曾负责某知名公司的类Hadoop框架开发工作,专注于Hadoop一站式解决方案的提供,同时也是云计算分布式大数据处理的最早实践者之一,Hadoop的狂热爱好者,不断的在实践中用Hadoop解决不同领域的大数据的高效处理和存储,现在正负责Hadoop在搜索引擎中的研发中国电信的多次Hadoop培训,花旗银行的Hadoop内训,金立手机的Hadoop内训等,著有《云计算分布式大数据Hadoop实战高手之路---从零开始》《云计算分布式大数据Hadoop实战高手之路---高手崛起》《云计算分布式大数据Hadoop。

实战高手之路---高手之巅》等;超过10本的IT畅销书作者;课程大纲:时间内容备注第一天第1个动手案例:Android开发环境搭建和HelloWorld(60分钟)1.Java、Eclipse、SDK、NDK、ADT2.搭建环境过程中的疑难问题3.彻底解决没有3G信号的问题4.开发HelloWorld5.彻底剖析第一个程序6.Android应用程序开发的经典模式---MVC模式彻底剖析7.总结:掌握一个完整的应用程序的开发步骤、注意事项、方法等8.Java在Android开发中的最佳实践之一:Java开发金三角9.Java在Android开发中的最佳实践之二:“Don’t call me,I’ll call you back!”10.Java在Android开发中的最佳实践之三:UI线程和业务线程;11.Java在Android开发中的最佳实践之四:生命周期控制;12.Java在Android开发中的最佳实践之五:面向接口编程;13.Java在Android开发中的最佳实践之六:反射技术第2个动手案例:Activity生命周期剖析、应用程序生命周期剖析以及应用程序开发最佳模式(60分钟)1.Activity生命周期周期图分析2.Activity生命周期测试代码3.Activity嵌套生命周期4.应用程序生命周期剖析5.不同Activity之间的相互沟通6.对Android管理应用程序和Activity方式的思考7.Android应用程序开发的最佳模式第3个动手案例:Android商业化高级UI实战:ListView异步加载技术(60分钟)1.使用ListView异步加载技术的必要性2.ListView异步加载技术编程实战第4个动手案例:Android商业化高级UI实战:ListView分页加载技术(60分钟)1.使用ListView分页加载技术的必要性2.ListView分页加载技术编程实战第5个动手案例:Android商业化高级UI实战:Fragment(60分钟)1Fragment出现的重要意义和运用场景2动态创建Fragment3使用Fragment创建选项卡4Fragment的向下兼容5Fragment的生命周期6Fragment之间的通信第6个动手案例:Android商业化高级UI实战:自定义标题栏和PopupWindow(60分钟)1.自定义标题栏的应用场景2.自定义标题栏编程实战3.自定义标题栏疑难问题解析4.PopupWindow为Android程序带来的视觉冲击5.PopupWindow编程实战6.PopupWindow调试第二天第7个动手案例:SharedPreferences、手机内部文件的形式存储数据操作、SDCard操作、单元测试(60分钟)1.SharedPreferences的读2.SharedPreferences的写3.对SharedPreference操作权限分析4.读写不同包中的SharedPreference5.SharedPreference源代码剖析6.对手机的文件进行读写:openFileInput()、openFileOutput()7.对文件读写的单元测试8.对四种文件权限模式的测试9.常用的文件读写API简介10.剖析源代码11.使用Activity调用业务层对SDCard进行读写12.单元测试第8个动手案例:SQLite管理工具类、CRUD操作、分页等及源代码剖析、使用Android自身提供的API 进行CRUD操作、ListView的详细讲解及源代码剖析(60分钟)1.SQLite简介2.SQLiteOpenHelper类3.CURD:execSQL()和rawQuery()4.分页5.对getWritableDatabase()和getReadableDatabase()进行源代码分析,剖析其原理6.执行流程和原理的深入彻底的剖析7.源代码剖析8.使用Android自带的insert、update、query、delete 等进行CRUD操作9.剖析insert、update、query、delete的源代码10.对ListView深入详细的剖析,自定义视图,自定义Adapter。

11.剖析Cursor的源代码12.关于SQLite和Cursor的“_id”问题的剖析和解决方案第9个动手案例:使用Android内置的pull实现对XML文件的读、写及源代码剖析Android中JSON 解析(60分钟)1.为什么在Android中对XML文件的读、写首选pull2.用pull实现对XML的解析3.用pull实现对XML的写入4.使用写入器Writer实现文件的写入已经把内容直接写入内存中5.采用短点调试的方式剖析PULL的解析流程6.源代码剖析7.Android下JSON解析代码模板第10个动手案例:ContentProvider背景、用途,如何构建ContentProvider,UriMatcher,ContentUris,对CotentProvider进行单元测试、源代码分析(60分钟)1.ContentProvider背景、用途2.构建ContentProvider的详细步骤3.对URI的彻底剖析4.分析UriMatcher,ContentUris5.对ContentProvider的业务层代码进行单元测试6.ContentProvider的源代码剖析第11个动手案例:基于通讯录的开发(60分钟)1.通讯录的数据库和数据表分析2.通讯录ContentProvider的源码剖析3.获取所有的联系人信息4.添加联系人5.如何处理添加通讯录记录时的事物问题第12个动手案例:性能测试和优化(60分钟)1.如何进行性能测试2.性能测试实战3.优化法则和编码应该注意的地方第三天第13个动手案例:广播接受者BroadcastReceiver,短信监听器案例(接受到短信后上传到服务器或发送到指定的号码或者发送到指定的邮件中)(60分钟)1.剖析广播接收者,与JMS的比较,广播接受者的IoC原理2.短信监听Android客户端3.服务器端搭建4.通过网络把接收到的短信上传到服务器5.把接收到的短信发送到指定的手机号码或者邮件中6.BroadcastReceiver的的生命周期和注意事项以及5秒钟生命响应时间的解决方案7.服务中的ANR问题及其解决方案;第13个动手案例:服务Service,电话监听器(每次开机的时候自动开机,电话来时录音并上传到服务器)(60分钟)1.详细剖析Service2.构建电话监听的Service3.使用BroadcastReceiver监听开机事件,并在开机时启动电话监听的Service4.上传音频文件到服务器5.关于Android安全体系的思考第14个动手案例:使用AIDL开发远程服务(60分钟)1.AIDL底层原理:基于Binder的Proxy-Stub2.使用AIDL编写的具体步骤3.动手编写服务端和客户端4.测试并调试第15个动手案例:断点续传(一)类似迅雷的多线程下载器(适用于任何类型的文件下载)(120分钟)1,多线程下载断点续传原理和流程图2,下载文件时Http协议协议详解3,多线程下载断点续传程序:设计服务端和Android 端4,Android端的内容涉及IoC、多线程、SQLite数据库、Handler、Http协议、缓存处理、意外关机时候的处理、编写框架、MVC、Service、Android中的I/O 流、代码调试、Activity的生命周期等5,单元测试6,软件调试第16个动手案例:Android客户端表单数据的上传(60分钟)1.上传基本的数据类型2.上传图片等附件3.把代码重构为能够上传任意数量的字段和任意数量的附件的工具类4.思考本地离线存储/在线上传的技术方案第17个动手案例:httpclient和异步http框架(30分钟)1,使用httpclient提交数据到服务器2,异步http框架实现原理3,异步http框架提交数据到服务器第18个动手案例:WIFI通讯实战(30分钟)1.WIFI通讯特性剖析2.WifiManager、InputStream和OutputStream3.WIFI应用开发实战第四天第19个动手案例:Android中Java与WebView中Javascript相互沟通(60分钟)1.制作Android界面的新大陆2.Java调用Javascript3.Javascript调用Java第20个动手案例:Android ndk编程(60分钟)1本地C代码调用Java中的Method2本地C代码获得Java对象的属性值3多个类中有本地C代码的调用4在本地代码中创建Java对象5深度剖析Java、Dalvik VM、C/C++的运行机制与流程6Java中分配线程调用C/C++函数7C/C++本地代码通过分配线程调用Java函数第21个动手案例:Android横竖屏切换、应用国际化、软件的编译和反编译(60分钟)1.Android横竖屏切换的经典场景、生命周期和解决方案;2.实战构建多语言国际化的Android应用程序;3.如何编译APK来提高应用的安全性;4.如何反编译Android应用第22个动手案例:Handler、Looper、Message、MessageQueue(60分钟)1.Android的事件驱动模型2.Looper、MessageQueue、Hanlder、Message 等源码深度剖析3.Looper、MessageQueue、Hanlder、Message 及多线程实战案例第23个动手案例:AsyncTASK异步线程技术(60分钟)1.使用AsyncTask的原因及对AsyncTask的思考2.AsyncTask代码示例3.AsyncTask源码剖析Android应用程序运行背后秘密---ActivityManagerService源码剖析(150分钟)1Android应用程序的main入口到底在哪里?2ActivityThread成为应用程序的主线程的过程是什么?3Looper、MessageQueue、Handler背后的秘密;4Android的Activity、Service、Provider、Receiver 启动的流程源码剖析。

相关主题