概要设计说明书姓名:王金辉学号:2012150001日期:2015.04.221引言31.1编写目的31.2背景31.3定义31.4参考资料62总体设计72.1需求规定72.2运行环境82.3基本设计概念和处理流程82.4结构112.5功能器求与程序的关系112.6人工处理过程122.7尚未问决的问题123接口设计123.1用户接口123.2外部接口133.3内部接口144运行设计144.1运行模块组合144.2运行控制154.3运行时间155系统数据结构设计155.1逻辑结构设计要点155.2物理结构设计要点165.3数据结构与程序的关系176系统出错处理设计186.1出错信息186.2补救措施186.3系统维护设计19概要设计说明书1引言1.1编写目的说明编写这份概要设计说明书的目的,指出预期的读者。
当今社会有很多交友软件,存在很多不安全因素,很容易泄露用户信息。
而且,没有提供近距离的交友平台。
很多同学对上课有厌烦心理,借助这款交友,同学们可以在课余时间,与他人交流,提高上课的乐趣和积极性。
现在在一个班级上课的同学都不认识,很不方便学术的交流,所以,应提供同班同学交流认识的平台。
1.2背景说明:a.待开发软件系统的名称;b.列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。
a:Secretb:项目任务提出者,梁正平老师。
开发者,王金辉也即本人用户:深圳大学周边人群。
计算中心或则网络:本人电脑搭建的服务器。
C.与其他的系统或则机构暂无来往,参考微信手机客户端的实现。
1.3定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
.apk file大意:扩展名为apk的文件是Android应用程序包,每一个Android应用程序包含的所有代码、资源和清单文件都被编译并打包成一个文件,这个文件的名字可任意取,但扩展名必须是.apk。
例如,可以取名为myExampleAppname.apk。
为了方便起见,一个Android应用程序包文件经常被称之为一个apk。
.dex file 大意:Android应用程序代码最终将会被编译成一个扩展名为dex((Dalvik Executable))的文件,我们所编写的java文件会自动地被编译成dex文件。
Action大意:Action是对Intent发送者所发送的intent(意图)的一种描述。
Action是被分配给intent 的一个字符串。
Action可以由Android系统定义,也可以由第三方开发人员定义。
例如,对于一个网页URL使用android.intent.action.VIEW,或者在一个定制应用中使用com.example.rumbler.SHAKE_PHONE使手机震动。
Activity大意:Activity在应用程序里表现为一个“屏幕”,或应用程序的其中一个界面。
通常,Activity 是可见的、全屏的窗口,它可以处理UI事件、执行复杂的任务。
虽然Activity通常是全屏的,但也可以设置使其浮动或透明。
adb大意:adb是Android Debug Bridge的简写,即Android调试桥,它是Android SDK中自带的一个命令行调试应用程序。
它所提供设备浏览工具、设备上的拷贝工具和为调试转寄端口的功能。
如果你是在Eclipse下使用ADT插件进行开发,adb已经集成到你的开发环境中了。
Application大意:从组件的角度来看,Android应用程序是由一个或多个Activity、Service、Listener 和Intent receiver组成;从资源文件的角度来看,Android应用程序是由Java代码、xml资源文件、多媒体资源(音频、视频、其它文件等)和一个文件清单组成。
在编译过程中,这些文件被打包成一个单一的叫做应用软件包的文件中(.apk)。
Content Provider大意:Content Provider是一个数据抽象层,通过它你可以安全地将你应用程序中的数据暴露给其它的应用程序。
Content Provider构建在ContentProvider类之上,它负责处理指定格式的查询串,并以指定的格式返回数据。
Dalvik大意:Dalvik是Android平台的虚拟机。
Dalvik是一个只能解释执行dex文件的虚拟机,dex 文件针对存储性能和内存管理进行了优化。
Dalvik是基于寄存器的虚拟机,并且能够运行经过Dalvik 自带的“dx”工具转换过的Java类。
虚拟机运行在兼容Posix的操作系统上,依赖于底层的功能(如线程和低级内存管理)。
Dalvik的核心类库有意做得与Java标准版非常类似,但它明显更适合小型移动设备。
DDMS大意:DDMS即Dalvik Debug Monitor Service,它是SDK自带的一个图形化的调试工具,它提供了屏幕捕捉、日志存储和进程检测的能力。
如果你在Eclipse中使用ADT插件进行开发,那么DDMS已经被集成在你的开发环境中了。
Dialog大意:Dialog通常以一种轻量级的浮动窗口形式呈现,一个Dialog可以只包含一个用于执行简单动作的按钮(如按钮选择)。
Dialog并不会被持久存储在历史栈中。
所有对话框类的基类是Dialog。
Drawable大意:Drawable是经过编译的可视化资源,可以用于背景、标题或屏幕的其他部分。
典型的情况,drawable被装载到另外一个UI元素中,例如将drawable作为背景图片。
drawable不能够接收事件,但可以分配不同的其它属性,如“状态”。
许多drawable对象是从描述图片的xml资源文件或位图文件中加载得到的。
Drawable资源被编译到android.graphics.drawable的一个子类中。
Intent大意:Intent是一个消息对象,你可能通过intent启动其它应用程序或其它Activity,或者通过intent 与其它应用程序或Activity进行异步交流。
Intent对象是Intent的一个实例,它包含了许多方面:您能提供什么、确定应用程序或Activity收到的意图以及处理intent时接受者做什么处理。
Intent包括:预期执行的动作(action)、动作类别(category)、数据(data)、数据类型(MIME Type)、处理类等。
一个应用程序发送一个意图给Android系统,而不是直接给发送给其它应用程序或Activity。
应用程序能够将意图发送给目标应用程序或者将意图作为一条广播发送,该广播能够被许多应用程序轮流处理。
根据其它应用程序定义的意图过滤器,Android系统负责解决:对于每一个意图,哪一个意图接收器最适合。
Intent Filter大意:应用程序的Intent Filter(意图过滤器)声明在Manifest文件中,它用于告诉系统应用程序的组件愿意接收哪种类型的意图。
通过Intent filter,应用程序能够表达出对哪些指定的数据类型、意图的行为、URI格式等感兴趣。
当要解决某个意图,系统会对所有应用程序的全部意图过滤器进行评估,然后将意图传递给最匹配的应用程序的Activity。
Broadcast Receiver大意:Broadcast Receiver是一个用于接收应用程序广播(不是发送给应用程序的Activity)的类。
系统将广播发送给所有对此广播感兴趣的广播接收器,这些广播接口器会按顺序处理该意图。
Layout Resource大意:布局资源是一个用于描述屏幕布局的xml文件。
Manifest File大意:清单文件是每一个应用程序都必须定义的xml文件,它用于描述应用程序的包名、版本、组件(Activity、intent filters、Services等)、引用的类库等。
Nine-patch / 9-patch / Ninepatch image大意:*.9.png是一种尺寸可变的位置资源,它可以用于背景图片或在设备上显示的图片。
OpenGL ES大意:你可以使用Android提供了OpenGL ES类库处理快速、复杂的3D图像。
它比Canvas对象的使用要难一些,但更适合3D应用。
android.opengl和javax.microedition.khronos.opengles两个包暴露了OpenGL ES的功能。
Resources大意:资源可以理解为应用程序的“非编程”组件,即并不是通过编写代码产生的。
但应用程序代码可以使用特定的引用格式来使用资源。
Android系统支持大量的资源类型,最为典型的应用程序资源主要由UI字符串、UI布局组件、图像及其它媒体文件等组成。
Android应用程序使用资源来有效地支撑本地化和各种各样的设备,对于不同的手机屏幕大小、屏幕方向(横竖屏)都可以设置相应的资源。
Service大意:Service运行在后台(无需任何UI界面)以开展许多持久的活动,例如:播放音乐或者监测网络的活动。
Theme大意:Theme是一系列定义多种默认显示设置的参数(文字大小、背景颜色等)。
Android系统在R.style中提供了一些标准的主题(以"Theme_"开头)。
URIs in Android大意:Android使用URI字符串作为基本的数据请求(例如检索联系人列表)和动作请求(例如在浏览器中打开一个页面)的方式。
URI字符串可以具有不同的格式,但所有请求数据的URI都必须以“content://”开头。
有效的动作URI字符串会被设备上的适当的程序处理,例如,以“http://”开头的URI字符串会被浏览器处理。
View大意:View是绘制在手机屏幕上的一块矩形区域,它能够处理点击事件、键盘事件和其它交互事件。
View是大多数组件的基类,如文本框、对话框等。
Viewgroup大意:ViewGroup是包含一系列view的容器对象。
ViewGroup负责决定它里面包含的view显示在什么位置、占用的大小,以及在适当的时候调用每个view的方法来绘制它们自己。
有些ViewGroup是不可见的,它们仅仅用于布局,但有些ViewGroup又有固定的UI,例如滚动的列表框组件。
所有的ViewGroup都继承了ViewGroup类,并且位于android.widget包下。
Widget大意:Widget即组件,它是一系列View子类(UI组件、布局等)的集合,例如文本框或弹出菜单。
Widget要负责测量和绘制它本身,并且还要对屏幕事件做出反应。
所有的Widget都位于android.widget包下。
Window大意:在Android应用程序中,我们并不会实现或直接使用Window这个类,它是一个抽象类。