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

上传人:sccc 文档编号:5158518 上传时间:2023-06-09 格式: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业务中的问题及方案提出第二章 ANDROID技术开发简介2.1系统开发环境、运行环境简介2.2 ANDROID简介2.3 SQLITE数据库介绍2.4 参考资料第三章 系统分析3.1 系统业务需求概述3.2 系统业务流程分析3.4系统功能需求分析第四章 系统总体设计4.1 系统功能设计4.1.1 子页面及功能说明4.1.2 表单结构设计4.2 数据库设计4.2.1 数据库概念设计(系统E-R图)

5、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课题背景目前国内水果行业发展前景广阔。随着人们生活水平的提高,越来越重视水果的营养需求,而优质水果需求空间较大、效益显著。同时,国内外市场对果汁、罐头等加工品的需求也在不断上升。a、水果行业网络营销发展我国果品行业专业网站大约有40多家。其中中国果品信息网等5家网站位列农业100强网站之列。除行业性水果专业

6、网站,还有荔枝、芒果、香蕉、梨、枣等各种单品水果专业网站。同时,各地农业网站都不同程度的设有水果频道和专栏。果品企业是应用网络营销的主体,主要是大中城市的果品龙头企业和大型批发、集贸市场。从整体看,果品行业的网络营销还远未开展起来,极具发展潜力。b、我国开展水果有机栽培的优势我国的有机果品需求市场将是巨大的:一方面随着人民收入水平的迅速提高,使人民有能力支付较高价格的有机水果消费,另一方面,由于大量使用农药、化肥而导致的高残留,严重影响人民的身体健康,也使真正健康的有机水果有着广泛的国际国内市场需求。其次对于有机果品生产这样的劳动密集型产业,我国充足的农业劳动力资源是一个巨大的优势。第三,我国

7、地域辽阔,有各种地理、气候条件可供选择。适合建立有机果园的理想地点为数众多。c、拥有较为完整的产业链通过几十年的发展,我国水果生产已具有相当规模,特别是黄河故道地区已形成规模优势,果品贮藏、加工业更是有了长足进步。水果从育种育苗到栽培、贮藏、加工和销售已形成了一条完整的产业链条。基地的建设、龙头的壮大、贮藏加工设施的完善、种质资源的贮备、栽培管理技术的集成都为水果行业的反正奠定了基础。d、技术支持外观漂亮、色泽鲜美、风味浓郁的优质水果受到消费者青睐,供不应求。这就需要技术的支持,要加大对保鲜技术的投资和研究,从而确保水果的新鲜度以及营养不流失。e、国外水果业的经营策略带来的启示 进人市场前,他

8、们都已制定周密计划。例如,美国柑橘要进人中国市场,除了电视广告外,还制作大量路牌、灯箱、车身广告,产品大量上市时,又有一系列促销行动早在90 年代初期,华盛顿苹果(蛇果)进入中国时,美国果商就“岁、娃娃抓起”,在卜海举办“美国的果园一美国华盛顿儿童绘画大赛”提供的各类彩照都是景色迷人的华盛顿果园,可谓用心良苦而庞大的广告费用得益于政府的法律支持和财政补贴,从1937 年,华盛顿州州长便签署法案,组织苹果协会监督收取每箱苹果1 美分的推广税(现在每箱苹果需支付25 美分),因此仅1993 年,美国苹果协会2500 万美元的财政预算就有440 万美元是广告费用,政府另外补贴500 万美元广告费用由

9、于广告的推动,美国蛇果迅速占领世界市场。1995 年蛇果十大外销市场中,中国台湾、香港名列第二、三名。价格和供应期优势,目前在我国上市的进日水果,价格最少在国产同类水果2 倍以上,这使国产水果商暗中高兴,以为可以靠低价高枕无忧。其实不然,目前进口水果基本是从中国香港转口进入大陆的,转口费再加上长途运输,成本就上去了。而加人WTO 后,进口水果的平均关税由40 降至14 % ,运输直航加L 关税的下降,将使其价位和我国同类优质水果持平最重要的是,国产水果价格随意性太大,一遇丰收大年就拼命降价,且供应期仅短短二三个月。而国外水果商,不仅能做到全年供货,而且规定全球统一价或东南亚统一价,避开内部恶性

