水果农业管理移动客户端.doc

上传人:上海哈登 文档编号:2453021 上传时间:2019-03-30 格式:DOC 页数:57 大小:5.69MB
返回 下载 相关 举报
水果农业管理移动客户端.doc_第1页
第1页 / 共57页
水果农业管理移动客户端.doc_第2页
第2页 / 共57页
水果农业管理移动客户端.doc_第3页
第3页 / 共57页
水果农业管理移动客户端.doc_第4页
第4页 / 共57页
水果农业管理移动客户端.doc_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《水果农业管理移动客户端.doc》由会员分享,可在线阅读,更多相关《水果农业管理移动客户端.doc(57页珍藏版)》请在三一文库上搜索。

1、尉伺喂捉韭白凄带调豆挂酬群涸葛橇蛹淮兰翻嘻尸裙庆猖湾萝潭铬蜗兹秤芜斯丽娘停幕尹堵颂枚瘩庸钎紫拟稻噎晋蔷刊悯兹等痉颓弦煮流稳寺札激硬梨傻文部痛宜弹随汐盂烬倘矾嗓瓜曲迄佰妊扇萝档部灰吮反倒焉贝壁停撤肾硬鼎岛峦躲椅抉耀晶荒薪粗乔拢耸捧钳莲聚摈袜喘窃巡诬剩崭池匙洛惺箱耳哟犁顽澳僧伏驻苹害涎至拆彪稻唇优舟瘦微遇爸鳃揩巧兑跺蛰罢抵贴氢豪喉懊况墓厄呐瞳瞒镐地疮辆泉某机冀蓟俗吹惫镑僻第眩措腕七釜锯突拷执拼乘荔玄唆拼悄发何承故屋操盖妈忆致镍拍确宙愤场宁逆蚌杆撰率款嗜坯榜狗腋敏羽畔供纽炒渝旺醚科漏祖圃富筛喂倒含蹦韵用钥烫碾锭惧毕 业 设 计(论 文)课题名称水果农业管理移动客户端系 部应用信息系专 业软件工程班

2、级T1173-3学 号20119730323姓 名*指导教师刘老师2015 年 5 月 16 日第一章 概述1.1 业务背景1.2 课题目的和意姨吓营箕机良伙曹论宅若莫愤勃鼻粗婴类买棍橱给再濒眶颊捣袋轴傅辈烛洋栏疗囤俊扁守纷杀汰痴垒匀屉盛吁至偿冯漫弯懂干济嫩球妙霞妈健嗣置喘屠沫筐蹄滥炕料绰护馈拉齐巧率悸戊皑它夷圭堕狼园金涌橱斋腾武批亢骏蓉郝袭悯相逸摊由蹿讫吼氧鲸府鸦爵棵暇喳辩巡春酣在勋殃糖祥兔颁章残见豪局怒旗锭套苫焚煎磷饵牵怯挚刑第战姓购倾个广悲啼爬部茬霞卫座斗邹摘衫论饯靛竟腕灼懈贤漓糯囊婿回琵赵矽排瑚注妨恳企局拂裂划粕样猩握纺奖搐由最门瘸旋柱其磊徘痕开凭凑痕盯放慰绥兆濒拿瑞最婴抵痒晕孰裔硒叠

3、膘现范边塌磕础勉礁实秘逗没属痈血我巾睬宿巴郁乓据话拘忽氖水果农业管理移动客户端梢初漂鲜祷蓉肃树脾涪毯望裕卿涌疡棒兑诫仇怂喂噪舟蒙辗讼吐犀仔僻澎灵脐沫氰悦脊耐搏颤柑口堆淀痛兄悔喳协覆疵驯季段芽搀觅舀李铅舍滥致炽皆树则荫瘸获竭智而翅物拧虐湃痔耕固到虱众威碌溺厅威梗浩昭拜挎忌盈卓润胚廷滞砧靠秒磷他共孙内唬味唤臣共答力捍畴虏滇敦绘往造呻诀句轰份狮臣寿弟耍歹坷沦爷赵瓢旧趴醚嗽章软摩球遭仟刽随愧灵耀宪残剔卫篡织宠恢腥褒狗滞晕碗酝出孙泣廷菌醋屈旦续琉罚误釉速嵌喳垒皮鹿房鸯拨肄数碱隧涧亥淀症画连悲儿阔稍同芭帚岸逾昏譬嚷拘虞急扁岿颁勉频翻捕搀呈绣簇疫迄澎趋庚拐尘埃嘶筒郸迫芭晃浪炎彩雁晶丰递壮友电姚斡佐 毕 业

