基于安卓的数据通信系统设计(4)

当Socket在相对应的客户端与服务器端产生之后,程序就没有必要再区分服务器端和客户端,服务端通过自己的Socket通信,客户端也会通过自己的Socket通信。


当Socket在相对应的客户端与服务器端产生之后,程序就没有必要再区分服务器端和客户端,服务端通过自己的Socket通信,客户端也会通过自己的Socket通信。在Socket中有下两个方法获来取输入流和输出流。IputStream getIputStream():该Socket对象对应的输入流能被返回,程序能够通过该输入流从Socket中取出数据。OutputStream():该Socket对象对应的输出流能被返回,程序能够让该输出流向Socket中输出数据。

2.3 安卓开发流程

2.3.1 搭建安卓应用开发环境

在搭建开发环境之前,一定要先确定基于安卓应用软件开发所需要的环境,具体如表所示。表开发系统所需环境参数安卓工具是由多个开发包组成的,具体说明如下所示。

图2.2 开发环境要求

Java是安卓的主要开发语言,因此Android的开发环境也需要java的开发环境。

首先下载JDK工具包并配置环境变量,安装JDK后,可以下载Eclipse IDE for java Developers.要为Android开发应用程序,需要使用Android SDK,SDK工具包部分包含一个模拟器,所以无需带有Android 的移动设备就能够开发Android应用程序。在Eclipse可以打开SDK manager更新SDK,可以根据需要的安卓版本下载相应的SDK,本课题使用的是安卓5.1.1版本,因此下载的是安卓5.1.1版的API。安装完SDK后需要安装ADT,它提供了一些工具来创建,测试和调试Android应用程序。可以在Eclipse中打开Help中的Install new software来安装ADT[4]。

2.3.2 安卓的包文件及系统架构

要开发一个Java项目,在大多数情况下都会需要引入要使用到的工具类,也叫Jar包,为了Android开发者使用方便,开发者需要用到的大部分工具包都被封装到一个名叫Android.jar的文件里,以下是部分包文件:

【src】Android应用程序中所有java源代码都被存放其中,且能够自动地组织在用户定义声明的包内。例如这个目录下的子目录:com.example.first,是新建项目时候自定义的包名,其下是创建的源文件:MainActiviyt.java源文件。

【gen】该目录下的文件是由ADT自动生成的,即包内的R.java文件。项目中的各个资源需要在该类中创建其唯一的ID,该文件就承担了这样的功能。打开R文件,可以看到每一个资源都会有一个整数和它相对应。

【res】整个项目经常使用的资源文件存放在该目录下,新建一个项目,以下目录会在在该目录中自动建立:

drawable开头的四个目录:分别以三种尺寸存放png、9.png、jpg等图片资源。不同的分辨率照片适应不同的屏幕和运行环境。

layout:用来存放应用程序的布局文件,XML格式为文件的类型。新建项目时都有main.xml文件。

values:用来存放所有XML格式的资源描述文件,例如字符串、颜色、样式。尺寸和数组等。

【AndroidMainfest.xml】该文件是一个系统控制文件,也是每个Android项目必须的。它向Android 操作系统配置了本程序所需要的组件、所实现的功能。能处理的数据、要请求的资源等。

Android系统构架是安卓系统的体系结构,android的系统架构和其操作系统一样,采用了分层的架构,共分为四层,从低到高分别是Linux内核层,Android应用框架层,Android系统运行层和Android应用层。其架构图如下:

图2.3 安卓系统构架

Android系统的底层内核基于Linux操作系统。Android系统完全利用了现成的机制,尽可能使用标准化的内容,并且做出需要的扩展内容。

Android系统中间层次的内容绝大多数是使用C和C++来完成的,可以分为两个部分:Android运行环境和库。各种库在Android系统中出现的形式是系统中间件,它们拥有一个共同的显著特点:移动设备平台的应用与它们密切相关。在之前的版本中,Android虚拟机技术是Android运行主要环境,也就是Dalvik。Dalvik虚拟机与Java虚拟机(Java VM)有所不同,Java标准的字节码不是它的执行方式,而是Dalvik可执行格式(.dex)的执行文件。在它运行的过程中,每一个应用程序就是一个进程(Linux 的一个Processs)。