10、竞争。美国新奇士橙通过技术推广,可以一年四季收获,4 一10 月夏橙,10 一4 月脐橙,一年四季不断货二因此,他们很自信,因为在中国市场,我国的同类水果也只有在上市的短短2 个月内对他们有听中击,其池时间就全是他们的天下了三、重视质量和分级包装 国外水果商都十分重视商品质量在德国水果产地的每个镇上,都有果品批发市场,这些批发市场是由果品协会筹资建成的,果农将水果运至批发市场,经过高级选果机挑选、分级、打蜡、包装再销售。而原料的采收则是以采果机为主,辅助以戴手套的工人程序操作。因此,其登陆中国的产品不仅外包装漂亮,而巨大小一致、晶莹剔透、卖相很好。由于采摘加工中极少碰伤,再加仁乎蜡防腐处理,因

11、此国外水果耐贮藏、少腐烂,降低了贮销成本。1.2课题目的和意义目前国内水果行业发展前景广阔。随着人们生活水平的提高,越来越重视水果的营养需求,而优质水果需求空间较大、效益显著。同时,国内外市场对果汁、罐头等加工品的需求也在不断上升。在互联网的思维下诞生了水果供应链的新模式,以互联网的思维进行水果的销售、采购及配送,整个模式针对的使用对象有单个C端用户、批发的B端店铺老板、B端果行批售的老板、水果原产地的老板以及线下市场、采购、配送等人员;使用方式:对于B端和C端用户采用020线上先下相结合的销售模式,C端和B端用户通过微信端在线上进行下单,采购人员、配送人员则是在线下对B、C端用户的订单到果行

12、批售老板那里进行采购以及联系水果原产地老板。在市场调研、采购、配送等业务背景下诞生了水果农业管理移动客户端。此课题研究目的是为解决“几个果农农业有限公司”水果采购、水果配送及开发新市场等问题。水果农业管理移动客户端是基于水果农业管理系统的后台做Android客户端开发。使用的对象分为三类:市场人员、采购人员、配送人员。1.3业务中出现的问题以及解决方案要解决的主要问题:a.水果采购、水果出入库移动数据的处理;b.水果配送及配送路线规划等数据的处理;c.开发新的水果店地图等数据的处理;d.市场行情的动态实时掌控;e.订单的查询;f.报损处理;g.B端、C端微信用户消息推送;h.商品的管理;i.采

13、购小票月结数据处理,等问题;针对以上问题的解决方案:a.水果采购、水果出入库移动数据的处理?方案:根据采购需求,对采购单数据进行本地存储,采购人员可以根据采购数据进行采购,及把采购数据进行上传。入库对商品进行打标,在商品上面粘贴二维码,出库采用APP扫描进行数据的上传和分车的结算。b.水果配送及配送路线规划等数据的处理?方案:根据配送需求,水果店铺在地图上展示,进行路线的规划,在送货到店的时候,用APP扫描二维码并用蓝牙连接蓝牙打印机进行小票打印进行结算。c.开发新的水果店地图等数据的处理?方案:采用地图标记的方式在APP端进行地图标记,把水果店铺的位置进行标记,及把数据进行上传。d、市场行情

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

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

16、配合使用的操作系统IOSApple公司开发的手机操作系统AndroidGoogle公司开发的开源移动平台Windows MobileMicrosoft公司开发的移动平台各手机厂商都进军了智能手机领域,主要有一下三大阵营Microsoft和Nokia阵营、Google和开放手机联盟阵营和IOS阵营。u 智能手机智能手机即Smartphone,指的是像个人电脑一样,具有独立操作系统且可以由用户自行安装软件、游戏等第三方服务商提供的程序,通过此类程序来不断对手机的功能进行扩充,并可以通过移动通讯网络来实现无线网络接入的这样一类手机的统称。u 数字通信随着互联网的风靡,全球的数字通信技术也在不断的进行

