Android开发基础知识概览

传输技术

蜂窝网络

蜂窝网络把移动电话的服务区域划分为一个个正六边形的子区域,通过这种方式解决了信号的覆盖问题。蜂窝网络由三个部分组成,分别是:移动站、基站子系统和网络子系统。移动站是用户的移动终端设备,比如手机或者蜂窝工控设备。移动设备总是处于某个基站的信号范围内,并且可以在各个基站之间移动。基站子系统包括常见的移动基站、无线收发设备、专用网络(光纤)、无线数字设备等等。每一个蜂窝都有一个基站,基站负责这个局部范围内所有用户的通信。基站的各种硬件设备和软件系统构成了一个个的子系统,基站子系统也可看作是无线网络与有线网络之间的转换器。所有的基站通过地面有线网络连接在一起构成网络子系统。
蜂窝移动电话网与市内公用电话网以及国内、国际长途电话网相连,使移动用户不仅可以与网内的移动用户通话,还可以与其他网络的移动用户和固定用户通话。根据信息传输方式的不同,蜂窝网络又分为模拟蜂窝网络和数字蜂窝网络,常见的蜂窝网络有:GSM网络、CDMA网络、以及3G网络等等。
1978 年,美国贝尔实验室开发了先进移动电话业务系统(Advanced Mobile Phone System,AMPS),并于1983年正式投入商用。同时欧洲和日本也建立了自己的蜂窝移动通信网络,包括英国的TACS 系统、北欧的NMT系统、日本的NAMTS系统等。我国也在1987年正式引入蜂窝通信系统。这一时期的蜂窝移动通信系统主要采用模拟传输的方式,称为第一代蜂窝移动通信系统(1G)。1G系统在技术和体制上存在很多局限,包括:没有统一标准、业务量小、质量差、速度低等等。
为了解决第一代蜂窝移动通信系统存在的问题,20世纪90年代,开发了采用数字调制技术的第二代蜂窝移动通信系统(2G系统),同时也标志着移动通信技术从模拟走向数字时代。这一时期主要的2G系统包括工作在900/1800MHz频段的GSM(Global System Mobile)移动通信网络(欧洲标准)和工作在800/1900MHz频段的IS-95移动通信网络(美国标准)。GSM移动通信系统采用TDMA技术,核心网移动性管理协议采用MAP协议;IS-95则采用CDMA技术。在2G系统中还引入了用户身份模块卡(Subscriber Identification Module,SIM)。2G具有频谱利用率高、保密性强和语音质量好等特点,它既支持语音业务,也支持低速数据业务,并初步具备了多媒体业务能力。但是随着数据业务,尤其是多媒体业务需求的不断增长,2G系统在系统容量、频谱效率等方面的局限性也日益显现。
2.5G是2G与3G之间的过渡技术。它引入分组交换技术,消除了电路交换技术对数据传输速率的制约,从而使数据传输速率有了极大的提升。2.5G的代表技术有:GPRS,HSCSD、WAP、EDGE、Bluetooth、EPOC等技术。GPRS(General Packet Radio Service,通用分组无线服务)是在欧洲GSM系统的基础上建立的高速分组通信服务。它把GSM的最大数据传输速度从9600 bit/s提高到171.2K bit/s。EDGE(Enhanced Data Rate for GSM Evolution,增强型数据速率GSM演进技术)是GPRS的延续,采用了多时隙操作和8 PSK调制技术。
第三代蜂窝移动通信系统(3G)是指无线通信与互联网相结合的新一代移动通信系统。它不仅包含第二代蜂窝移动通信系统的所有业务类型,还提供数据、音乐、图像、视频等多种媒体形式,能够获取网页浏览、电话会议、电子商务等多种信息服务。1995年ITU(International Telecommunication Unio,国际电信联盟)提出了IMT-2000(International Mobile Telecommunications-2000)。IMT-2000是指支持高速数据传输的蜂窝移动通信技术。符合IMT-2000要求才能被接纳为3G技术。1998年,ITU推出WCDMA和CDMA2000两种商用标准。2000年,我国推出了TD-SCDMA标准,2001年被3GPP(3rd Generation Partnership Project,第三代合作伙伴计划)接纳。此外,IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师协会)组织制定的WiMAX(Worldwide Interoperability for Microwave Access,全球范围互通性微波接入)也获准加入IMT-2000,成为3G标准。
第四代蜂窝移动通信系统(4G)能够传输高质量图像和视频,支持交互式多媒体业务、高质量影像、3D动画和宽带互联网接入。 4G系统的计费方式更加灵活,用户可以根据自身的需求选择所需的服务。4G的关键技术包括抗干扰性更强的高速接入技术、调制和信息传输技术、小型化和低成本的自适应智能阵列天线等等,其核心技术是正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)。OFDM具有良好的抗噪声性能和抗多信道干扰能力,能够提供高速率、低时延的信息传输服务,并且具有更好的性价比。
在3G到4G的发展过程中,3GPP制定的LTE技术标准和IEEE制定的WiMAX标准相互竞争,促进了移动通信技术的进步和商业化发展。LTE主要由Ericsson、Nokia等公司主导;而WiMAX主要由Sprint、Clearwire和Intel等公司主导。
LTE技术是在早期的GSM语音技术、用于数据传送的GPRS和EDGE、以及WCDMA和HSPA等3G技术的基础上发展起来的。它是3GPP组织制定的UMTS(Universal Mobile Telecommunications System,通用移动通信系统)技术标准的长期演进,2004年在3GPP多伦多会议上正式立项并启动。LTE是一种全IP无线宽带技术,支持VoIP、手机和移动设备的互联网接入、多媒体消息服务、视频聊天、移动TV、高清电视(HDTV)以及其他IP服务。LTE在理论上可以实现300M bps的传输速率。其特点是更高的传输速率和频谱效率、更好的服务质量、对现有通信标准的兼容性以及内嵌的安全性等等。
WiMAX又称为802.16无线城域网(IEEE802.16协议),它是一种宽带无线访问技术,就像超长距离的Wi-Fi。WiMAX支持城域范围内无线宽带传输和网络接入应用。WiMax的应用主要有:固定式无线接入和移动式无线接入。802.16 d属于固定无线接入标准,而802.16e属于移动宽带无线接入标准。WiMAX采用OFDM/OFDMA、AAS(Adaptive Antenna System,自适应天线系统)、MIMO等先进技术,其目标是实现宽带业务的移动化,而3G则是实现移动业务的宽带化。WiMAX具有网络覆盖范围广、QoS保障、传输速率高、业务丰富多样等优点。
WIFI是构建无线局域网的通信技术,也有人直接把802.11系列协议称作WIFI。它是当今使用最广的一种无线网络传输技术。
1997年建立了IEEE 802.11原始标准规范,工作频率为2.4GHz。1999年制定的802.11a是在802.11原始标准上的一个修订版本。它的工作频率为5GHz,最大数据传输率为每秒54Mbit,拥有12条互不重叠的频道,8条用于室内,4条用于点对点传输。为了将便携式设备连接到网络,随后建立了802.11b标准。它的载波频率为2.4GHz,最高传输速率为每秒11Mbit,并且提供多重传输速度。IEEE 802.11b的后继标准是IEEE 802.11g,其传输速度为54Mbit/s。802.11g使用了正交频分复用(OFDM)调制技术,并且向后兼容,能平滑地向高速无线局域网过渡。为了提高传输速度,在802.11g和802.11a之上又发展了802.11n。802.11n速度提升巨大,它增加了多个发射天线和接收天线(Multiple-Input Multiple-Output,MIMO),也就是多输入多输出技术。它能充分利用空间资源,通过多个天线实现多发多收,极大的提升了系统的信道容量。它的传输速率最高可达600Mbps,可以在2.4GHz和5GHz两个频段上工作。
无线传输与有线传输之间的主要区别是在物理层和数据链路层。前面介绍的无线信道主要涉及物理层的特性。数据链路层(Data Link Layer)包括逻辑链路控制(Logical Link Control)子层和介质访问控制(Media Access Control,MAC)子层。逻辑链路控制子层主要负责在无线条件下将数据正确地发送到物理层,实现与硬件无关的功能,比如流量控制、差错恢复等。MAC子层负责控制和连接物理介质,分配无线通信资源,并且采用与有线网络不同的共享方式来访问信道。MAC层还定义了两种访问控制方式:点协调功能(Point Coordination Function,PCF)和分布式协调功能(Distributed Coordination Function,DCF)。
点协调功能(PCF)提供非竞争服务,节点使用集中式MAC算法访问网络。AP充当网络中心控制器,根据其内部的轮询表(polling list)依次轮询与之连接的节点(STA)。点协调功能支持实时应用,通常采用轮询的方式为每个终端提供服务。
分布式协调功能采用载波侦听多路访问和冲突避免(Carrier Sense multiple Access / Collision Avoidance,CSMA/CA)技术作为基本的接入方式,能更高效地共享无线信道。在分布式协调工作方式下,要实现无线信道的共享,面临两个问题:第一、如何知道当前是否有人正在使用无线信道;第二、如果有多个人在信道上同时发送信息,将会产生冲突,采用什么方法来减少冲突。无线通信是建立在有线通信的基础上,它同样采用了CSMA,也就是载波监听多路访问的方式,而对于冲突的处理没有采用冲突检测机制。
总的来说,有线网络采用DCF方式,由于网络中各节点地位平等,不需要集中控制,没有优先级控制。访问控制的核心问题是在公共链路上如何处理:侦听、发送和检测冲突。 CSMA/CD技术解决了以上问题,其基本原理是:

  1. 网络节点发送数据前先侦听信道,如果信道空闲,就立即发送数据;
  2. 如果信道忙碌,则等待一段时间,在信道传输信息结束以后,再发送数据;
  3. 如果信道在发送信息结束以后,同时有多个节点提出发送请求,则判定为冲突;
  4. 如果网络节点侦听到冲突,就立即停止发送数据,等待一段随机时间,再重新尝试。
    无线传输用到了CSMA技术,但是却不能采用冲突检测的办法来处理碰撞问题。主要有两个原因:一是无线信号的衰减。当A和C都向B发送信息时,A、C的信号都能到达B。由于信号不断衰减,A和C都无法检测到对方的存在,因此无法实现冲突检测(Collision Detection)。
    在这里插入图片描述