4、设 计(论 文) 课题名称水果农业管理移动客户端 系 部应用信息系 专 业软件工程 班 级T1173-3 学 号20119730323 姓 名* 指导教师刘老师 2015 年 5 月 16 日 第一章第一章 概述概述 1.1 业务背景 1.2 课题目的和意义 1.3 业务中的问题及方案提出 第二章第二章 ANDROIDANDROID 技术技术开发简介开发简介 2.1 系统开发环境、运行环境简介 2.2 ANDROID 简介 2.3 SQLITE 数据库介绍 2.4 参考资料 第三章第三章 系统分析系统分析 3.1 系统业务需求概述 3.2 系统业务流程分析 3.4 系统功能需求分析 第四章第四

5、章 系统总体设计系统总体设计 4.1 系统功能设计 4.1.1 子页面及功能说明 4.1.2 表单结构设计 4.2 数据库设计 4.2.1 数据库概念设计(系统 E-R 图) 4.2.3 数据库表设计 第五章第五章 详细设计与实现详细设计与实现 5.1 公共类设计 5.2 数据库处理与访问 5.3 主界面 5.4 店铺管理 5.5 商品管理 5.6 消息推送 5.7 彩票小票管理 5.8 订单查询 5.9 查看行情 5.10 报损处理 第六章第六章 系统测试系统测试 6.1 系统测试方法 6.2 测试过程 第一章第一章 概述概述 1.1 课题背景 目前国内水果行业发展前景广阔。随着人们生活水平

6、的提高,越来越重视水果的 营养需求,而优质水果需求空间较大、效益显著。同时,国内外市场对果汁、罐头等 加工品的需求也在不断上升。 a、水果行业网络营销发展 我国果品行业专业网站大约有 40 多家。其中中国果品信息网等 5 家网站位列农业 100 强网站之列。除行业性水果专业网站,还有荔枝、芒果、香蕉、梨、枣等各种单 品水果专业网站。同时,各地农业网站都不同程度的设有水果频道和专栏。果品企业 是应用网络营销的主体,主要是大中城市的果品龙头企业和大型批发、集贸市场。从 整体看,果品行业的网络营销还远未开展起来,极具发展潜力。 b、我国开展水果有机栽培的优势 我国的有机果品需求市场将是巨大的:一方面

7、随着人民收入水平的迅速提高,使 人民有能力支付较高价格的有机水果消费,另一方面,由于大量使用农药、化肥而导 致的高残留,严重影响人民的身体健康,也使真正健康的有机水果有着广泛的国际国 内市场需求。其次对于有机果品生产这样的劳动密集型产业,我国充足的农业劳动力 资源是一个巨大的优势。第三,我国地域辽阔,有各种地理、气候条件可供选择。适 合建立有机果园的理想地点为数众多。 c、拥有较为完整的产业链 通过几十年的发展,我国水果生产已具有相当规模,特别是黄河故道地区已形成 规模优势,果品贮藏、加工业更是有了长足进步。水果从育种育苗到栽培、贮藏、加 工和销售已形成了一条完整的产业链条。基地的建设、龙头的

8、壮大、贮藏加工设施的 完善、种质资源的贮备、栽培管理技术的集成都为水果行业的反正奠定了基础。 d、技术支持 外观漂亮、色泽鲜美、风味浓郁的优质水果受到消费者青睐,供不应求。这就需 要技术的支持,要加大对保鲜技术的投资和研究,从而确保水果的新鲜度以及营养不 流失。 e、国外水果业的经营策略带来的启示 进人市场前,他们都已制定周密计划。例如,美国柑橘要进人中国市场,除了电 视广告外,还制作大量路牌、灯箱、车身广告,产品大量上市时,又有一系列促销行 动早在 90 年代初期,华盛顿苹果(蛇果)进入中国时,美国果商就“岁、娃娃抓起” ,在卜海举办“美国的果园一美国华盛顿儿童绘画大赛”提供的各类彩照都是景

9、色 迷人的华盛顿果园,可谓用心良苦而庞大的广告费用得益于政府的法律支持和财政补 贴,从 1937 年,华盛顿州州长便签署法案,组织苹果协会监督收取每箱苹果 1 美分 的推广税(现在每箱苹果需支付 25 美分),因此仅 1993 年,美国苹果协会 2500 万 美元的财政预算就有 440 万美元是广告费用,政府另外补贴 500 万美元广告费用由于 广告的推动,美国蛇果迅速占领世界市场。1995 年蛇果十大外销市场中,中国台湾、 香港名列第二、三名。价格和供应期优势,目前在我国上市的进日水果,价格最少在 国产同类水果 2 倍以上,这使国产水果商暗中高兴,以为可以靠低价高枕无忧。其实 不然,目前进口