17、创新,未来的通信技术以第四代数组通信技术为主流既4G。不断发展的数字通信技术使得智能移动设备更加如虎添翼。下面我们就来看看数字通信技术的发展历程:数字通信(代)描述1995年第一代数字通信即1G实现基本的语音通话1996年第二代数字通信即2G实现语音通话和接收电子邮件、HTML第三代数字通信即3G实现数据传输提速、流媒体、图形的处理第四代数字通信即4G实现高质量的视频、流媒体传输以及高速下载智能手机和3G有什么关系?3G只是一种通信技术标准,符合这个标准的技术做出来的就是3G手机。而手机智能与否,与这个毫无关系,如nokia6120ci。u Android发展史版本描述Android1.020

18、08年9月Google推出Android1.0版本。Android1.5 2009年4月谷歌开始将Android的版本以甜品的名字命名,Android 1.5命名为Cupcake(纸杯蛋糕)。Android1.62009年9月推出Android1.6并推出了搭载Android 1.6正式版的手机HTC Hero(G3)。Android2.22010年5月推出Android2.2,谷歌将Android 2.2操作系统命名为Froyo,翻译完名为冻酸奶。Android2.32010年12月,谷歌正式发布了Android 2.3操作系统Gingerbread (姜饼)。Android3.02011年

19、2月,谷歌发布了Android3.0,将其命名为Honeycomb(蜂巢)。主要针对的是平板设备!Android4.02011年10月,谷歌发布了全新的Android 4.0操作系统,这款系统被谷歌命名为Ice Cream Sandwich(冰激凌三明治)。将手机和平板的系统进行了统一的整合!为了方便开发者记忆每一个Android版本都有一个可爱的Android的Logo与之相对,以下是不同版本中的Logo图u Android版本Android体系结构Android的系统结构如下图所示u 应用层(Application)该层主要用于开发者使用Java进行应用软件的开发。如通信录、浏览器等手机应

20、用软件。u 应用框架层(Application Framework)该层主要包含了进行Android开发的一些Google发布的类库(API框架),开发者可以利用这些现有的类库进行OOP快速开发。u 系统运行库层(Library)使用Android框架层进行开发的时候,Android系统会自动调用一些C/C+编写的一些库文件来支持各个组件,使其更好的为Android应用服务。u Linux内核层(Linux Hernel)Android是基于Linux2.6内核开发的,Android应用的安全性、驱动程序、进程管理等由Linux内核提供。Android环境搭建 俗话说”工欲善其事必先利其器”,

21、在做任何开发之前需要先将自己的环境搭建起来。在整个Android开发中我们主要以eclipse为开发的IDE,因此在本章节中我们主要给大家讲解如何搭建eclipse集成开发环境和Android应用开发。Android的开发主要会涉及到JDK、Eclipse、ADT和SDK等开发工具以下我们重点给大家讲解如何将这些工具有机的整合到eclipse中进行快速、高效开发。u JDK安装配置由于Android是基于Linux平台使用java语言进行上层封装的一个开源手机开发平台,因此我们的环境需要运行Android应用就必须安装并配置相关的JDK工具。下载: 安装: 安装中直接单击next直到finis

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

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

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

25、解压的目录 Apply(可见Android各种版本平台) OK测试: 当选中SDK解压目录后显示各种Android开发平台即可Android应用结构使用Eclipse进行Android应用开发时,Android应用具有固定的目录结构,而开发者必须熟练的掌握每一个目录的作用这样可以提高开发者的效率。u Android应用目录目录名称作用src主要存放所有的java源程序gen主要存放ADT生成的代码如R.javaandroid2.3主要存放Android2.3的API框架assets主要存放较大的资源文件(不推荐使用)res主要存放Android应用中所需的各种资源如图片、样式等resdrawa