二是隐藏终端问题,如下图所示。由于障碍物的遮挡,A和C都没有办法知道对方正在发送消息。因此,用冲突检测的方法不能发现存在的碰撞(冲突)。所以无线通信采用了另一种处理碰撞问题的方法——冲突避免(Collision Avoidance)。
在这里插入图片描述

为了避免冲突,发送端和接收端如果要进行通信,首先需要预约信道,如下图所示。发送端S发送RTS(Request To Send)请求报文,报文中包含收发地址、预约时间等信息;接收端R接收到RTS后,它广播一个CTS (Clear To Send)报文。这个报文一方面向发送方确认发送许可,另一方面,要求其他网络节点在S和R的预约期内不要发送信息。通过这种方式,S和R就完成了信道预约。接下来,S和R就可以完成数据传输,传输过程中也采用ACK确认机制以保证数据的正确传送。
在这里插入图片描述

当发送端A和B同时向接收端R发送RTS帧。由于两个RTS帧发生冲突,使得接收端R收不到正确的RTS帧,因此R不会发送CTS帧。这时,发送端A和B引发竞争信道冲突。通常采用二进制指数退避(Binary Exponential Back off,BEB)算法来避免冲突。
采用退避算法,为降低再冲突的概率,节点将各自随机地等待一段时间,然后再重新发送RTS帧。二进制指数退避算法的退避的时间与冲突次数具有指数关系,即:冲突次数越多,退避的时间就越长,若达到限定的冲突次数,节点将停止发送数据。其算法过程如下:
1)确定基本退避时间,一般为端到端的往返时间2t,2t是冲突窗口或争用时间;
2)定义一个参数k,k是重传次数与冲突次数有关,k=min[重传次数,10];
3)从离散的整数集合[0,1,2,……,(2k-1)]中随机抽取一个数r,等待的时间为r倍基本退避时间,即T=r *2t;
4)当冲突次数超过16次,就丢弃传输帧,发送失败,发送错误报告给高层协议。
对比CSMA/CA和CSMA/CD:第一、由于传输介质不同,它们的检测方式不一样。有线局域网通过电缆中电压的变化来检测信号,当数据发生碰撞时,电缆中的电压就会相应的发生变化;而无线网络采用能量检测(ED)、载波检测(CS)和能量载波混合检测,三种方式来检测信道是否空闲。第二、信道利用率不同。由于无线传输的特性,信道利用率受传输距离和空旷程度的影响,当距离远或者有障碍物影响的时候,会存在隐藏终端问题,降低了信道利用率。CSMA/CA协议信道利用率低于CSMA/CD协议信道利用率。