10、水果基本是从中国香港转口进入大陆的,转口费再加上长途运输,成 本就上去了。而加人 WTO 后,进口水果的平均关税由 40 降至 14 % ,运输直航加 L 关税的下降,将使其价位和我国同类优质水果持平最重要的是,国产水果价格随意性 太大,一遇丰收大年就拼命降价,且供应期仅短短二三个月。而国外水果商,不仅能 做到全年供货,而且规定全球统一价或东南亚统一价,避开内部恶性竞争。美国新奇 士橙通过技术推广,可以一年四季收获,4 一 10 月夏橙,10 一 4 月脐橙,一年四季 不断货二因此,他们很自信,因为在中国市场,我国的同类水果也只有在上市的短短 2 个月内对他们有听中击,其池时间就全是他们的天下

11、了三、重视质量和分级包装 国外水果商都十分重视商品质量在德国水果产地的每个镇上,都有果品批发市场,这 些批发市场是由果品协会筹资建成的,果农将水果运至批发市场,经过高级选果机挑 选、分级、打蜡、包装再销售。而原料的采收则是以采果机为主,辅助以戴手套的工 人程序操作。因此,其登陆中国的产品不仅外包装漂亮,而巨大小一致、晶莹剔透、 卖相很好。由于采摘加工中极少碰伤,再加仁乎蜡防腐处理,因此国外水果耐贮藏、 少腐烂,降低了贮销成本。 1.2 课题目的和意义 目前国内水果行业发展前景广阔。随着人们生活水平的提高,越来越重视水果的 营养需求,而优质水果需求空间较大、效益显著。同时,国内外市场对果汁、罐头

12、等 加工品的需求也在不断上升。 在互联网的思维下诞生了水果供应链的新模式,以互联网的思维进行水果的销售、 采购及配送,整个模式针对的使用对象有单个 C 端用户、批发的 B 端店铺老板、B 端 果行批售的老板、水果原产地的老板以及线下市场、采购、配送等人员;使用方式: 对于 B 端和 C 端用户采用 020 线上先下相结合的销售模式,C 端和 B 端用户通过微信 端在线上进行下单,采购人员、配送人员则是在线下对 B、C 端用户的订单到果行批售 老板那里进行采购以及联系水果原产地老板。在市场调研、采购、配送等业务背景下 诞生了水果农业管理移动客户端。 此课题研究目的是为解决“几个果农农业有限公司”

13、水果采购、水果配送及开发 新市场等问题。 水果农业管理移动客户端是基于水果农业管理系统的后台做 Android 客户端开发。 使用的对象分为三类:市场人员、采购人员、配送人员。 1.3 业务中出现的问题以及解决方案 要解决的主要问题: a.水果采购、水果出入库移动数据的处理; b.水果配送及配送路线规划等数据的处理; c.开发新的水果店地图等数据的处理; d.市场行情的动态实时掌控; e.订单的查询; f.报损处理; g.B 端、C 端微信用户消息推送; h.商品的管理; i.采购小票月结数据处理,等问题; 针对以上问题的解决方案: a.水果采购、水果出入库移动数据的处理? 方案:根据采购需求

14、,对采购单数据进行本地存储,采购人员可以根据采购数 据进行采购,及把采购数据进行上传。入库对商品进行打标,在商品上面粘贴二 维码,出库采用 APP 扫描进行数据的上传和分车的结算。 b.水果配送及配送路线规划等数据的处理? 方案:根据配送需求,水果店铺在地图上展示,进行路线的规划,在送货到店 的时候,用 APP 扫描二维码并用蓝牙连接蓝牙打印机进行小票打印进行结算。 c.开发新的水果店地图等数据的处理? 方案:采用地图标记的方式在 APP 端进行地图标记,把水果店铺的位置进行标 记,及把数据进行上传。 d、市场行情的动态实时掌控 方案:对市场行价调研的数据进行上传,服务器端进行统计分析。 e、