26、ble-xxxx主要存放Android应用中各种分辨率的图片resvalues主要存放Android应用中的各种数据如数组、颜色等resraw主要存放一些自定义原生文件resxml主要存放一些自定义的XML文件resanim主要存放定义动画对象AndroidManifest.xmlAndroid应用清单文件,主要用于定义应用组件和元数据default.propertiesAndroid应用的默认配置属性文件Android四大组件简介Android系统有四种组件,这四种组件构成了Android应用的框架,然后由Intent联系这四种组件。Activity用来显示Android的程序界面,一个应用

27、往往有多个界面,所以一个应用中会有多个Activity。Service没有界面的后台服务,会一直运行在后台。常被用来做数据处理,也可以做一些定时的任务。Broadcast Receiver是Android的广播接收器,在广播机制中充当广播的接受者的作用,Android中充满了各种广播,所有需要有选择地接收一些有用的广播,然后处理这些广播。Content Provider可直译为内容提供者,它是用在不同的应用程序之间共享数据时,可以把一个应用的数据提供给其他的应用使用。Activity生命周期简介方法描述可被杀死下一个onCreate()在activity第一次被创建的时候调用。这里是你做所有初

28、始化设置的地方创建视图、绑定数据至列表等。如果曾经有状态记录(参阅后述SavingActivityState。),则调用此方法时会传入一个包含着此activity以前状态的包对象做为参数。总继之以onStart()。否onStart()onRestart()在activity停止后,在再次启动之前被调用。总继之以onStart()。否onStart()onStart()当activity正要变得为用户所见时被调用。当activity转向前台时继以onResume(),在activity变为隐藏时继以onStop()。否onResume()oronStop()onResume()在activit

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

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

31、ctivity 的优先级高,不会轻易被Android系统终止。即使Service被系统终止,在系统资源恢复后Service也将自动恢复运行状态。可用于进程间通信(Inter Process Communication,IPC),解决两个不同Android应用程序进程之间的调用和通讯问题。Service启动方式Service有两种不同的使用方式,一种是以启动方式使用Service(Started Service),另一种是以绑定方式使用Service(Bound Service)。Broadcast Receiver简介广播是一种重量级别的消息机制。他一般是用于组件和组件之间的通讯、或者应用和应

32、用之间的通讯。但是广播有一定的缺陷,那就是可能出现延时。消息机制: Handler+Message 线程和线程间的通讯; Broadcast + BroadcastReceiver 组件和组件之间、应用和应用之间的通讯。广播是有分类:普通广播:没有接收的先后顺序,所有的接收者同时接收;有序广播:存在接收的先后顺讯,并且还可以中断。Content Provider简介Content Provider作用:去检测内容提供者数据的改变ContentObserver :内容观察者步骤:1 需要使用内容观察者对某个Uri进行监测2 内容提供者还需要发出改变通知2.3 SQLITE数据库介绍我们在编写数据

33、库应用软件时,需要考虑这样的问题:因为我们开发的软件可能会安装在很多用户的手机上,如果应用使用到了SQLite数据库,我们必须在用户初次使用软件时创建出应用使用到的数据库表结构及添加一些初始化记录,另外在软件升级的时候,也需要对数据表结构进行更新。那么,我们如何才能实现在用户初次使用或升级软件时自动在用户的手机上创建出应用需要的数据库表呢?总不能让我们在每个需要安装此软件的手机上通过手工方式创建数据库表吧?因为这种需求是每个数据库应用都要面临的,所以在Android系统,为我们提供了一个名为SQLiteOpenHelper的抽象类,必须继承它才能使用,它是通过对数据库版本进行管理来实现前面提出

34、的需求。技术上的优点和特性SQLite是一个轻量级、跨平台的关系型数据库。既然号称关系型数据库,支持SQL92标准中常用的玩意儿(比如视图、事务、触发器等)就是理所当然的了,咱今天就不细说了。今天主要聊聊一些有点特色的玩意儿。轻量级先说它的第一个特色:轻量级。想必SQLite的作者很看重这个特性,连它的Logo都是用的“羽毛”,来显摆它的轻飘飘。SQLite和C/S模式的数据库软件不同,它是进程内的数据库引擎,因此不存在数据库的客户端和服务器。使用SQLite一般只需要带上它的一个动态 库,就可以享受它的全部功能。而且那个动态库的尺寸也挺小,以版本3.6.11为例,Windows下487KB、