智能设备

手机是当前最常用的一种移动设备。1902年美国人内森·斯塔布菲尔德在肯塔基州制成了第一个无线电话装置,这是人类对“手机”技术最早的探索研究。1938年,美国贝尔实验室制作了世界上第一部“移动电话”。在二战期间,美军使用了携带天线和电台的无线电话。1973年,美国摩托罗拉公司的马丁·库帕(Martin Cooper)发明世界上第一部民用手机,他也被称为“现代手机之父”。1984年,世界上第一台手机摩托罗拉DynaTAC 8000X推向市场。

第二代手机(2G)使用GSM和CDMA等通信标准,具有较好的通话质量。随着移动应用在数据通信需求方面的增长,发展了支持彩信业务的GPRS,满足上网业务的WAP服务,以及各种Java程序。

第三代手机(3G)通常是指适用于无线通信技术与互联网(Internet)相结合的新一代移动通信系统的手持终端设备。它能够处理图像、音乐、视频等多种媒体数据,并且能够提供浏览网页、召开电话会议、开展电子商务等多种信息服务。

第四代手机(4G)发展为人机交互的智能系统。智能系统的开发者生态圈为用户提供了丰富的应用软件。国产智能手机从2013年起步,现在华为、OPPO、vivo和小米等公司不断推出各种手机产品,通过线上和线下渠道迅速占领国内和国际市场。

