移动互联网新技术与架构设计课件_第1页
移动互联网新技术与架构设计课件_第2页
移动互联网新技术与架构设计课件_第3页
移动互联网新技术与架构设计课件_第4页
移动互联网新技术与架构设计课件_第5页
已阅读5页,还剩103页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

移动互联网新技术与架构设计移动互联网新技术与架构设计培训大纲移动互联网发展趋势及相关技术1IOS、Android、WP技术详解及开发技巧和经验2App开发与传统C/S架构开发模式区别与转型3App开发完整流程(实战演示)4培训大纲移动互联网发展趋势及相关技术1IOS、Android2第一章移动互联网发展趋势及相关技术第一章移动互联网发展趋势及相关技术3移动互联网的核心智能终端(硬件)、信息服务(软件)、通信技术(媒介)三者的共同发展,构成了今天的移动互联网生态链。1、09年1月工信部颁发3G牌照,3G下行带宽理论值7.2Mbps,13年12月颁发4G牌照,4G下行带宽理论值100-150Mbps。2、07年6月iPhone问世、08年9月Android手机问世、10年iPad问世......。3、AppStore、安卓市场、91市场、360市场......。这三者是相互制约的,我们关注的是App软件方面。移动互联网的核心智能终端(硬件)、信息服务(软件)、通信技术4移动互联网发展趋势及对传统行业的影响生活娱乐出行旅游个人办公购物支付聊天通信百度地图滴滴打车携程去哪途牛高德大众点评腾讯视频搜狐新闻大姨吗猫眼电影淘宝京东支付宝财付通招商银行快钱WPSOFFICE奇妙清单印象笔记微信陌陌QQ米聊飞信易信移动互联网发展趋势及对传统行业的影响生活娱乐出行旅游个人办公5移动互联网发展趋势及对传统行业的影响视频网站做电视,传统电视面临死亡。

IT企业搞农业,传统农业获得新生。

互联网公司造汽车,传统汽车发展遇困。

网络公司做金融,传统银行纷纷危急。

移动视频崛起,电视台风光不再。口碑效应有时候比广告还具渗透力。移动互联网发展趋势及对传统行业的影响视频网站做电视,传统电视6移动互联网总结1、移动互联网面对的是地球上可以最勤劳,也可以最懒惰的人类,它只是让我们明白了自己更想要什么,它是一种生活方式、是人类文明的延续。2、移动互联网是一种面向用户的思维,它没有颠覆传统行业,它只是促使传统行业朝大多数用户期望的方向去发展。3、移动互联网的下一个机会在中国,国人需求的多样性是其他国家无法比肩的,未来的物联网、大数据、人工智能都将成为未来发展趋势。移动互联网总结1、移动互联网面对的是地球上可以最勤劳,也可以7App开发所使用的技术目前市场上可见的App开发技术都可归纳为以下三种:1、Native

App(原生应用):用移动终端操作系统语言所编写的应用程序。2、Web

App(网页应用):基于Web系统架构的应用程序。3、Hybird

App(混合应用):介于Native

App和Web

App两者之间特性的应用程序。App开发所使用的技术目前市场上可见的App开发技术都可归纳8原生应用(Native

App)介绍原生应用使用手机操作系统支持的语言编写,如iPhone

OS(IOS)系统使用Objective-C语言,Android使用Java语言,WP使用.net语言,该类App使用官方提供的SDK开发包。优势:1、能提供最佳的操作体验UI(用户界面User

Interface)、UE(用户体验User

Experience)、RS(Running

Speed)。2、节省流量3、使用终端硬件特性劣势:实施成本高:1、跨平台开发成本2、多版本维护成本3、人力成本原生应用(NativeApp)介绍原生应用使用手机操作系统9Web应用(Web

App)介绍Web应用通常是使用HTML5语言开发的,它实际是一种假的App,Web应用与传统Web网站最大区别就是它是以模仿Native

App的UI、UE以适应用户在智能终端上的操作习惯。它的形成和发展正是弥补了Native

App的一些不足,因此它的优劣势基本与Native

App相反:1、开发成本低。2、耗费流量。3、相对操作体验差。4、无法使用终端特性。Web应用(WebApp)介绍Web应用通常是使用HTML10混合应用(Hybird

App)介绍混合应用是综合了前两者特性的技术方式,它的出现弥补了Native