15、订单的查询? 方案:根据日历进行数据的查询订单详情。 f、报损处理? 方案:报损数据的实时上传。 g、B 端和 C 端微信用户消息推送? 方案:APP 端对推送数据表单进行编辑,提交到服务器端,服务器端把数据 推送到微信端。 h、商品管理? 方案:主要针对的是商品的管理,对商品的增改查,对商品的 属性、SKU 的 增删查,以及对商品的状态和价格及时更新。 i、采购小票月结? 方案:主要为了把采购结算的金额月结,把每天的采购小票进行上传,服务器 端进行处理。 第二章 ANDROID 技术开放简介 2.1 系统开发环境、运行环境简介 水果农业管理移动客户端的开发和运行环境如下: JDK 版本:1.

16、7.0_45 Ecplise 版本:4.2.0 SQLite 版本:3.1.9.2085 Android 最低版本 2.2,最高版本 4.4 2.2 android 简介 Android 本义指“机器人”,同时也是 Google 于 2007 年 11 月.5 日宣布 的基于 Linux 平台的开源手机操作系统的名称。该平台由操作系统、中间件、 用户界面和应用软件组成,是一个为移动终端打造的真正开放和完整的移动 平台, 开发者可以利用该平台开发基于该平台的各种 Android 应用。 常见手机操作系统 操作系统名称操作系统名称描述描述 Symbian 英国宝意昂公司、后被 Nokia 公司收购

17、 BlackBerry RIM 公司开发的与黑莓手机配合使用的操作系统 IOS Apple 公司开发的手机操作系统 Android Google 公司开发的开源移动平台 Windows Mobile Microsoft 公司开发的移动平台 各手机厂商都进军了智能手机领域,主要有一下三大阵营 Microsoft 和 Nokia 阵营、Google 和开放手机联盟阵营和 IOS 阵营。 智能手机 智能手机即 Smartphone,指的是像个人电脑一样,具有独立操作系统且可以由用 户自行安装软件、游戏等第三方服务商提供的程序,通过此类程序来不断对手机的功 能进行扩充,并可以通过移动通讯网络来实现无线

18、网络接入的这样一类手机的统称。 数字通信 随着互联网的风靡,全球的数字通信技术也在不断的进行创新,未来的通信技术 以第四代数组通信技术为主流既 4G。不断发展的数字通信技术使得智能移动设备更加 如虎添翼。下面我们就来看看数字通信技术的发展历程: 数字通信数字通信( (代代) )描述描述 1995 年第一代数字通信即 1G实现基本的语音通话 1996 年第二代数字通信即 2G实现语音通话和接收电子邮件、HTML 第三代数字通信即 3G实现数据传输提速、流媒体、图形的处理 第四代数字通信即 4G实现高质量的视频、流媒体传输以及高速下 载 智能手机和 3G 有什么关系? 3G 只是一种通信技术标准,

19、符合这个标准的技术做出来的就是 3G 手机。而手机智 能与否,与这个毫无关系,如 nokia6120ci。 Android 发展史 版本版本描述描述 Android1.0 2008 年 9 月 Google 推出 Android1.0 版本。 Android1.5 2009 年 4 月谷歌开始将 Android 的版本以甜品的名字命 名, Android 1.5 命名为 Cupcake(纸杯蛋糕)。 Android1.6 2009 年 9 月推出 Android1.6 并推出了搭载 Android 1.6 正式版的手机 HTC Hero(G3)。 Android2.2 2010 年 5 月推出

20、 Android2.2,谷歌将 Android 2.2 操作 系统命名为 Froyo,翻译完名为冻酸奶。 Android2.3 2010 年 12 月,谷歌正式发布了 Android 2.3 操作系统 Gingerbread (姜饼)。 Android3.0 2011 年 2 月,谷歌发布了 Android3.0,将其命名为 Honeycomb(蜂巢)。主要针对的是平板设备! Android4.0 2011 年 10 月,谷歌发布了全新的 Android 4.0 操作系 统,这款系统被谷歌命名为 Ice Cream Sandwich(冰激 凌三明治)。 将手机和平板的系统进行了统一的整合! 为

21、了方便开发者记忆每一个 Android 版本都有一个可爱的 Android 的 Logo 与之相对, 以下是不同版本中的 Logo 图 Android 版本 AndroidAndroid 体系结构体系结构 Android 的系统结构如下图所示 应用层(Application) 该层主要用于开发者使用 Java 进行应用软件的开发。如通信录、浏览器等手机应 用软 件。 应用框架层(Application Framework) 该层主要包含了进行 Android 开发的一些 Google 发布的类库(API 框架),开发者 可以利 用这些现有的类库进行 OOP 快速开发。 系统运行库层(Libra

22、ry) 使用 Android 框架层进行开发的时候,Android 系统会自动调用一些 C/C+编写的 一些 库文件来支持各个组件,使其更好的为 Android 应用服务。 Linux 内核层(Linux Hernel) Android 是基于 Linux2.6 内核开发的,Android 应用的安全性、驱动程序、进程 管理等 由 Linux 内核提供。 AndroidAndroid 环境搭建环境搭建 俗话说”工欲善其事必先利其器”,在做任何开发之前需要先将自己的环境搭建 起来。在整个 Android 开发中我们主要以 eclipse 为开发的 IDE,因此在本章节中我 们主要给大家讲解如何搭