移动端操作系统介绍

手机操作系统从早期诺基亚的Symbian OS到iOS、Android、BlackBerry OS以及Windows Phone,目前占据市场的主要是Android和iOS两大操作系统。

2001年,塞班公司发布了 Symbian S60 操作系统,将传统以通话为主提升到智能处理。Symbian操作系统是一个嵌入式实时、多任务操作系统,它采用微内核系统架构和抢占式多任务调度,具有功耗低、内存占用少等特点。在有限硬件资源的条件下,Symbian系统能长时间稳定的运行,支持 GPRS(General Packet Radio Service)、蓝牙、 SyncML(Synchronization Markup Language)以及3G技术,适合手机等移动设备。在软件方面,Symbian 使用 C++开发,系统内核与人机界面分离,并且利用完整的开发框架和管理机制来约束开发者,严格控制内存泄漏以保证系统的稳定性和可靠性。但是,由于过于关注硬件,Symbian 系统的兼容性较差,开发成本较高,在调试上比较困难。
随着Symbian的消忘,苹果公司的 iOS 崛起并逐渐取代了Symbian操作系统。iOS是一个类Unix 的操作系统,它以开源操作系统Darwin为基础构建。2007年,苹果公司在Macworld大会上公布了iOS 1.0操作系统。iOS将移动电话、可触摸宽屏、网页浏览、手机游戏、地图等功能完美地融合为一体。2008年7月,苹果公司发布了iOS 2.0系统,开放了App Store。通过开发和使用第三方应用,在iOS上建立了移动应用生态圈。2013 年,在WWDC大会上发布了iOS 7.0,系统和应用的整体设计风格转为扁平化设计。