App不能跨平台和Web

App无法使用终端特性的劣势。有时甚至能让用户无法感知这是基于混合模式的应用。它并没有衍生出新的语言,因此仍然基于原生语言和HTML5进行开发。基于混合应用设计思想的框架诸如:Adobe的PhoneGap、IBM的Worklight、国内的AppCan等,它们的核心是跨平台开发、通过js调用终端特性、丰富的插件、开发工具。它是一种过渡技术,在HTML5还不能直接使用终端特性之前,它仍是一种解决方案。混合应用(HybirdApp)介绍混合应用是综合了前两者特11综合对比Native

AppWebAppHybird

App操作体验最佳一般较好开发/维护难度难简单简单实施成本高低中跨平台不支持支持支持终端特性支持不支持支持安装需要不需要需要综合对比NativeAppWebAppHybirdAp12适用场景互联网应用、针对终端用户的、对操作体验要求较高的(如工具、游戏等):使用原生应用开发可获得最佳效果。对跨平台性要求较高的企业内部信息展示类应用,如新闻、公告等,不需要安装或可外挂到其他平台:使用网页App。要求跨平台且可使用终端特性的场合,可快速根据需求做出响应的,应用在企业内部,如移动办公、数据采集等:使用混合App。适用场景互联网应用、针对终端用户的、对操作体验要求较高的(如13三种技术的总结技术是为人服务的,没有最好的技术,只有最好的解决方案。企业在面临技术选型的时候往往不要纠结于技术本身,而是应该考虑下边几个问题:1、预算够不够?

2、关注于功能还是体验?

3、需求会不会经常变动?

4、哪种技术最熟练?5、是否需要使用终端特性?三种技术的总结技术是为人服务的,没有最好的技术,只有最好的解14HTML5语言介绍HTML是W3C制定的一套规范,HTML5是它的第五次重大修改版本,它是基于HTML4成熟技术上的演进,而并非颠覆性变革。HTML不会单独出现,通常情况下我们指的HTML5是指包含HTML5、CSS3、JavaScript、WebApplicationAPI等在内的前端技术统称。HTML5是一套独立于平台的标准规范,其发展过程中得到了各大互联网巨头的支持浏览器是HTML5规范的具体实现。HTML5具备很多优势,但如果说它最受人欢迎的无疑当属"跨平台"特性。HTML5最令人关注的是其在移动互联网领域的发展。HTML5语言介绍HTML是W3C制定的一套规范,HTML515HTML5跨平台特性介绍通常意义的跨平台包含两层含义:1、跨系统(操作系统支持)2、跨设备(分辨率自适应)HTML5跨平台特性介绍通常意义的跨平台包含两层含义:16HTML5在移动办公领域的优缺点由于HTML5具备学习成本低、跨平台、规范标准等优点,已被广大企业列为重点发展技术,广泛应用在企业内部办公领域之上。移动办公的特点:1、以信息展示为主。2、跨平台性要求高。3、需求经常变动。4、智能更新。5、低实施成本。以上特性组合起来可以瞬间将Native

App击溃,但利用Hybird

App可以轻松应对,这完全得益于HTML5的功劳。HTML5在移动办公领域的优缺点由于HTML5具备学习成本低17HTML5在移动办公领域的优缺点HTML5的规范还不完善,开发者还处于摸索阶段,企业在选择HTML5的同时也会遇到一些难题:1、开发人员水平参差不齐。2、HTML5受网速影响导致执行效率低下。3、耗费流量。4、传统网站的HTML5化改造。5、各厂家浏览器对HTML5支持的差异化较大。6、HTML5框架的选择。7、缺少标准化的开发工具。HTML5在移动办公领域的优缺点HTML5的规范还不完善,开18加快HTML5渲染速度传统方式需要从远程服务器加载网页资源,在移动终端进行渲染,在网络条件不佳的情况下,界面的渲染速度非常差。如将网页资源打包放置移动终端内存卡中在节省流量的同时大大加快了界面渲染速度,只需定时检测离线包资源进行升级即可。加快HTML5渲染速度传统方式需要从远程服务器加载网页资源,19如何加速HTML5开发HTML5是一门长期性发展的技术,需要长时间的尝试和经验积累,技术本身而言没有捷径,但通过其他方式却可以明显加快开发效率和技术积累:1、框架:采用适当的技术框架。2、业务:良好的业务架构设计。3、接口:定义良好的接口规范。4、美工:配备优秀的CSS3美工。5、模版:逐步形成模板化机制。如何加速HTML5开发HTML5是一门长期性发展的技术,需要20常用HTML5开发框架LungoJSSenchaTouchJQueryMobilePhoneGapAppMobi常用HTML5开发框架LungoJS21HTML5总结HTML5是一种妥协的技术也是一种进步的技术。HTML5不是给最终用户发明的,但却是用来争夺最终用户的。HTML5应以移动先行为基础。HTML5是未来的趋势。企业应该针对HTML5有所作为。HTML5总结HTML5是一种妥协的技术也是一种进步的技术。22微信与公众平台思考:1、微信是什么?2、什么是平台?3、做平台对微信意味着什么?微信与公众平台思考:23微信问:微信是什么?答:微信是聊天工具、社交工具、是营销工具、是微电商、是移动支付工具、是浏览器、是平台、是生活态度?对于用户而言:用户自身决定了微信是什么。对于腾讯而言:微信是信息管道。连接人与人(个人、公司、企业)连接人与物连接人与世界腾讯打造的概念:微信将是移动互联网的入口微信问:微信是什么?对于用户而言:用户自身决定了微信是什么。24微信公众平台订阅号:连接人与人娱乐、生活服务号:连接人与公司服务、营销企业号:连接人与企业移动办公微信公众平台订阅号:连接人与人25微信公众平台平台技术分析当一个Web

App以插件形式嵌入到另一个Native

App中时,我们将它叫做轻应用(Lapp/Light

App)。微信公众平台中的各种服务号均以轻应用的模式被嵌入,因此微信在一定程度上充当了浏览器的角色,也就是说微信在另一个角度而言其实是一个Hybird

App。既然轻应用是Web

App(HTML5),那么微信平台实际上解决并开放了调用终端特性的一些能力。微信尽力通过标准化的方式对外提供服务,因此任何个人、公司、企业都能借助它完成自己的需求,所以自然而然就成为了公众平台。微信公众平台平台技术分析当一个WebApp以插件形式嵌入到26公众平台的选择除了微信以外易信、人人等互联网公司也都提供了公众平台,除对外提供的服务有个别差异以外,其原理都是相同的。对个人和中小企业而言以上平台均不失为最佳方案。但对大中型企业而言最好的平台就是企业内部的移动门户(也可称之为企业微信):1、企业文化2、安全3、灵活4、便宜公众平台的选择除了微信以外易信、人人等互联网公司也都提供了公27案例1——广电案例1——广电28案例1——广电广电面临的问题是用户量的持续下降。最主要的原因:1、视频网站2、电视盒子网络机顶盒和网络电视的崛起恰恰说明了广电总局的思维不够互联网化,也可以理解为不懂用户。案例1——广电广电面临的问题是用户量的持续下降。29案例1——广电13年至今广电及各大TV均开始在微信公众平台建立服务号,期望通过在线方式提供互动服务平台:1、节目预告单2、在线互动(投票、吐槽)3、产品营销4、自助服务案例1——广电13年至今广电及各大TV均开始在微信公众平台建30案例2——天津世贸城天津世贸城一期(隶属:天津北方五金机电城有限公司)服装服饰展贸中心,占地面积50亩,建筑面积16万平方米,地下2层、地上8层结构。地下一层至八层为经营楼层,经营面积14万平米,业态涵盖各类女装、男装、服饰、饰品、内衣家居服、袜子、童装、针织、箱包等,实现衣着类产品一站式批发零售。传统商业广场以收租金的盈利模式越来越难支撑企业发展,如何用互联网+思维打造一个集批发零售、休闲娱乐购物的一体化商业地产中心,将顾客变为平台会员的思路是天津世贸城发展的重中之重。案例2——天津世贸城天津世贸城一期(隶属:天津北方五金机电城31案例2——天津世贸城天津世贸城App集免费上网、免费停车、预约抢购、疯狂抄底、兼职招聘等功能为一体,同时为世贸城商户、批发商、普通用户等人群提供服务,依托大数据分析来优化调整商城发展。案例2——天津世贸城天津世贸城App集免费上网、免费停车、预32第二章IOS、Android、WP技术详解及经验第二章IOS、Android、WP技术详解及经验33三大平台介绍IOS:即iPhone

OS,苹果公司开发的移动操作系统,于2007年公布,最初的设计是作为iPhone的操作系统,由于它的成功,后续也应用在iPod、iPad、AppleTV等产品之上。IOS与Mac

OSX一样同属于类Unix的商业OS。Android:2005年Google收购并注资Android,与84家同盟共同研发优化,随后以Apache许可授权开放了其源码,2008年10月发布第一款智能机,11年市场份额全球第一。WP:即Windows

Phone,2010年10月由微软发布,12年6月正式发布WP8和WIN8。三大平台介绍IOS:即iPhoneOS,苹果公司开发的移动34IOS平台开发环境和语言介绍操作系统:MacOSX开发工具:Xcode开发语言:C、C++、Objective-C(官方)、Swift(趋势)IOS平台开发环境和语言介绍操作系统:MacOSX35IOS开发常用术语Objective-CIBNIB/XIBXcodeCocoaCocoa

TouchFoundationUIKitIOS开发常用术语Objective-C36Objective-C语言介绍Objective-C(以后简称OC或OBJC)是由科学家、软件工程师BradCox于20世纪80年代早期编写的。它的设计方式是将Smalltalk语言的功能特性引入到C语言的编程环境中。iPhone的框架库中的大部分都是用OC编写的,不过因为这种语言被设计为兼容C语言,所以你同样也可以在应用程序中使用C和C++。OC的主要应用平台是MacOSX和iPhone

OS。有许多编程语言,例如Java和C#,都从OC这门语言中汲取了养分。OC建立在C语言之上,意味着它是在C语言基础上添加了扩展而创造出来的能够创建和操作对象的一门新的程序设计语言,也就是我们通常所说的面向对象的C语言。OC中包含大量NS开头的类,如NSString,NSArray,

NSDictionary等等,NS是NEXTSTEP的缩写,它是乔布斯在1985年成立的NeXT.Inc公司所开发的操作系统,苹果公司于1997年2月将NeXT买下,成为MacOSX的基础。Objective-C语言介绍Objective-C(以后简37Interface

BuilderInterfaceBuilder(IB)是MacOSX平台下用于设计和测试用户界面(GUI)的应用程序(非开源)。为了生成GUI,IB并不是必需的,实际上MacOSX下所有的用户界面元素都可以使用代码直接生成;但IB能够使开发者简单快捷的开发出符合MacOSX的GUI。通常你只需要通过简单的拖拽(drag-n-drop)操作来构建GUI就可以了。IB使用Nib文件储存GUI资源,同时适用于Cocoa和Carbon程序。在需要的时候,Nib文件可以被快速地载入内存。InterfaceBuilder工具是在Mac/iPhoneSDK中提供的。该工具通常用于MacOSX开发和iPhone应用程序开发。InterfaceBuilder提供了拖放面板以供iOS开发人员将控件拖放到屏幕上。InterfaceBuilderInterfaceBui38NIB与XIBNIB和XIB都是InterfaceBuilder的图形界面设计文档。引用《CocoaProgrammingforMacOSX》一书的说法,InterfaceBuilder把窗口、菜单栏以及窗口上的各种控件的对象都“冻结”在了一个NIB文档里面了;程序运行时,这些对象将会“苏醒”。在终端下我们可以看到,NIB其实是一个目录。它里面有两个也是后缀为NIB的文件:designable.nib和keyedobjects.nib。前者是一个XML文档,而后者则是一个二进制文件。InterfaceBuilder3之后,引入了新的文档格式:XIB。它是单一的XML文档,也就是一个纯文本文件。纯文本文件的好处是显而易见的。嗯,就是便于源代码版本管理。现在最新版本的Xcode在创建项目时,已经默认使用XIB格式的文档了。不论在InterfaceBuilder中选择的是NIB还是XIB格式,Xcode编译后都将得到一个供程序运行时使用的经过编译的NIB文件。NIB与XIBNIB和XIB都是Interface39XcodeXcode是苹果公司向开发人员提供的闭源集成开发环境(IDE),用于开发MacOSX,IOS的应用程序。其运行于苹果公司的Mac操作系统下。XcodeXcode是苹果公司向开发人员提供的闭源集成开发环40Xcode的前身Project

BuilderXcode的前身ProjectBuilder41Xcode在Xcode4中,InterfaceBuilde已彻底整合至XcodeIDE-不再是独立的应用程序。选取一份工程中的界面文件(具有.nib/.xib后缀的文件)就能打开Xcode的IB编辑器。打开右手边的工具区,就可以看到整个界面观察器、控件库以及UI对象。在开发MacOSX或者iOS应用程序的时候,您可以从控件库拖出控件,将之放置在程序的画布上,并可设定它的位置,从而实现程序的布局。最好的功能:您可以直接把连接从UI设计区域拖到源代码区域。Xcode4新型的分隔式编辑器布局大大简化动作和插座变量的编写。只要把连接拖到现有的代码即可通过一个手势搞定所有事情。如果还没有编写连接所需要的代码呢?在这种情况下,Xcode将会为您创建一个新的插座变量或动作。只要将连接拖动至源文件的空白区域,Xcode就能生成相应代码。Xcode在Xcode4中,InterfaceBui42Xcode如今的Xcode已经是包含了Mac

OS

SDK、IOS

SDK、IB(用户界面开发工具)、Instruments(应用性能调试工具)、IOS

Simulator(模拟器)、Dashcode(基于Web的独立程序)、Organizer(组织工具)等众多工具为一身的强大的IDE。Xcode如今的Xcode已经是包含了MacOSSDK、43CocoaCocoa是苹果公司为MacOSX所创建的原生面向对象的编程环境,是苹果面向对象的开发框架,用来生成MacOSX的应用程序。主要的开发语言为OC。Cocoa应用程序一般在苹果公司的开发工具Xcode上用OC写成。不过,通过Javabridge、PasCocoa、PyObjC、CamelBones以及RubyCocoa等桥接技术,Java、ClozureCL、LispWorks、ObjectPascal、Python、Perl、Ruby等其它工具或者语言也可以用来开发Cocoa应用。也有一些其它语言的Cocoa实现无须桥接,比如苹果公司开发的MacRuby和类似Lisp的Nu语言。不使用Xcode,仅仅通过文本编辑器、GCC和GNUmake工具也可以用OC语言开发Cocoa应用。对最终用户来说,使用Cocoa编程环境开发的应用程序即为Cocoa应用。这类应用有独特的外观,因为Cocoa编程环境让程序在多方面自动遵循苹果公司的人机界面守则。CocoaCocoa是苹果公司为MacOSX所创建的原生44Cocoa

TouchCocoaTouch由苹果公司提供的软件开发api,用于开发iphone、ipod、ipad上的软件。也是苹果公司针对iPhone应用程序快速开发提供的一个类库。此库以一系列框架库的形式存在,支持开发人员使用用户界面元素构建图像化的事件驱动的应用程序。CocoaTouch框架推动了IOS应用程序的开发,为开发者提供了很多Mac平台上久经考验的模式,同时又特别专注于基于触摸的开发接口和性能优化。其中,UIKit提供了开发iOS上的图形化事件驱动程序所需的基本工具。UIKit基于Foundation框架,该框架同样存在于MacOSX系统中,提供了文件处理、网络、字符串处理以及其他基础架构。iOS独特的界面意味着CocoaTouch具有同样独特的设计。通过UIKit,您可以访问iOS上特殊的GUI控制、按钮和全屏幕视图。您还可以通过加速计和Multi-Touch手势控制应用程序。CocoaTouchCocoaTouch由苹果公司提供的45Foundation框架Foundation之于Objective-C就好比Java中SDK类库之于Java。这个框架提供了基本的Objective-C的类,最重要的根类,NSObject,它定义了基本的对象行为。框架包括了各种基本数据类型、集合,操作系统服务的对象的类。Foundation同样包含了几种设计模式和机制,以遍设计出更健壮和高效的Objective-C程序。一:基本的Protocols(类似于Java中的接口。明显的区别是,Protocols中允许可选实现方法。(1)NSObject,值得注意的是它的名字跟NSObject类同名。实现了这个协议的类,就可以被查询它们的类和父类,可以跟其他对象比较。(2)NSCoding,实现了这个协议的类可以被编码和解码。(3)NSCoping,这个协议只定义了一个方法,copyWithZone:,如果一个类支持对象拷贝那么就需要实现这个协议。使用方法:#import<Foundation/Foundation.h>Foundation框架Foundation之于Object46UIKit框架UIKit是IOS系统的一个框架,该框架提供一系列的Class(类)来建立和管理iPhoneOS应用程序的用户界面(UI)接口、应用程序对象、事件控制、绘图模型、窗口、视图和用于控制触摸屏等的接口。使用方法:#import<UIKit/UIKit.h>当引入此头文件后,便可以在程序里使用任何在UIKit里声明的类。UIKit框架UIKit是IOS系统的一个框架,该框架提供一47IOS开发环境搭建步骤:1、注册Apple

ID2、申请苹果开发者帐号个人99美元/年(只可发布到App

Store)公司99美元/年,需要邓白氏编码(只可发布到App

Store)企业299美元/年,需要邓白氏编码(不可发布到App

Store)3、下载Xcode,目前最新版6.3,可通过两种方式下载:Mac

App

Store:(/xcode/)用开发者帐号在网站直接下载:(/downloads/index.action#)IOS开发环境搭建步骤:48申请开发帐号申请开发帐号49申请开发帐号申请开发帐号50申请开发帐号申请开发帐号51申请开发帐号申请开发帐号52申请开发帐号申请开发帐号53申请开发帐号申请开发帐号54申请开发帐号申请开发帐号55申请开发帐号申请开发帐号56申请开发帐号申请开发帐号57申请开发帐号申请开发帐号58申请开发帐号申请开发帐号59申请开发帐号申请开发帐号60下载Xcode下载Xcode61安装Xcode安装Xcode62运行Xcode并创建工程运行Xcode并创建工程63选择工程模版选择工程模版64输入项目信息输入项目信息65选择项目保存路径选择项目保存路径66Xcode开发环境介绍Xcode开发环境介绍67Xcode开发环境介绍工具栏区:负责控制程序的运行、停止。切换项目模式切换运行设备断点开关状态条视图模式管理器项目区:工程代码管理代码层次代码搜索编译错误、警告Debug堆栈断点管理日志管理Xcode开发环境介绍工具栏区:68Xcode开发环境介绍项目配置区:工程信息总览、设置项目参数编译选项编译阶段管理编译规则管理视图模式编辑器区:代码编辑器IB(Interface

Builder)编辑器文件预览...Xcode开发环境介绍项目配置区:69Xcode开发环境介绍属性、参数区:文件名称、类型、路径、编码等控件各种参数连接映射、控件事件控件区:基础控件(文本框、按钮等)容器控件(浏览器控件、表格控件等)事件控件(捏合、触击、滑动等)代码模版等控制台区:运行时对象堆栈树日志输出控制台Debug相关操作按钮Xcode开发环境介绍属性、参数区:70IOS工程目录结构介绍工程名称工程代码根目录AppDelegate:应用程序的代理ViewController:视图控制器HelloWorld-Info.plist:应用程序配置文件InfoPlist.strings:国际化资源配置文件main.m:应用程序入口类HelloWorld-Prefix.pch:应用程序预编译文件Default:应用程序默认背景图引用框架编译后的程序文件IOS工程目录结构介绍工程名称工程代码根目录AppDeleg71IOS模拟器将运行设备改为iPhone

X

Simulator并点击运行按钮以后便可在模拟器中预览、调试程序。模拟器支持的功能:1、切换不同平台和尺寸,如iPhone、iPad2、设备旋转、摇晃3、按住option键模拟多手势操作4、模拟内存警告5、模拟位置服务不支持的功能:1、电话2、摄像头3、震动IOS模拟器将运行设备改为iPhoneXSimulato72Android平台开发环境和语言介绍操作系统:Windows、Mac

OSX、Linux开发工具:Eclipse开发语言:C、C++、Java(官方)Android平台开发环境和语言介绍操作系统:Windows73Java语言介绍Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。Java平台由Java虚拟机(JavaVirtualMachine,简称JVM)和Java应用编程接口(ApplicationProgrammingInterface,简称API)构成,JVM也是Java之所以具备跨平台性的关键。Sun公司对Java编程语言的解释是:Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言,2009年04月20日,甲骨文74亿美元收购Sun,取得java的版权。Java的最新版是7.0。Java语言介绍Java是一种可以撰写跨平台应用软件的面向对74Java语言介绍抽象类:规定一个或多个抽象方法的类本身必须定义为abstract,抽象类只是用来派生子类,而不能用它来创建对象。final类:又称“最终类”,它只能用来创建对象,而不能被继承,与抽象类刚好相反,而且抽象类与最终类不能同时修饰同一个类。包:Java中的包是相关类和接口的集合,创建包须使用关键字package。多态类:在java中,对象变量是多态的。而java中不支持多重继承。接口:Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。Java中的每一个类都是从Object类扩展而来的。Java语言介绍抽象类:规定一个或多个抽象方法的类本身必须定75Java语言介绍Java的源代码文件用.java表示Java编译后的类文件用.class表示定义一个接口的方式:interfaceITest{

voidsay(Stringstring);}定义一个类的方法:classTestimplementsITest{ publicvoidsay(Stringstring){ System.out.println(string); } publicstaticvoidmain(String[]args){ Testtest=newTest(); test.say("Hello!"); }}Java语言介绍Java的源代码文件用.java表示76Android常用术语1.apk扩展名apk是Android包的扩展名,一个Android包包含了与某个Android应用程序相关的所有文件,apk文件将AndroidManifest.xml文件、应用程序代码(dex文件)、资源文件和其他文件组成一个压缩包,一个项目只能打包压缩成一个apk文件。2..dex扩展名

Android的程序被编译成.dex(DalvikExecutable)格式文件,然后再进行打包生成可被直接安装的apk文件。3.应用程序(APP)一个或多个Activity、服务、监听和Intent接收器的集合,一个应用程序有一个文件清单,并且打包成一个apk文件。4.Action对Intent发送器意图的描述,一个活动是一个指派给Intent的字符串值。活动字符串可以由Android定义,也可以由第三方开发者定义。例如,在网页URL中使用的ent.action.VIEW或者在用户应用程序中使用的com.example.rumbler.SHAKE_PHONE来使电话震动。5.ADB(AndroidDebugBridge)SDK自带的一个基于命令行的调试程序。它提供了设备浏览工具、设备上的拷贝工具和为调试转寄端口的功能。Android常用术语1.apk扩展名77Android常用术语6.内容源内容源是建立在类ContentProvider之上的用于处理指定格式的内容请求字符串,并返回指定格式的数据的类。7.DalvikAndroid虚拟机的名字,Dalvik虚拟机是一个只能解释执行dex文件的虚拟机,dex文件针对存储性能和内存管理进行了优化。Dalvik虚拟机是基于寄存器的虚拟机,并且能够运行经过Dalvik自带的“dx”工具转换过的Java类。虚拟机运行在兼容Posix的操作系统上,依赖于底层的功能(如线程和低级内存管理)。Dalvik的核心类库有意做得与Java标准版非常类似,但它明显更适合小型移动设备。8.DDMS调试监视服务(DalvikDebugMonitorServiceDalvik)是SDK自带的一个可视的调试工具。它提供了屏幕捕捉、日志存储和进程检测能力。9.Drawable编译过的可视化资源,可以用来做背景、标题或屏幕的其他部分。它被编译在android.graphics.drawable子类中。10.意图(Intent)意图是一个Intent类,它包含很多描述调用者意图做什么的字段。调用者发送意图到Android意图处理器,意图处理器会遍历所有应用程序的意图过滤器来查找与该意图最匹配的Activity。意图字段包括渴望的动作、种类、数据、数据的MIME类型、一个处理类和其他约束。Android常用术语6.内容源78Android开发环境搭建1、下载JDK,下载地址为:/zh_CN/2、下载安卓SDK,下载地址为:/sdk/index.html3、下载Eclipse,下载地址为:/downloads/4、安装ADT,可从Eclipse中直接安装或者从/sdk/installing/installing-adt.html下载安装Android开发环境搭建1、下载JDK,下载地址为:htt79Android开发环境搭建2、下载安卓SDK,下载地址为:/sdk/index.htmlAndroid开发环境搭建2、下载安卓SDK,下载地址为:h80Android开发环境搭建第一种没有安装Eclipse的情况Android开发环境搭建第一种没有安装Eclipse的情况81Android开发环境搭建该压缩包包含了Eclipse3.8.2、最新的SDKAndroid4.2(API17)和ADT

v22.0.0Android开发环境搭建该压缩包包含了Eclipse3.882Android开发环境搭建解压后在eclipse目录中运行eclipse.exe即可Android开发环境搭建解压后在eclipse目录中运行e83Android开发环境搭建第二种下载不含Eclipse的版本Android开发环境搭建第二种下载不含Eclipse的版本84Android开发环境搭建该安装程序只包含了最基础的SDK工具,不包含Android开发环境搭建该安装程序只包含了最基础的SDK工85Android开发环境搭建Android开发环境搭建86Android开发环境搭建Android开发环境搭建87Android开发环境搭建Android开发环境搭建88Android开发环境搭建Android开发环境搭建89Android工程结构介绍src:工程源代码gen:该文件夹下面有个R.java文件,R.java是在建立项目时自动生成的,这个文件是只读模式的,不能更改。R.java文件中定义了一个名为R的类,该类中包含很多静态类,且静态类的名字都与res中的一个名字对应,即R类定义该项目所有资源的索引。android.jar就是android项目需要要引用的工具包,大部分开发用的工具都被封装在里面了。assets文件夹用来存放资源文件,存放到里面的文件,都会被打包到应用程序里面。bin文件夹是运行以后生成的,里面包含生成的可执行文件等。程序运行以前是没有这个文件夹的。res文件夹里面放的是程序的资源文件,里面的几个drawable-XXX文件夹放的是在不同分辨率下的图片文件。layout目录下放的是布局文件,都是xml格式的。values存放字符串,颜色,数组等常量数据。可以任意命名,但是通常命名:color.xml、strings.xml、array.xml、styles.xml等。后面还有一个AndroidManifest.xml文件,这个是项目的总配置文件(每个项目都有),记录应用中所使用的各种组件。这个文件列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、GPS服务等等)。另外当你新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此Activity。AndroidManifest.xml将包含如下设置:applicationpermissions、Activities、intentfilters等。Android工程结构介绍src:工程源代码90IOS、Android平台对比1、操作体验:IOS胜2、操作系统:IOS胜3、开发环境:IOS胜4、应用配置:Android胜5、开发语言:平手6、开源框架:平手7、应用发布:Android胜8、投入成本:Android胜9、跨平台性:Android胜10、盈利性:IOS胜IOS、Android平台对比1、操作体验:IOS胜91IOS、Android发展前景1、按照国内目前情况来看Android的生命里更强。2、IOS的发展在短时间内是万万不能忽略的。3、建议以安卓先行的原则发展。IOS、Android发展前景1、按照国内目前情况来看And92移动开发框架设计经验按业务层次分为前端、后端。前端是以终端为基础的应用层框架。后端是以后台为基础的服务层框架。前后端采用标准的json或xml格式数据进行交互。数据收集及展现应放在前端。业务处理应放在后端。前后端框架均应建立对应的模版机制。后端应至少具备对应的安全策略、权限管理、字典表、发布更新、数据存储等核心模块。IOS开源框架地址/Android开源框架地址/project/tag/189/android移动开发框架设计经验按业务层次分为前端、后端。93投入资源成本分析硬件方面:IOS:Mac

Pro(8K)、iPhone(5K)、证书(1.8K/年)、其他(1K)Android:普通笔记本(5K)、2款主流机型(1W)人力成本:IOS:初级开发3-4K/月、中级开发5-8K/月、高级开发9K以上Android:初级开发2-3K/月、中级开发4-6K/月、高级开发7K以上投入资源成本分析硬件方面:94最低配置团队及配合技巧项目经理:1人UI设计师:1人IOS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论