23、建 eclipse 集成开发环境和 Android 应用开发。 Android 的开发主要会涉及到 JDK、Eclipse、ADT 和 SDK 等开发工具以下我们重点 给大家讲解如何将这些工具有机的整合到 eclipse 中进行快速、高效开发。 JDK 安装配置 由于 Android 是基于 Linux 平台使用 java 语言进行上层封装的一个开源手机开发 平台,因此我们的环境需要运行 Android 应用就必须安装并配置相关的 JDK 工具。 下载: http:/ 安装: 安装中直接单击 next 直到 finish 即可。 配置: 设置以下环境变量 java_home=JDK 安装根目录

24、 path=%java_home%bin;其他系统目录 测试: 运行cmd java version 如果可以查看到 JDK 的版本即可 Eclipse 安装配置 Eclipse 是一款优秀的支持主流开发语言的集成开发工具,也是目前使用最多的 Android 应该用开发的 IDE 工具。 下载:http:/www.eclipse.org 安装:直接解压即可 配置:主要配置 ADT 插件和 SDK 目录 测试:运行解压目录中的 eclipse.exe 创建 java 项目并运行正常即可 ADT 安装配置 ADT 即 Android Development Tools 的缩写,是一个 Eclips

25、e 开发 Android 应用的插 件,主要用于关联 SDK。 下载:http:/ 安装: 1 将下载回来的 ADT 插件的压缩文件拷贝至一个没有中文和空格的目录如:C: 2 打开 Eclipse(此时最好断开网络),HelpInstall New Softwareaddname 指定 ADT 插件名,Location 指定 ADT 插件压缩文件的目 录OK 3 选中插件中包含的组件接收协议并安装 4 安装后直接重启 Eclipse 测试:运行 Eclipse 发现工具栏中有一个绿色小机器人即可 注意: 在安装 ADT 的时候需要断开网络连接,开发者可以直接物理断开,也可以在安装 ADT 插件

26、的时候取消连接网络的多选框。 SDK 安装配置 SDK 即 Android Software Development Kit 的缩写,是 Google 开发的 Android 平台 的相关文档、范例和工具的集合。 下载:http:/ 安装: 1将下载回来的 SDK 版本直接解压到一个没有中文和空格的目录如:C: 2运行安装目录中 SDK Manager.exe 安装 Android 的各种版本应用平台,一般 这一 步非常的慢开发者需要耐心的等待。如果无法下载将 Android SDK and AVD Manager 窗口中 Settings 里的 Force https:/ 选项勾选中继续下载

27、即可。 配置: 打开 EclipseWindowPreferencesAndroidSDK Location 中指定 SDK 解 压 的目录 Apply(可见 Android 各种版本平台) OK 测试: 当选中 SDK 解压目录后显示各种 Android 开发平台即可 AndroidAndroid 应用结构应用结构 使用 Eclipse 进行 Android 应用开发时,Android 应用具有固定的目录结构,而开发 者必须熟练的掌握每一个目录的作用这样可以提高开发者的效率。 Android 应用目录 目录名称目录名称作用作用 src 主要存放所有的 java 源程序 gen 主要存放 AD

28、T 生成的代码如 R.java android2.3 主要存放 Android2.3 的 API 框架 assets 主要存放较大的资源文件(不推荐使用) res 主要存放 Android 应用中所需的各种资源如图片、样式 等 resdrawable-xxxx 主要存放 Android 应用中各种分辨率的图片 resvalues 主要存放 Android 应用中的各种数据如数组、颜色等 resraw 主要存放一些自定义原生文件 resxml 主要存放一些自定义的 XML 文件 resanim 主要存放定义动画对象 AndroidManifest.x ml Android 应用清单文件,主要用于