2003年,Andy Rubin在美国创办Android 公司,开发手机软件和手机操作系统。2005年,Google收购了 Android公司。2007年,Google正式推出了基于Linux 2.6标准内核的开源手机操作系统。2008 年,Google发布Android 1.0,并以Apache开源许可证的授权方式,发布了Android源代码。2010年Android 2.2支持软件安装到外部存储卡,并引入全新的即时编译技术(Just-in-time Compilation,JIT)改善字节码性能。由于良好的用户体验和开放性设计,Android系统很快打入了智能手机市场。2014年,Android 5.0采用了全新的Material Design界面,并且用ART(Android RunTime)虚拟机替换了原来的Dalvik虚拟机,极大地提升了系统性能。2015年,Android 6.0在原来静态权限的基础上,新增了运行时动态权限管理,进一步提升了应用软件的安全性。Android平台的最大优点是开放性。Android系统提供了自由的开发环境,允许任何移动设备厂商、用户和应用开发者加入Android联盟,由此不断推出各具特色的应用产品。

1997年,微软发布了第一代移动设备操作系统Windows CE 1.0。它是针对小型设备研发的通用操作系统。2000年,微软将其更名为Pocket PC 2000,并且在2002年推出支持手机的Pocket PC Phone 2002系统。2003年,又更名为Windows Mobile 2003系统。2010年,微软公司正式发布了智能手机操作系统Windows Phone。2011年,诺基亚正式宣布与微软达成全球战略合作伙伴关系,微软Windows Phone 7系统也成为诺基亚手机的主要操作系统。2012年,微软还推出了Windows Phone 8.0系统。随着Android 和iOS系统的飞速发展, Windows Phone系统的竞争力不断下降。Windows Phone失败的主要原因在于没有第三方开发商开发Windows Phone应用软件。
黑莓(BlackBerry) OS由加拿大RIM公司(Research In Motion)为智能手机开发的专用操作系统。2010年BlackBerry操作系统在市场占有率上超过诺基亚,仅次于Android、iOS和Windows Phone,成为全球第四大智能手机操作系统。黑莓手机采用全键盘设计。操作系统在安全功能、电子邮件功能等方面有很强的优势。由于应用程序匮乏,无法割舍全键盘操作进而放弃触摸屏设计,黑莓的市场份额在2011年以后逐年下滑,现在已经退出了智能手机市场。

Android组件简单示例

一、进度条组件 <ProgressBar / >

进度条常用于我们在某些需要后台数据支持接口请求数据时使用以及某些需要耗时进入相关程序。

相关属性:
在这里插入图片描述

进度条组件子类 【拖动条组件 < SeekBar />】

xml文件中的属性和进度条组件一致,主要看看Java文件中的三个API
下面代码中显示主要代码,onCreat()方法以及相关类不含其中

		seekBar = (SeekBar) findViewById(R.id.seekbar);    //获取拖动条
        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
    
    
        
            // 当拖动条的滑块位置发生改变时触发该方法
            @Override
            public void onProgressChanged(SeekBar arg0, int progress,
                                          boolean fromUser) {
    
    
               Toast.makeText(MainActivity.this,"当前进度" + progress,Toast.LENGTH_LONG).show();
            }
            
            //当触摸到拖动条滑块时触发该方法
            @Override
            public void onStartTrackingTouch(SeekBar bar) {
    
    
              Toast.makeText(MainActivity.this,"开始触摸",Toast.LENGTH_LONG).show();

            }
            
            // 离开拖动条滑块时触发该方法
            @Override
            public void onStopTrackingTouch(SeekBar bar) {
    
    
             Toast.makeText(MainActivity.this,"离开滑块",Toast.LENGTH_LONG).show();
            }
        });

二、图像组件 <ImageView / >

主要属性


android:layout_width="match_parent" //宽度设置,这里设置的是和父容器一样
android:layout_height="wrap_content"//高度设置,这里为自身高度
android:scaleType="fitXY" //填充满全部
android:maxHeight="90dp" //最大高度,需要设置adjustViewBounds属性才会生效
android:maxWidth="90dp"//最大宽度,同样需要设置adjustViewBounds
android:adjustViewBounds="true" //设置最大宽度高度能使用
android:src="@mipmap/image" //图片资源位置
android:tint="aa00FF00" //设置图片蒙层

Android activity生命周期

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_51033461/article/details/127150934