1、南京中医药大学本科生毕业论文 信息技术 学院 计算机科学与技术 专业 2010年级学 号 084210230 学生姓名 温建东 论文题目基于Android平台的物流信息管理实习单位 江苏正融科技有限公司 指导教师 郑晓梅 起止时间 2014年3月2014年6月 20014年 5 月 21 日摘 要随着智能手机走进普通人的生活,它将成为人们获取信息的主要设备。因此,手机的应用服务将会有很大的发展空间,手机物流信息管理服务就是其中的一项。Android平台支持各种应用的开发,它是目前最流行的开源智能手机操作系统,最新的版本是android4。0,提供了便捷灵活的开发接口。随着社会的发展特别是信息技
2、术的迅猛发展,传统的运输方式已经落后于信息化发展的要求,必将被全新的运输方式取代。国际互联网的全球化热潮使人类社会进入了一个新的信息时代,因此通过计算机来获取物流信息已是信息时代到来必然要发生的结果。所以我认为建立一个物流平台不管是对于物流事业还是人民群众都有很大的帮助。设计本系统的一个主要目的是方便物流管理系统的管理,提高物流公司的办事效率。其次是方便用户的使用,节约用户的时间。物流管理系统带给我们的不仅仅是运输上的便捷,实现货物配送流程的全程计算机化。是信息时代发展的必然要的,是我们思维触角的延伸。智能移动终端所具有的实时传输物流信息带来了极大的方便。本题目要求学生基于Android智能终
3、端开发出一个物流信息管理系统,包括添加物流,分配物流,查看物流等。这些信息需要通过智能终端中的输入功能获取,同时应建立后台运行的复制的信息传输。关键词:Android;物流;信息; AbstractAs smart phones into the life of the ordinary people, it will become the main equipment of access to information。 Therefore, the application of mobile phone services will have great development space,
4、mobile logistics information management service is one of them. Android platform to support the development of a variety of applications, it is by far the most popular open source smart phone operating system, the latest version is android4.0, provides a convenient and flexible development interface
5、. With the development of the society, especially the rapid development of information technology, the traditional transportation mode has fallen behind the demands of the development of information technology will be replaced by a new mode of transportation. The globalization of the Internet boom h
6、as the human society has entered a new era of information, so through the computer to get the logistics information is the result of the information age is bound to happen。 So I think that to build a logistics platform for logistics industry and the people have very big help。 Design the one of the m
7、ain purpose of this system is convenient the management of the logistics management system, improve the efficiency of the logistics company. Followed by the user is convenient to use, saves the time of the user。 Logistics management system brings us not only on the transportation is convenient, real
8、ize computerization in the whole process of the goods delivery process. Is inevitable in the development of the information age, an extension of the antenna is our thinking。 Intelligent mobile terminal has the realtime transmission of logistics information has brought great convenience. This subject
9、 requires students based on the Android intelligent terminal developed a logistics information management system, including adding logistics, distribution logistics, check the logistics, etc。 This information need through of the input function of intelligent terminal access, at the same time should
10、be running in the background copy information transmission。Keywords: Android. Logistics; Information;- 33 -目 录摘 要2第1章 引言61。1 选题的目的及意义61。2 研究现状61。3 本系统要实现的基本目标和研究内容72。1 经济上的可行性82.2 技术上的可行性82.3 操作上的可行性82.4 系统用例图82.5 系统流程图9第3章 需求分析113.1 软件目标113.2 功能需求113。3系统界面需求11第4章 系统的总体设计124.1 设计思想124。2 系统功能结构图124.3
11、 开发语言简介134.3.1 Android简介134.3。2 Android Features特性134。3.3 Android基本框架(Android Architecture)144.4.4 Android系统的四大组件154。4。5 SQLite简介164.4 搭建Android开发环境174。5 Android的工程194.5.1 Android项目194。5.2 Android工程程序结构204。5。3 AndroidManifest。xml文件204。6 数据库表设计225.1 程序调试285.2 一般程序的测试285。2。1 系统测试的相应步骤285。2.2 相应系统测试的主要
12、内容28第6章 系统详细设计306.1手机端登录界面详细设计306.2客户端物流首页设计336.3物流信息设计366.3后台设计37第7章 总结38参考文献39致 谢40第1章 引言1.1 选题的目的及意义Android是谷歌于2007年所公布的open式源代码只能手机端系统,它的开放性真实因为它优于其它很多封闭式的手机系统,因此,不管什么人都可能按照自己不同喜好将自己的手机系统上所有的功能进行重新编写。这也使得不断有越来越多的技术关注这个有潜力的操作系统。本次作品物流信息管理系统系统就是基于安卓平台的。Android手机端操作系统现在很流行的手机端操作系统其中以个,它在每个智能手机的市场占有
13、率高达将近40以上。很多的手机控都开始使用有Android系统的智能手机,而在Android手机里都是自带优质的摄像头,它可以进行拍照,也可以进行录像等强大功能。不过有的时候,拍的图片或者手机里的影像在当时仅仅只能用户才能看到媒体.所以如果想去发给自己远方的亲朋好友的话,就要通过传统的彩信技术或者3G里的视频电话等才能实现,如果这样做不仅收费十分的高,而且带来很多不便.这里我所介绍的设计思想是想利用很多Android手机上的摄像头,进行调用系统多媒体的框架OpenCore去实现内部的视频采集和数据编码,并而且还可以通过RTP协议去把视频进行打包然后发送到各个PC客户端。然后利用手机里的3G传输
14、网络,去实现手机端拍摄和PC客户端上观看相应的视频功能。利用手机平台和web后台结合,变可达到事半功倍的效果,使用户节省时间、方便操作,增加效率。1。2 研究现状Android这个词的本来意思是指“安卓机器人”,同时也就是谷歌于2007年11月5日所宣布的可以基于Linux平台上的open手机操作系统的名称,这个平台由安卓操作系统经过中间件再经过用户界面和应用软件一起组成,可以说是全球第一个为手机端上打造的真正是开放的和完整的移动应用软件。Android是基于Linux内核的软件平台和操作系统,早期由谷歌开发(在华注册商标名为“安致),后由开放手机联盟(Open Handset Allianc
15、e)开发。它采用了software stack,又名以软件叠层的知识架构,主要分为这三个重要的三部分。低层以内核工作为基础,只提供手机上很多的基本操作功能,以Java语言作为主力编写程序的一部分的开发.而且,它为了去推广这个技术,Google和很多个手机的公司建立了良好的开放手机联盟关系。Android在还没去公开的好久之前就常被传为Google里的电话或iPhone神机里的电话.一般传闻了这个消息的都认为Google开发是开发属于自己的手机,而不是一套完整完美软件上的平台。不过一直到了2010年1月的某一天,Google终于发表了自己原创的手机,大家都知道的。1.3 本系统要实现的基本目标和
16、研究内容本文要实现的基本目标和主要研究内容有以下几个方面:(1)安卓手机客户端的物流信息管理系统的数据的录入。(2)客户端查看物流信息(3)后台添加物流(4)手机端和web后台进行数据传输 第2章 系统的可行性研究当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,是的手机操作系统也出现了不同各类,现在的市场主要有三个手机操作系统,Windows mobile,symbian,以及谷歌的Android操作系统,其中占有开发源代码优势的Android系统有最大的发展前景.那么能否在手机上拥有自己编写的个性物流信息管理系统系统呢?能的,谷歌Android系统就能做到。本文
17、的物流信息管理系统系统就是基于谷歌Android手机平台的程序。2.1 经济上的可行性Android是 Google 历经数年和投资数亿美元开发出来的智能手机系统,是基于 Linux的内核的操作系统,是 Google 公司在 2007 年 11 月 5 日公布的手机操 作系统。随着各大移动终端生产商大力开发和生产基于安卓上的移动智能手机设备,Android飞速的得到了很多业界和使用者的认可,并很快成为整个手机这个产业的上的热点话题,在Android这个强力的平台的成为了大家的焦点。 而且这个Android是一个open的系统,不管是企业还是个人都可以参与来表达自己的创意和想法。2。2 技术上的
18、可行性Google 发起了围绕Android的组织-开放手机联盟, 其英文全称为 “Open Handset Alliance。 它采用了软件堆层(software stack,又名以软件叠层) 的架构,主要分为三部分。底层 Linux 内核只提供基本功能;其他的应用软件则 由各公司自行开发,部分程序以 Java 编写。 2.3 操作上的可行性本系统采用Android框架,可以在eclipse中安装Android开发插件,使用Android模拟器也可以使用任意Android终端。模拟器和真正的Android手机没有太大区别,人们对手机操作早已熟悉。综合以上三方面,该系统具有很高的开发可行性,无
19、论是从技术上经济上还是操作上。故此,可以设计该系统流程图,建立数据字典。2。4 系统用例图用例图定义:由参与者(Actor)、用例(Use Case)以及它们一起的关系构成的系统功能的所有的静态视图一起称为系统用例图。下面为系统用例图。手机端用例图,如图2-1所示.图2-1手机端用户用例图后台用例图,如图22所示.图2-2后台用例图2.5 系统流程图System Flowchart又叫系统里的流程图,它是用来描绘整个系统里物理模型的传统tool。而它的最根本的思想就是用图形和符号以黑盒子方式去描绘该系统里面的所有部件,然后表达出相应的信息在每个部件所流动的状况,相册系统的流程图如图22所示。图
20、22物流信息管理系统流程图第3章 需求分析软件需求分析工作是软件生存期中重要的一步,也是决定性的一步.软件需求分析是一个不断认识和逐步细化的过程,该过程将软件计划阶段所确定的软件范围逐步细化到可详细定义的程度。需求分析还是软件开发的基础,假定在该阶段发现一个错误,解决它需要用一小时的时间,到设计、编程、测试和维护阶段解决,则要花几倍甚至更多的时间。因此对于复杂系统而言,首先要进行需求分析.开发人员应该对用户的要求及现实环境进行调查和了解。3。1 软件目标本系统是物流信息管理系统系统。可以方便用户平时对物流信息管理系统的统计。本系统应达到以下目标: (1)软件采用人机交互的方式,界面美观友好,操
21、作灵活、方便、富有个性化.(2)能够对物流信息管理系统的操作。(3)系统应最大限度地实现易维护性和易操作性。3.2 功能需求功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了用户的业务需求。用户需求文档描述了用户使用产品必须要完成的任务.针对android手机物流信息管理系统系统分别对输入功能、接受功能等功能进行详细的调研和分析,总结出如下的用户需求信息。3。3系统界面需求手机屏幕下物流信息管理系统系统界面要求布局合理,颜色舒适,控制按钮友好,要求整体有一个主要的元素标准,统一的主题思想。第4章 系统的总体设计软件功能设计是使整个软件能够实现物流信息管理系统的界面布
22、局和物流信息管理系统提醒功能,能让用户更好的物流信息管理系统系统。4.1 设计思想(1)将物流信息管理系统去分成几个相对与系统里各个模块独立的模块。(2)在设计软件时必须合理去对数据流这块进行设计,然后在他的应用系统设计过程中,使每个模块之间的兼容性较高,实现有利于方便系统的运行和去提高整个系统的安全性。功能模块:1、拍照保存、浏览的基本功能。2、照片的简单编辑.3、将照片分享到新浪微博。4、分享时用到网络,要实现3G/WIFI自动切换.4。2 系统功能结构图根据上述需求分析,本Android手机物流信息管理系统系统可分为一下几个模块: 传输基本功能如图所示:物流信息管理查看物流上传用户管理商
23、品管理从图中可以看出参与者依然是用户,这表达了客户体验的要求,当用户输入添加所需要的信息后,会添加到系统里面。添加物流信息管理系统模块如图所示物流系统添加物流信息系统数据上传传输查看物流存储数据读取数据添加物流信息管理系统模块图4。3 开发语言简介4。3。1 Android简介Android这个词的本来意思是指“安卓机器人”,同时也就是谷歌于2007年11月5日所宣布的可以基于Linux平台上的open手机操作系统的名称,这个平台由安卓操作系统经过中间件再经过用户界面和应用软件一起组成,可以说是全球第一个为手机端上打造的真正是开放的和完整的移动应用软件.Android是基于Linux内核的软件
24、平台和操作系统,早期由谷歌开发(在华注册商标名为“安致”),后由开放手机联盟(Open Handset Alliance)开发.它采用了software stack,又名以软件叠层的知识架构,主要分为这三个重要的三部分。低层以内核工作为基础,只提供手机上很多的基本操作功能,以Java语言作为主力编写程序的一部分的开发。而且,它为了去推广这个技术,Google和很多个手机的公司建立了良好的开放手机联盟关系。Android在还没去公开的好久之前就常被传为Google里的电话或iPhone神机里的电话.一般传闻了这个消息的都认为Google开发是开发属于自己的手机,而不是一套完整完美软件上的平台.不
25、过一直到了2010年1月的某一天,Google终于发表了自己原创的手机,大家都知道的。4.3。2 Android Features特性Android系统有如下的几大特性:u 应用程序框架 它可以支持许多组件的重复利用与相互替换u Dalvik虚拟机 专门去为手机端设备做很多优化u 内部系统结合的浏览器 这个浏览器是在open的WebKit引擎u 它还去优化了系统的图形库 这里包括传统的2D和现代的3D图形库,而现在的3D图形库都是在OpenGL ES上的u SQLite 是可以对内部的数据进行存储的u 多媒体支持 包括日常生活中经常见到的音频music、视频vidio和静态图片的各个文件格式u
26、 GSM手机端电话配置(它是依赖于很多硬件的组成)u 蓝牙Bluetooth,EDGE,3G and WiFi (它是依赖这很多硬件上的支持的)u 照相机,GPS,指南针,和加速度计 (它是依赖这很多硬件上的支持的)u 非常有趣的开发代码环境 包括安卓的设备模拟器还有调试工具和一些内存及各个性能的分析图表,然后就是Eclipse的集成编译开发环境的各个插件.4.3。3 Android基本框架(Android Architecture)Android平台的基本框架如图所示。 Android基本框架图(1)ApplicationsApplication Android会同一个主要的应用程序开发包一
27、并发布出来,这个app程序包包含了一下内容email客户端,SMS,日历功能,地图的查找,浏览器的查看,联系人进行管理等。这些的app程序必须要用JAVA编写的.(2)Application FrameWork开发者完全可以去查看只要的应用程序所用到的API framework。该application framework用来简化很多组件的软件起到重用的效果;任何一个application 都可以去发布它的相应功能块,而且任何other的application 都可以去使用其它发布的很多功能块。该application 重用的机制使得很多组建可以被user替换。所有的application都由
28、很多的服务功能和系统里起到的功能所组成,包括:l Views可以用来建application ,包括lists,网格(grids),文本框(text boxes),按钮(buttons),甚至包括一个可以内嵌到手机里的web浏览器l Content Providers使得application 可以去访问另一个人的application 的数据(如联系人数据库),或者共享它们自己的数据。l 资源管理器可以去提供很多非代码的资源查看,如localhost string的访问,图形,和分层文件(layout files)。l Notification 使得application可以在状态栏中显示客
29、户通知信息。l 活动类管理器(Activity Manager)用来管理application 的activity并提供很多常用的导航进行回退的功能。4.4。4 Android系统的四大组件在Android系统中,为我们提供了四大基本组件,每个组件是一个视图,但是有些是可见的,有些是不可见的视图,像Activity,ContentProvider是可见的视图,Service和BroadcastReceiver是不可见的,它们只在系统的后台运行。下面分别介绍四大组件:(1)Activity 简介在Android系统中Activity提供可视化的用户界面,一个Android应用通常由多个Activ
30、ity组成.多个Activity组成了Activity栈(Stack),当前活动的Activity处于栈顶。Activity有自己的生命周期,由Android系统来控制。(2)Service 简介顾名思义Service就是运行在后台的一种服务程序,一般很少和用户交互,因此没有可视化界面定义一个Service类比较简单,只要继承Service类,实现其生命周期中的方法就可以了。一个定义好的Service必须在AndroidManifest.xml配置文件注册,通过元素声明才能使用.Service有自己的生命周期,我们可以调用startService()启动一个Service或者bindServi
31、ce()方法来绑定一个存在的Service 。(3)Broadcast Receiver 简介Broadcast Receiver 顾名思义广播接收器,它和事件处理机制类似,只不过事件处理机制是程序组件级别的(例如,某个按钮的单击事件),而广播事件处理机制是系统级别的.到目前为止我们可以使用Intent来启动一个程序组件,我们还可以通过使用sendBroadcast()方法来发起一个系统级别的事件广播来传递消息。我们可以在你的应用程序中实现Broadcast Receiver来监听和响应这些广播的Intent。(4)ContentProvider简介Content Provider 用来保存和
32、检索数据,并且使应用程序之间相互访问数据成为可能.它是跨应用程序共享数据的唯一方法。Android 为常用的数据类型(如:音视频、图片和联系方式等)提供了大量的Content Provider。它们被定义在Android。provider包下面。通过这样定义好的ContentProvider 我们可以方便的进行数据操作。当然我们必须拥有适当的权限。每个人都也可以去自己来定每个内容Provider共享我们的数据,方便用户的访问。4。4。5 SQLite简介由于它使用的资源非常少,而且在很多内嵌设备都是用这个来存储大量的数据.并且它现在还支持很多主流的电脑操作系统,兼容性这块是非常不错。大家也可以
33、去用多种的开发语言去使用,比如C、Java等来通过各种接口来操作SQLite数据,十分方便。Android作为目前主流的移动操作系统,完全符合SQLite占用资源少的优势,故在Android平台上,集成了一个嵌入式关系型数据库-SQLite。如果你想要开发 Android 应用程序,一定需要在 Android 上存储数据,使用SQLite 数据库是一种非常好的选择。本数据库支持功能如下:1。自动建表,支持属性来自继承类:可根据注解自动完成建表,并且对于继承类中的注解字段也支持自动建表。2。自动支持增删改,增改支持对象化操作:增删改是数据库操作的最基本单元,不用重复写这些增删改的代码,并且添加和
34、更新支持类似于hibernate中的对象化操作。 3。查询方式灵活:支持android框架提供的方式,也支持原生sql方式.4.查询结果对象化:对于查询结果可自动包装为实体对象,类似于hibernate框架。5.查询结果灵活:查询结果支持对象化,也支持结果为ListMapString,String形式,这个方法在实际项目中很实用,且效率更好些。4.4 搭建Android开发环境任何事物要运行,都要有它的环境,Android也有它的环境才能够运行,下面介绍Android的开发环境配置.搭建开发环境需要的软件:1) 操作系统:window XP或linux2) 软件包:Android SDK(So
35、ftware Development kit Java Development kit) 、ADT(Android Develoopment Tool)3) IDE环境:Eclipse IDE+ADT Eclipse3。3以上4) JDK:Java Runtime Environment虚拟机 、(JDK)Java Development kit安装步骤如下:第一步:安装Java虚拟机sunjava6-jdk版本。第二步:安装Eclipse3.5工具,到官网http:/www.eclipse.org/downloads/,选择版本下载后进行安装。(如图)Eclipse工具的版本如图1-2所示:
36、Eclipse工具的版本图第三步:安装Android SDK:首先要下载SDK,可以在这个网址下载Http:/developer。Android。com/sdk ,选择相应的系统进行安装.sdk下载的地址图如图所示:sdk下载的地址图第四步:安装Android ADT插件。运行Eclipse,选择helpinstall new software 选择add,将会弹出一个【Add Site】对话框.【Add Site】对话框如图: 【Add Site】对话框图点击OK,选择要安装的软件,占next,然后选择接受协议,直到安装成功,重启Eclipse软件,设置Android SDK Home,Wi
37、ndow-refrence。设置Android SDK Home界面如图所示:设置Android SDK Home界面图在SDK location中输入SDK Tools路D:AndroidsoftwareAndroidsdk-windows 点击OK,这样Android环境就已经搭建成功了。4。5 Android的工程4。5.1 Android项目Android的四大基本组件:Activity(活动),Service(服务),BroadcastReceiver(广播),ContentProvider(内容提供者),各组件之间要进行切换需要一个意图或企图Intent类,通过启动StartInt
38、ent()方法来使各组件进行跳转Android的五大布局方式:LinearLayout(线性布局) FrameLayout(帧布局) TableLayout(表格布局) AbsoluteLayout(绝对布局) RelativeLayout(相对布局)五种布局方式可以相互嵌套,Android各种漂亮的界面都是通过嵌套布局而实现的.Android的线程,以及线程之间通信的中介:Handler类Android配置文件:AndroidManifest.Xml及res资源文件中各种属性布局方式引用的资源等。Android系统将插件ADT集成到了Eclipse工具上,因此,一个Android程序启动后,
39、系统会启动一个模拟器(Emulator)(如下图),该模拟器是一款手机板的样式,拥有手机硬件的基本操作。我们也可以将右边的键盘通过代码属性设置将其隐藏,界面的大小可自由设定.模拟器图4。5。2 Android工程程序结构Android工程基本结构目录包括:src (源代码)、gen(Android系统自动生成的常量)、Res(资源文件):主要存放程序界面的布局配置(.xml)文件和图片资源。AndroidMainfes。xml 是四大组件的驱动配置文件,有它的存在,Android程序的四大组件才可以正常的跳转。Android资源的类型和布局(图17)资源类型和布局图4.5.3 AndroidM
40、anifest.xml文件Android系统的任何一个程序启动都需要AndroidManifest。xml来启动程序,任何一个新建的工程目录都会自动生成一个AndroidManifest。xml文件,此配置文件是整个程序能够正常运行的核心,它里面包含了Android SDK的版本,程序运行的默认Activity,当程序中的任何一个组件触发事件后,系统都会自动的去AndroidManifest。xml中寻找标识来作出相应的操作。任何一个AndroidManifest。Xml文件的格式都应为: application activity intent-filteraction/category/ap
41、plicationusessdk /uses-permission /manifestAndroid系统有一个编码的规定,支持的编码是utf8,当程序中出现乱码是,我们须将其编码格式转化为utf8.在 AndroidManifest。xml中会在第一行声明一句:intent-filteraction Android:name=”Android.intent。action.MAIN”/category Android:name=Android.intent.category.LAUNCHER /intentfilter/activity这是系统确定的首先要启动的Activity是PlayRack
42、Activity.在intent-filter选项中,有action和category等等属性,我们需要定义action的值为Android。intent。action.MAIN,category的值为Android.intent。category。LAUNCHER,它们是系统的值,程序在解析到这些常用后就可以确定首先要启动的Activity。当我们需要通过一个组件触发另一个组件时,我们将设定action和category的其它属性值,系统会根据我们设定的属性值去AndroidManifest.Xml的application 中寻找标识,任何一个Activity的action和category
43、是唯一,所以程序在任何时候都能唯一启动一个Activity,这样,不同的Activity之间的跳转就实现了.在AndroidManifest。Xml中有一个根结点,它是我们需要定义的ADT版本,例如我们将其值设定为Android:minSdkVersion=10”,则表示此Android工程所用的版本为2.3,Android还有1。1、1.5、1.6、2.0、2.1、2。2、2.3、3.0、4.0这几个版本。如果我们需要对网络进行访问,比如打开一个网页,刚我还需要设置一个网络访问权限usespermission,将其的值设置为Android:name=”Android。permission。I
44、NTERNET,我们就可以访问网络了.当然uses-permission还有很多其它的权限,例如GPS定位权限,浏览器数据存取权限com.Android.browser.permission.READ_HISTORY_BOOKMARKS等等.当程序的任何一个组件要用到时,都必须在AndroidManifest.Xml文件中声明。四大组件要使用前都需要声明,其声明方式如下:service/service/provider/activityreceiver/receiver其中声明provider时还需要声明其授权 authorities。每个组件里面还有很多的属性,会根据程序的具体需要定义不同的
45、属性。过滤器intentfilter 有两种启动方式来启动界面。1) 显示方式显示方式是在代码中的直接启动组件,启动时会声明Intent,在它的构造方法Intent(组件1,组件2)中直接指定一个组件的名字,然后调用方法startIntent(intent)以启动指定的组件。 2)隐式方式隐式方式是通过过滤器来过滤完成的,启动的组件必须满足action和category的条件才能够启动该组件。这些属性是在AndroidManifest.Xml文件中声明的。两种启动方式都可以通过程序setAction(ACTION常量)和startActivity(intent)或配置文件两种方式来实现组件的跳转。4。6 数据库表设计本系统采用mysql数据库,下面为数据库表。account表:序号字段名称字段类型大小允许为空最大长度备注1IDInt4自增编号10 2commodity_idVarChar255是255