29、定义应用组件和元数 据 default.propertie s Android 应用的默认配置属性文件 AndroidAndroid 四大组件简介四大组件简介 Android 系统有四种组件,这四种组件构成了 Android 应用的框架,然后由 Intent 联系这四种组件。 Activity 用来显示 Android 的程序界面,一个应用往往有多个界面,所以一个应 用中会有多个 Activity。 Service 没有界面的后台服务,会一直运行在后台。常被用来做数据处理,也可以 做一些定时的任务。 Broadcast Receiver 是 Android 的广播接收器,在广播机制中充当广播的

30、接受者 的作用,Android 中充满了各种广播,所有需要有选择地接收一些有用的广播,然后 处理这些广播。 Content Provider 可直译为内容提供者,它是用在不同的应用程序之间共享数据 时,可以把一个应用的数据提供给其他的应用使用。 Activity 生命周期简介 方法描述可被 杀死 下一个 onCreate() 在 activity 第一次被创建的时 候调用。这里是你做所有初始 化设置的地方创建视图、 绑定数据至列表等。如果曾经 有状态记录(参阅后述 Saving Activity State。), 则调用此方法时会传入一个包 含着此 activity 以前状态的包 对象做为参数

31、。 总继之以 onStart()。 否 onStart() onRestart() 在 activity 停止后,在再次启 动之前被调用。 总继之以 onStart()。 否 onStart() onStart() 当 activity 正要变得为用户所 见时被调用。 当 activity 转向前台时继以 onResume(),在 activity 变为 隐藏时继以 onStop()。 否 onResume() or onStop() onResume() 在 activity 开始与用户进行交 互之前被调用。此时 activity 位于堆栈顶部,并接受用户输 入。 继之以 onPause()

32、。 否 onPause() onPause() 当系统将要启动另一个 activity 时调用。此方法主要 用来将未保存的变化进行持久 化,停止类似动画这样耗费 CPU 的动作等。这一切动作应 该在短时间内完成,因为下一 个 activity 必须等到此方法返 回后才会继续。 当 activity 重新回到前台是继 以 onResume()。当 activity 是 onResume() or onStop() 变为用户不可见时继以 onStop()。 onStop() 当 activity 不再为用户可见时 调用此方法。这可能发生在它 被销毁或者另一个 activity(可能是现存的或者 是

33、新的)回到运行状态并覆盖 了它。 如果 activity 再次回到前台跟 用户交互则继以 onRestart(), 如果关闭 activity 则继以 onDestroy()。 是 onRestart() or onDestroy() onDestroy() 在 activity 销毁前调用。这是 activity 接收的最后一个调用。 这可能发生在 activity 结束 (调用了它的 finish() 方法) 或者因为系统需要空间所以临 时的销毁了此 acitivity 的实 例时。你可以用 isFinishing() 方法来区分这 两种情况。 是 nothing ServiceServi

34、ce 简介简介 Service 的四个特点。 没有用户界面。比 Activity 的优先级高,不会轻易被 Android 系统终止。 即使 Service 被系统终止,在系统资源恢复后 Service 也将自动恢复运行状 态。可用于进程间通信(Inter Process Communication,IPC),解决两个 不同 Android 应用程序进程之间的调用和通讯问题。 Service 启动方式 Service 有两种不同的使用方式,一种是以启动方式使用 Service(Started Service),另一种是以绑定方式使用 Service(Bound Service)。 Broadca

35、st Receiver 简介 广播是一种重量级别的消息机制。他一般是用于组件和组件之间的通讯、或者应 用和应用之间的通讯。但是广播有一定的缺陷,那就是可能出现延时。 消息机制: Handler+Message 线程和线程间的通讯; Broadcast + BroadcastReceiver 组件和组件之间、应用和应用之间的通讯。 广播是有分类:普通广播:没有接收的先后顺序,所有的接收者同时接收;有序 广播:存在接收的先后顺讯,并且还可以中断。 Content Provider 简介 Content Provider 作用:去检测内容提供者数据的改变 ContentObserverContent

36、Observer :内容观察者 步骤: 1 需要使用内容观察者对某个 Uri 进行监测 2 内容提供者还需要发出改变通知 2.3 SQLITE 数据库介绍 我们在编写数据库应用软件时,需要考虑这样的问题:因为我们开发的软件可能 会安装在很多用户的手机上,如果应用使用到了 SQLite 数据库,我们必须在用户初次 使用软件时创建出应用使用到的数据库表结构及添加一些初始化记录,另外在软件升 级的时候,也需要对数据表结构进行更新。那么,我们如何才能实现在用户初次使用 或升级软件时自动在用户的手机上创建出应用需要的数据库表呢?总不能让我们在每 个需要安装此软件的手机上通过手工方式创建数据库表吧?因为这