35、Linux下347KB。绿色软件SQLite的另外一个特点是绿色:它的核心引擎本身不依赖第三方的软件,使用它也不需要“安装”。所以在部署的时候能够省去不少麻烦。单一文件所谓的“单一文件”,就是数据库中所有的信息(比如表、视图、触发器、等)都包含在一个文件内。这个文件可以copy到其它目录或其它机器上,也照用不误。跨平台/可移植性如果光支持主流操作系统,那就没啥好吹嘘的了。除了主流操作系统,SQLite还支持了很多冷门的操作系统。我个人比较感兴趣的是它对很多嵌入式系统(比如Android、Windows Mobile、Symbin、Palm、VxWorks等)的支持。内存数据库(in-memor

36、y database)这年头,内存越来越便宜,很多普通PC都开始以GB为单位来衡量内存(服务器就更甭提了)。这时候,SQLite的内存数据库特性就越发显得好用。SQLite的API不区分当前操作的数据库是在内存还是在文件(对于存储介质是透明的)。所以如果你觉得磁盘I/O有可能成为瓶颈的话,可以考虑切换 为内存方式。切换的时候,操作SQLite的代码基本不用大改,只要在开始时把文件Load到内存,结束时把内存的数据库Dump回文件就OK了。在这种 情况下,前面提到的“online backup API”就派上用场了,聪明的同学应该明白我为啥这么期待backup功能了吧?技术上的缺点和不足说说SQ

37、Lite的一些缺点。并发访问的锁机制SQLite在并发(包括多进程和多线程)读写方面的性能一直不太理想。数据库可能会被写操作独占,从而导致其它读写操作阻塞或出错。SQL标准支持不全在它的官方网站上,具体列举了不支持哪些SQL92标准。我个人感觉比较不爽的是不支持外键约束。网络文件系统(以下简称NFS)有时候需要访问其它机器上的SQLite数据库文件,就会把数据库文件放置到网络共享目录上。这时候你就要小心了。当SQLite文件放置于NFS时,在并发读写的情况下可能会出问题(比如数据损坏)。原因据说是由于某些NFS的文件锁实现上有Bug。下面我们来看一下Android SQLite 最常用的几个类

38、和那些方法:一、SQLiteOpenHelper :onCreate(SQLiteDatabase db); 用于初次使用软件时生成数据库表。当调用SQLiteOpenHelper的getWritableDatabase()或者getReadableDatabase()方法获取用于操作数据库的SQLiteDatabase实例的时候,如果数据库不存在,Android系统会自动生成一个数据库,接着调用onCreate()方法,onCreate()方法在初次生成数据库时才会被调用,在onCreate()方法里可以生成数据库表结构及添加一些应用使用到的初始化数据;onUpgrade(SQLiteDat

39、abase db, int oldVersion, int newVersion);在数据库的版本发生变化时会被调用,一般在软件升级时才需改变版本号getWritableDatabase();getReadableDatabase();两方法都可以获取一个用于操作数据库的SQLiteDatabase实例。但getWritableDatabase() 方法以读写方式打开数据库,一旦数据库的磁盘空间满了,数据库就只能读而不能写,倘若使用getWritableDatabase()打开数据库就会出错。getReadableDatabase()方法先以读写方式打开数据库,如果数据库的磁盘空间满了,就会打

40、开失败,当打开失败后会继续尝试以只读方式打开数据库。二、SQLiteDatabase:1、db.insert(table, nullColumnHack, values)第一个参数是表名称,第二个参数是空列的默认值,第三个参数是ContentValues类型的一个封装了列名称和列值的Map;2、db.delete(table, whereClause, whereArgs)第一个参数是表名称,第二个参数是删除条件,第三个参数是删除条件值数组3、db.update(table, values, whereClause, whereArgs)第一个参数是表名称,第二个参数是更行列ContentVa

41、lues类型的键值对(Map),第三个参数是更新条件(where字句),第四个参数是更新条件数组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)各

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

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

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

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

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号