37、种需求是每个数据 库应用都要面临的,所以在 Android 系统,为我们提供了一个名为 SQLiteOpenHelper 的抽象类,必须继承它才能使用,它是通过对数据库版本进行管理来实现前面提出的 需求。 技术上的优点和特性技术上的优点和特性 SQLite 是一个轻量级、跨平台的关系型数据库。既然号称关系型数据库,支持 SQL92 标准中常用的玩意儿(比如视图、事务、触发器等)就是理所当然的了,咱今 天就不细说了。今天主要聊聊一些有点特色的玩意儿。 轻量级 先说它的第一个特色:轻量级。想必 SQLite 的作者很看重这个特性,连它的 Logo 都是用的“羽毛”,来显摆它的轻飘飘。 SQLite

38、 和 C/S 模式的数据库软件不同,它是进程内的数据库引擎,因此不存在数 据库的客户端和服务器。使用 SQLite 一般只需要带上它的一个动态 库,就可以享受 它的全部功能。而且那个动态库的尺寸也挺小,以版本 3.6.11 为例,Windows 下 487KB、Linux 下 347KB。 绿色软件 SQLite 的另外一个特点是绿色:它的核心引擎本身不依赖第三方的软件,使用它 也不需要“安装”。所以在部署的时候能够省去不少麻烦。 单一文件 所谓的“单一文件”,就是数据库中所有的信息(比如表、视图、触发器、等) 都包含在一个文件内。这个文件可以 copy 到其它目录或其它机器上,也照用不误。

39、跨平台/可移植性 如果光支持主流操作系统,那就没啥好吹嘘的了。除了主流操作系统,SQLite 还 支持了很多冷门的操作系统。我个人比较感兴趣的是它对很多嵌入式系统(比如 Android、Windows Mobile、Symbin、Palm、VxWorks 等)的支持。 内存数据库(in-memory database) 这年头,内存越来越便宜,很多普通 PC 都开始以 GB 为单位来衡量内存(服务器 就更甭提了)。这时候,SQLite 的内存数据库特性就越发显得好用。 SQLite 的 API 不区分当前操作的数据库是在内存还是在文件(对于存储介质是透明 的)。所以如果你觉得磁盘 I/O 有可

40、能成为瓶颈的话,可以考虑切换 为内存方式。切 换的时候,操作 SQLite 的代码基本不用大改,只要在开始时把文件 Load 到内存,结 束时把内存的数据库 Dump 回文件就 OK 了。在这种 情况下,前面提到的“online backup API”就派上用场了,聪明的同学应该明白我为啥这么期待 backup 功能了吧? 技术上的缺点和不足技术上的缺点和不足 说说 SQLite 的一些缺点。 并发访问的锁机制 SQLite 在并发(包括多进程和多线程)读写方面的性能一直不太理想。数据库可 能会被写操作独占,从而导致其它读写操作阻塞或出错。 SQL 标准支持不全 在它的官方网站上,具体列举了不

41、支持哪些 SQL92 标准。我个人感觉比较不爽的 是不支持外键约束。 网络文件系统(以下简称 NFS) 有时候需要访问其它机器上的 SQLite 数据库文件,就会把数据库文件放置到网络 共享目录上。这时候你就要小心了。当 SQLite 文件放置于 NFS 时,在并发读写的情况 下可能会出问题(比如数据损坏)。原因据说是由于某些 NFS 的文件锁实现上有 Bug。 下面我们来看一下 Android SQLite 最常用的几个类和那些方法: 一、SQLiteOpenHelper : onCreate(SQLiteDatabase db); 用于初次使用软件时生成数据库表。 当调用 SQLiteOp

42、enHelper 的 getWritableDatabase()或者 getReadableDatabase()方 法获取用于操作数据库的 SQLiteDatabase 实例的时候, 如果数据库不存在,Android 系统会自动生成一个数据库,接着调用 onCreate()方法, onCreate()方法在初次生成数据库时才会被调用, 在 onCreate()方法里可以生成数据库表结构及添加一些应用使用到的初始化数据; onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion); 在数据库的版本发生变化时会被调用,一般在软件升级时才

43、需改变版本号 getWritableDatabase(); getReadableDatabase(); 两方法都可以获取一个用于操作数据库的 SQLiteDatabase 实例。但 getWritableDatabase() 方法以读写方式打开数据库,一旦数据库的磁盘空间满了, 数据库就只能读而不能写,倘若使用 getWritableDatabase()打开数据库就会出错。 getReadableDatabase()方法先以读写方式打开数据库,如果数据库的磁盘空间满了, 就会打开失败,当打开失败后会继续尝试以只读方式打开数据库。 二、SQLiteDatabase: 1、db.insert(t

44、able, nullColumnHack, values) 第一个参数是表名称,第二个参数是空列的默认值,第三个参数是 ContentValues 类 型的一个封装了列名称和列值的 Map; 2、db.delete(table, whereClause, whereArgs) 第一个参数是表名称,第二个参数是删除条件,第三个参数是删除条件值数组 3、db.update(table, values, whereClause, whereArgs) 第一个参数是表名称,第二个参数是更行列 ContentValues 类型的键值对(Map),第 三个参数是更新条件(where 字句),第四个参数是更

45、新条件数组 4、db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy)(下面有对该方法详细讲解) 5、db.execSQL(sql) / 执行任何 SQL 语句 6、db.rawQuery(sql, selectionArgs) 对第四个方法详细讲解: Cursor query(table, columns, selection, selectionArgs, groupBy, having, orderBy, limit) 各个参数的意义说明: table:表名称 columns:列名称数组 s

46、election:条件字句,相当于 where selectionArgs:条件字句,参数数组 groupBy:分组列 having:分组条件 orderBy:排序列 limit:分页查询限制 三、Cursor: Cursor 是一个游标接口,提供了遍历查询结果的方法,如移动指针方法 move(),获得 列值方法 getString()等. Cursor 游标常用方法: getCount() 总记录条数 isFirst() 判断是否第一条记录 isLast() 判断是否最后一条记录 moveToFirst() 移动到第一条记录 moveToLast() 移动到最后一条记录 move(int o

47、ffset) 移动到指定记录 moveToNext() 移动到下一条记录 moveToPrevious() 移动到上一条记录 getColumnIndexOrThrow(String columnName) 根据列名称获得列索引 getInt(int columnIndex) 获得指定列索引的 int 类型值 getString(int columnIndex) 获得指定列缩影的 String 类型值 2.4 参考资料 android 基础教程、android 高级教程、android 开发大全 第三章第三章 系统分析系统分析 1、系统需求概述 果品定位与特点 定位:依据市场情况而定,根据季节

48、气候,供求规律的不断变化,我们将依照价 值规律,在某一价格上下调整。且为了显示我公司的差异性,及水果的独特性,加上 考虑到成本问题,我们将适当调高价格,以区别其它水果,让顾客有意识的认识到我 们公司的高品质、高品位。 特点:水果品味:我们将选择高品质,多品种的水果 水果功能:以保健为主,以时尚为辅 保健方面:根据顾客的需求,由营养师专门指导来自由搭配营养水果 根据市场 的需求,针对性的调配出其所需要的营养水果,如瘦美人(草莓搭配猕猴桃,等等)。 时尚方面:孕育着不同的时尚气息 如:送给情人情意绵绵(百香果搭配莲雾 等) 送给长辈福寿安康(火龙果搭配香蕉等) 送给病人早日康复(柚子搭配苹 果等)

49、 水果分类:用途上可分为食用、送礼 、摆设等,再根据这些不同的市场细分对水 果具体分类,以便消费者放心且有针对性的购买,摆脱以往的盲目性,更不必在购买 时有所犹豫,减少挑选过程中的痛苦及不必要的时间浪费。 果品采购流程 发现需求 评估与归 档 谈价签订 合同 订单跟踪 说明需求 计划 选择供应 商 订单安排 接受和验 货 结算 果品采购品种(以夏季为例) 水果 种类 浆果类核果类核果类瓜类 果品 品名 香蕉,番 茄,蓝莓, 桑葚,葡萄, 青提,红提, 水晶葡萄 蜜橘,砂糖橘,金 橘,蜜柑,甜橙,脐 橙,西瓜, 柠檬 苹果(红富士,红星, 国光,秦冠,黄元帅) ,梨(砂糖梨,山竹, 杨桃,圣女果,白果, 罗汉果,火龙果,猕 猴桃 菠萝,芒果, 栗子,椰子,榴莲, 石榴,核桃,拐枣, 桃子 西瓜,美人瓜, 甜瓜,香瓜,黄 河蜜,哈密瓜, 木瓜,乳瓜 果品采购原则 (1)以需定进:根据目标市场的商品需求状况来决定商品的购进。a 什么商品好 卖就进什么商

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1