基于Android的闲置物品共享平台的设计与实现_第1页
基于Android的闲置物品共享平台的设计与实现_第2页
基于Android的闲置物品共享平台的设计与实现_第3页
基于Android的闲置物品共享平台的设计与实现_第4页
基于Android的闲置物品共享平台的设计与实现_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

广东东软学院本科生毕业设计(论文)摘要闲置物品共享是物资匮乏的当下最佳的一种物资高效率利用的方法。当下,由于社会购买力高速增长,购买的产品数量与生活需求严重不相匹配,所以为了保护自然资源,增大产品利用率,我们需要一款基于Android的闲置物品共享平台。本平台采用AndriodStudio工具开发,使用java语言,AndroidSDK,设计多级Activity,针对各人群的行为习惯来设计功能,实现用户查看商品、提交订单、查看订单、修改个人信息等功能。用户可以通过本平台进行商品浏览、共享闲置物品,再通过详细订单页查看已确认订单信息。此款基于Android的闲置物品共享平台的优势在于,轻便整洁,功能集中。商品推荐等功能使得闲置物品共享更加活跃,用户目的性更加明确,操作简单,便于绝大部分人群使用。□□关键词:Android闲置物品共享循环利用资源保护AbstractIdlegoodssharingisoneofthebestwaystousematerialsefficientlyinatimeofscarcity.Atpresent,duetotherapidgrowthofsocialpurchasingpower,thenumberofproductspurchasedisseriouslynotmatchedwiththedemandforlife.Therefore,inordertoprotectnaturalresourcesandincreasetheutilizationrateofproducts,weneedanidledgoodssharingplatformbasedonAndroid.ThisplatformadoptsthedevelopmentofAndroidStudiotools,USEStheJavalanguage,AndroidSDK,designmultilevelactivities,accordingtothebehaviorhabitsofvariousgroupsofpeopletodesignfunctions,usersviewgoods,submitorders,vieworders,modifypersonalinformationandotherfunctions.Userscanbrowsecommoditiesandshareidlegoodsthroughthisplatform,andthenchecktheconfirmedorderinformationthroughthedetailedorderpage.TheadvantageofthisidledplatformbasedonAndroidisthatitislight,cleanandcentralized.Commodityrecommendationandotherfunctionsmakeidleitemsmoreactivetoshare,usersmoreclearpurpose,simpleoperation,forthevastmajorityofpeopletouse.Keywords:AndroidSharingTheIdleItemsRecyclingResourceConservation目录1.绪论 Androidstudio是当前安卓手机软件开发中应用最广的集成开发工具,可用于安卓端游戏、安卓端应用软件等等的开发。而android是一种开放性的操作系统,由andyrubin开发,主要在手机等产品得到应用,后逐渐用于平板电脑等小型电子设备。在当今时代,手机成为每个人生活中不可或缺的工具,大部分的信息获取与工作事务处理均要通过手机。智能手机具有便携、数据集中、执行范围广等优势特点,多年前由于带宽的限制,手机上网功能受限,手机功能仅停留在通讯阶段,包括语音通话与信息通讯,随着后来3G、4G的出现,那么手机带宽问题解决后,随之带来的既是小型电子网络时代,QQ、微信等通讯软件打破了传统的语音通话模式,冲击了通讯行业的语音业务,同时大幅度刺激了上网业务的增长,当QQ、微信推出视频通话功能,则彻底颠覆了电子通讯的传统。人类社会生活也更加离不开手机等电子设备。而依靠于电子产品而生的电子商务更是大幅度冲击乃至一度替换了传统的实体商店模式,如淘宝、天猫、京东、拼多多等电商平台,该类平台抓住了人类生活必将往便捷的方向发展的特点,综合利用了传统商店模式的繁琐交易缺点,如买卖双方交易成本过高的B2C模式,商店成本主要体现在(1)店租、(2)服务、(3)人力管理等费用,消费者交易成本体现在(1)消费难度、(2)商品价格、(3)售后难度、(4)商品质量等环节,消费难度主要为B与C产生交易行为时,必须由C亲身出现在商店,此时容易产生大量的时间成本和交通成本,改点同样体现在售后难度上。其次,由于商店经营成本高昂导致商品价格偏高,甚至导致商品质量与商品价格严重脱钩,消费者售后维权难度较大,产生大量经济损失。电商平台的成功体现在避免上述问题的发生,首先,电商平台上的商家不需要承担高昂的店租、人力资源及管理等费用,消费者首先考虑的商品质量是关键问题,电商平台无法做到逐一审核,于是,出现了无理由退换货以及投诉维权等方式,维护消费者的权益之余,通过这种方式提高售卖劣质产品成本来遏制商家不法行为,保障电商平台正常稳定运营。1.2研究现状手机操作系统主要有ios、android等,其中android手机近年来逐渐占据大部分位置,由于华为、小米、oppo等国产品牌手机的崛起,间接地刺激了android的换代更新,使得android系统更加人性化,如华为、小米定制的专属android系统。相比ios封闭性系统,android系统成本低廉且拥有比较良好的手机客户体验,方便开发者的研究,自然可以植入更多的人性因素,使得其更加贴合人类的行为特征。所以社会将慢慢地更加倾向于开源系统,此情况下,开发android应用则更加符合社会趋势。闲置物品交换是物资匮乏的当下最佳的一种物资高效率利用的方法。当下,中国乃至全球自然环境均处于亚健康状态,工业高速增长对自然资源造成大规模破环,而利用自然资源加工建造成的产品在生活当中被大规模闲置,造成资源利用率低下甚至浪费,如电子产品、家庭电器、生活日用品等等。现有的类似于闲置物品交换的平台,如二手交易市场中的京东拍拍自营和阿里巴巴的闲鱼,这两者均是当前人流量较大的旧物交易平台,拍拍自营的优势在于,商品质量经过京东官方把控,有一定的可靠性,大部分的二手商品的二次利用价值较大,所以对于人们来讲,性价比较高,而它的劣势在于,回收成本低,也就是二手商品的拥有者将物品交与平台,所获回报远低于物品自身价值,导致商品回收积极性极低。而目前由于社会购买力高速增长,购买的产品数量与生活需求严重不相匹配,长期处于产品量远大于需求量,在此种情况下,随着社会新需求和新产品的出现,社会产品交易量依然居高不下或甚至呈增长势。所积累的闲置物品自然而然地随着时间长久而越来越多。另一平台闲鱼,其优势在于交易双方自由把控质量和自由议价,所以可操作性极强,极大程度刺激了旧物交换的积极性,然而,由于旧物终究是难以估量价值的商品,在交易的时候,难免会折损其真正的价值,导致将闲置物品交易后的用户难以再一次产生交易欲望。还有一个平台,在原先闲置物品还未被亲睐之前,就开始有了二手交易的功能,其优秀的设计在于用户可以根据个人爱好将商品筛选之后,进行面对面交易,这个平台就是58同城,但是为什么在已经存在58同城这样平台的背景下,我们仍然需要开发新的交易平台?是因为,58同城涉及的功能及其之多,造成累赘,上面有新房、二手房、找工作、租房、二手商品等等,而且骗子近来喜欢在上面进行虚假交易,各类信息杂乱无章,导致用户交易欲望降低,产生不信任感,所以我们需要一款更加简洁、功能单一的存粹性平台,来维护二手闲置物品交易市场。所以如果将大量的闲置物品在android平台上进行“展、阅、交换、交易”,即闲置物品拥有者通过申请账户将物品数据上传至平台展览,并标注交换条件或者交易价格,需求者通过android平台根据需求进行阅览,最后达成交换或者交易约定。社会产品需求量被闲置物品大量稀释后,则新产品交易量下降,工业生产降速,最终实现对人类自然环境的保护。而优于当前其他存在的平台来讲,首先,闲置物品的交换将作为新的焦点得到社会的关注,因为闲置物品价值大打折扣之后,难以得到公平的交易,其拥有者的心理自然难以平衡,那么如果c2c模式下,两件价值均折损的闲置物品进行交换,则可以将物质价值估算到最大的精确度,如若交易者希望直接进行购买,则采用货到付款的方式,第一,由于商品折损待定,品相难以辨析,需要通过实物进行查看。第二,当今物流发达,各大物流快递公司皆有摄像头等设备,交易物品如若交易失败,不会就此造成商品二次损坏,或者损坏时责任难逃,可以最大程度保护交易。第三,由于所有网购平台皆需要实名认证,所以可以防止恶意交易事件的发生,如频繁退货等事件。达到上述几点,则皆大欢喜,能最大程度刺激闲置物品再次利用率的增长。1.3主要工作此情况下,社会需要一款标尺更加人性化的基于android的闲置物品交换交易平台,于是,根据目前现存的平台的劣势,结合新思路和新技术,来设计实现一款实用的闲置物品交易交换软件,下面详述设计和实现过程。首先明确我们需要一个框架来编写,第一,需要保存上传的闲置商品的信息,以供另一方浏览,第二,在对话页面提交订单信息,反馈给物品出让者。包括实现姓名、地址、电话等等的填写与修改功能。第三,身份证实名制,记录用户身份信息,性别,年龄等等。1.4本文结构本文是阐述一款闲置物品共享平台的设计意图和设计过程,那么重点部分就在于为何要开发一款这样的平台,然后还有实现它需要哪些技术,最后是最终实现的它的过程是怎么样的。所以本文先从当前研究的背景开始,讲解当前背景下,这款闲置物品共享平台是否适用于社会,是否是一个好的开发项目,这个是极为关键的,因为如果没有确定好这个因素就盲目地开发,就会造成资源浪费,假如这一款程序不能得到应用,那么所以的开发都没有意义。然后当确定了这是一款值得开发的软件之后,我们需要一个当前研究背景,就是说,我们要确定别人在这个领域研究得怎么样,有没有同款平台已经存在,以及是否已有很多人正在研究,我们可以通过分析上述信息,来确定我们开发出这款平台之后的竞争性如何,然后如何规避当前已存在平台初现的问题,已显著的优点在将来有可能替代现存平台。研究现状解析完,就得开始我们闲置物品平台的设计分析,先明确我们理想中的平台需要做到那些,所以需要明确我们开发的工作有哪些。在明确了工作大致框架之后,我们需要进行到android技术与理论的阐述,谈及如何通过开发平台的搭建来实现一款软件的设计,那么我们用到的是androidstudio,所以我们需要谈到androidstudio的环境搭建,这里介绍如何下载如何配置环境已经如何进行设置参数。然后本文接着开始讲解android应用的结构,由哪些文件构成,这些文件里面有哪些核心部分。再接着是需求分析,因为我们在明确了工作目的之后,需要分析,如何一步一步地来实现以及实现哪些功能,这些功能将给用户带来什么,每一个部分之间存在哪些关系等等。之后就到了最关键的论述,这里是本文最核心的部分,这里是功能设计,就是如何设计布局和实现它们。最后,讲解关键代码,如何实现每一个功能,以及这些代码的作用等等。2.Android技术与理论2.1Android开发简介2.1.1Android简介Android是我接触过的比较容易让人接受的操作系统,它是一个开放性的系统,基于android的app由关键应用程序、应用程序框架、函数库、java运行环境,如果单从安全性上来谈,当然,现下主流的使用最广泛两种手机操作系统,ios和android,封闭性的ios无疑安全性更加,但是,同时也失去了它的有趣性,android的开源性,使得所有用户都可以根据自己个人的喜欢来更改手机功能。2.1.2关键代码主要由各级Activity,即.java文件,和.xml文件等等组成,开发语言为java。如图所示:图2-1结构图2.1.3程序框架基于Android的app的开发,主要是基于android框架和组件,可以调用已有组件,当然,开源性的android允许开发者开发自己喜欢的新的组件。闲置物品共享平台由首页界面FirstActivity、MainActivity、CreateActivity、reaciveActivity、TvActivity等组成,首次运行,进入的第一画面是首页界面,使用Button按钮进行咯界面之间的跳转。2.2Android应用构成2.2.1Activity这里主要是各级界面,在闲置物品共享平台上,比如说进入首页,那么首页就有一个Activity,然后这个界面有很多个Button,点击buuton键事件响应,Activity里面的代码会将当前页面跳转到指定页面,然后显示该页面。它们通常在java的包名下。2.2.2XMLXML文件一般是放置界面布局代码,控件之类的,以及它们的参数,layout_width或者layout_height这些,Button或者TextView的位置参数和size大小什么的,这里能够预览画面,比如TextView的显示效果和实时位置改变等等,当我们需要改变时,则更加直观。还有一个string.xml是常用的,用来准备字符资源,比如说,我需要用到TextView,那么在string里面写入一个<stringname=”tv”>八成新小米电视</string>,那么当这个TextView的text关联到project的tv这里时,则预览显示八成新小米电视。结构如图所示图2-2结构设计图3.需求分析3.1功能需求分析首先,功能的模块内容是根据调查数据的反映来设计,程序启动之后,用户首先需要在平台进行注册,填写个人信息等,即用户界面需要有登陆注册功能,以此结构,将所有功能分成几个模块,模块里面细分小模块,用户界面、商品信息、共享订单、个人信息、数据库等模块,其中商品信息包括上传图片文字功能,数据保存功能,个人信息包括上传身份证信息,保存姓名年龄等功能,用户启动登陆程序后,可以在功能之间切换,从商品信息页面切换到订单查询,个人信息等等模块,科技发达的今天,消费者主要青睐的是用户界面的简洁程度和舒适感,所以在用户界面需要大做文章,比如背景图,更加人性化的输入框,切换效果等等,需要真正做到在用户无法察觉之下,将所有需要实现的功能实现,在商品信息页,商品名称、价格、成色等等信息的布局尤为重要,在吸引消费者的眼球方面作用极大。用户在启动程序之后,MainActivity中的EditText文本输入框记录用户的注册个人信息,并保存,用户点击按键,到达程序首页,这里有商品信息页,订单页,个人信息页,商品信息页同时也可以上传自己的闲置物品供其它用户有偿共享或者交换共享,即消费者也同时是销售者,个人订单页显示当前用户的所有订单,包括订单信息,如共享时间、商品名称、物流地址等等。3.2性能需求分析性能需求主要是为了实现用户的良好体验,这在一款智能手机上尤其重要,因为评价一款软件的优劣,主要还是看使用数据反馈。性能主要体现在几个方面,响应速度、人机交互、衔接等等,用户舒适度的提升离不开流畅的运行速度,如果用户的请求被等待时间过长,则会削弱用户的使用欲望,舒适度下降。同时,友好的人机交互界面对用户来讲,无疑是一大卖点。比如,添加各种Button来引导用户,适时弹出各种小提示也是缓解用户烦躁情绪的好方法。4.功能设计4.1总体设计设置三级Activity结构,分顶层Activity、大类Activity、具体Activity,顶层Activity里面是app的初始界面,app启动时,打开TdleSharingActivity,加载布局activity_tdle_sharing.xml,即初始界面,在初始界面最下显示个人信息、订单信息、商品信息三个Button,点击则界面跳转到相对应的的Activity。对于一个app,而且是类似于网上商品交易这样的平台,用户首先得拥有自己的数据,即姓名、电话号码、年龄、性别、爱好、账号等等,各级界面之间进行跳转,节目风格幅度跨越不能太大。顶层Activity界面最下显示Button信息以外,主界面显示的是商品Activity的界面,也就是等于其中一个大类Activity,当用户点击最下一行的其他Button,如个人信息,则界面跳转到个人信息这个大类Activity,个人信息Activity则列表显示静态数据,列出姓名、年龄、账号编号、性别、爱好、App信息等等,这些需要用户填写的信息则以TextView显示,用户需要自己填入。如果用户点击商品信息大类Activity中的列表显示的静态数据,使用了listview控件来实现,如电子产品、服饰、家电、生活用品等等,则跳转到详情Activity,这里面将显示所有的与之相关的商品的信息,商品图片和商品性能介绍,还有商品共享价格、可用交易方式等等,打开ElectronicsProductsActivity,activity_electronics_products。并从Electronics.java中加载所有的闲置电子产品。每个商品信息下还会有一个名为查看的Button,当用户点击查看,则继续跳转到下一层Activity,这里将放大商品信息,还有显示商品大图,还有进行交易的提交订单按钮,当用户提交订单,则需要填写地址、姓名、电话、交易方式,则订单信息将保存在用户个人订单信息里面。4.2功能设计如下图,打开App,程序运行之后,转换页面功能,也就是页面查看功能,点击不同界面,能够自由切换。当用户找到喜欢的商品时,需要查看商品功能,这时候能够显示商品的各种信息,包括名称,商品使用情况,即新旧程度,折损程度等等,还有闲置商品共享价格。然后就是订单提交和查询功能,首先,用户由商品页面点击下单,然后页面跳转到填入信息页面,即邮寄地址填入功能,用户将需要邮寄的地址填写上去,然后点击确认,然后页面跳转到订单信息,即订单查询功能。用户可以在这里看到所有的已经成功提交的订单,里面包含用户邮寄地址和商品名称等等。个人信息里面,有修改性别姓名和删除信息功能,然后最后是保存信息功能。多个功能中,其中核心功能为订单提交功能,众所周知,一款商品共享平台,在用户通过浏览找到自己心仪的商品时,此时,用户可以根据提交订单按钮的提示,进行下单,那么提交时,需要用户提交物流信息,其中包括地址和电话号码,用户在填入商品地址和电话号码之后,使用数据传输EditView控件将物流和电话数据传入订单信息界面,当客户离开订单填写界面,想要再次找到自己的订单时,可以点击下行的订单信息查看。图4-1功能设计图5.交易平台实现5.1Android开发平台搭建5.1.1AndroidStudio下载安装在AndroidStudio的官方网站下,可以找到很多版本的AndroidStudio安装文件下载,我安装的是3.5,很多都是自带SDK的,但是我的SDK是后来安装好了AndroidStudio才安装的,AndroidStudio官网是英文的,找到匹配电脑的版本,查看版本信息,适合64位的,Windows系统的安装文件,进行下载,有些网站有一些破解版之类的,其实没有必要,因为后面用到的很多库那些,官网之外网站下载的AndroidStudio可以会缺失,反而更麻烦,所以我还是规规矩矩地在官网下载。下载好了之后,单击安装文件,进入安装,选择AndroidVirtualDevice,IDE我是预留了1GB的空间,应该是够用了,其次,因为我的电脑闪存空间比较小,C盘更加不用说,C盘只有30多个G,如果再把AndroidStudio安装在C盘下,那我电脑运行起来会更加卡,所以我将AndroidStudio安装在了D盘。等待启动界面后,我选择了先关闭程序进行汉化,因为我英语比较差,在使用开发工具时还做不到能辨认一些设置类,菜单栏的功能的英文单词,所以我在百度下载了一个resources_cn,然后找到AndroidStudio的安装文件夹,将resources_cn复制粘贴进去,剪切resources_en文件,放在备用文件夹里面以防万一以后要用。后来发现有时候真的要把它换回来,因为在学习过程中,有些实操视频,用的英文原版,在各种设置或者更改参数时,我没办法找到与之对应的位置。等待重新打开启动界面以后,在设置里面,找到SDKManager,给SDK留个10GB,我也不知道够不够用,百度了一下,觉得比较小的App应该是够了,然后我选的是Android5.0,基本就符合很多机器了,本来我是打算用自己的Android手机来代替模拟器,但是想想还是放弃了,因为华为手机每次都要开启开发者模式后还要各种对接密码,极为麻烦。然后可以在设置/SDKManager里面,选择Android5.0(Lollipop),如果还没下载,选定后它会启动下载,这时候只需要等待,Install,显示进度条,可能有时候会比较慢,然后等到进度条完成,这时候后号里面的勾变成绿色。最后成功搭建的运行如图所示:图5-1新建项目5.1.2SDK配置在设置/SDKManager里面,选择Android5.0(Lollipop),如果还没下载,选定后它会启动下载,这时候只需要等待,install,显示进度条,可能有时候会比较慢,然后等到进度条完成,这时候后号里面的勾变成绿色。5.2具体实现过程5.2.1界面布局Android/res子目录下drawable目录保存了需要用到的图像文件,在res下可以找到.xml文件,打开AndroidStudio后,首先看到的是已经打开的mainActivity.java文件,AndroidStudio会自动帮我们打开几个文件。这里面还有activity_main.xml文件和string.xml、activity.xml文件是用来进行布局的设置,包括各种控件,比如说Button按钮,ImageView和TextView这些常用控件,闲置物品共享平台里面,需要监听button点击事件来完成app界面的跳转。首先解析其中一个布局,就是首页里面的Activity_main.xml,这里面就是我们启动程序后看到的第一个界面,那么如何改变初始界面,代码和解析在5.2.2的MainActivity.java解析里面。现在,先看,在Activity_main文件中,建立线性布局,拖入linearLayout(horizontal),这样可以使得各种控件按照从左到右的顺序排布,首先是商品信息的排布,因为首页和推荐页里面需要有各种闲置商品的展示,展示商品图片,商品名称和使用情况,还有共享它的价格。然后,因为图片控件ImageView和TextView在当前状态下是从左到右排布,所以这时候,我们需要再嵌套一个布局。这个页面的结构是由horizontal和verical的linearLayout组成的,因为第一行两个商品图片按照从左到右排布完了之后,图片空间下面需要跟着字符控件,而图片与字符控件的布局关系是从上到下,所以将TextView放在liearLayout(vertical)中,但是两件商品的信息是两个不同字符控件,这两个控件之间的关系是从左到右,所以再在刚刚的liearLayout(vertical)的基础上,建立liearLayout(horizontal),把刚刚的两个TextView放进去,这样,就实现了TextView和ImageView之间是从上到下的关系,而TextView和TextView之间是从左到右的关系。效果如图所示:图5-2代码图然后就是各个控件的参数设置,因为程序默认的是紧密排布,就是如果是从左到右排布,那么它就会从距离左0dp的位置,也就是android:layout_marginLeft="0dp"的位置开始排布,当第一个ImageView或者TextView拍完,紧接着第二个ImageView或者TextView就会挨着前面一个排布在右边,如果是从上到下排布,也是一样,先从layout_marginTop="0dp"这个位置开始排布,也就是程序界面的最上面。因为设计时的思路是,希望用户运行app,进入界面以后,首先看到商品类目,然后,下边栏有商品推荐和个人信息和订单信息查询等等,界面为了更加贴切用户的需求,增加用户使用体验值,采用文字加图片引导的方式,左边是图片,右边是文字,文字和图片相互指示,用户可以很直观的识别栏目信息。代码如图所示:图5-3代码图图5-4效果图5.2.2界面跳转在MainActivity.java中,Buttonbutton3=null;,button3是我们建立监听用户点击事件的按钮,我们需要实现的功能是,当用户点击该按钮(该按钮预设响应为下单),则相应跳转到需要显示的界面,所以,button3=(Button)findViewById(R.id.button3);当button3这个id名称被用户所点击时,则相应的程序会做出响应,那么,它将会如何做出反应以及做出什么样的反应呢?button3.setOnClickListener(newButtonListener());这个大概意思是将刚刚用户点击button3这个行为监听过来,为事件ButtonListener,然后我们需要ButtonListener来做什么呢?于是:classButtonListenerimplementsView.OnClickListener{//。

publicvoidonClick(ViewV){Intentintent=newIntent();//。

intent.setClass(MainActivity.this,TvActivity.class);//。MainActivity.this.startActivity(intent);//。这个的意思是,当监听到ButtonListener这个事件时,那么界面就从当前MainActivity这里跳转到TvActivity,于是就实现了界面跳转。我这里本来用的是另外一种方法,截图如下:图5-5代码图但是这个这个方法有个不好的地方,就是只能监听到一个Button,我暂时没方法用它来达到我的目的,因为我希望我平台界面上的很多个Button,比如商品首页Button,商品推荐Button,订单信息Button,还有我的个人信息Button,还有商品下单和查看等Button,它们被点击时,都需要界面发生跳转,所以,我需要一个可以实现同时监控多个控件点击事件的方法。成功实现后和代码截图如下:图5-6代码图图5-7效果图这里包含了button3和button6的界面跳转按钮的实现。另外一种界面跳转方式,可以将当前界面的文字EditView控件里面的文字,即用户输入的信息,通过监控用户行为发生的方式,取出用户输入的信息,将信息重新命名保存,然后通过SendMessage把信息发送给第二个Activity,与此同时,打开第二个Activity,即实现带数据传递的界面跳转。图5-8代码图5.2.3数据传输首先,因为我们在事先不知道用户希望商品成功下单之后希望商品通过什么样的方式以及需要寄送到哪个地址,所以我们需要一种可以让客户自己输入信息,并且监控这个信息,然后取出这个信息,将它放置在正确的地方,例如,当用户在程序运行之后,来到平台首页位置,然后点击商品推荐,此时,跳转到商品推荐页,这里有电子产品,家电,以及服饰等等闲置商品的推荐信息,当用户在浏览的时候突然发现一款适合自己的,于是想要共享它,用户需要点击该商品,然后在该商品的信息页面确认,即点击确认下单Button按钮,然后跳转到订单信息录入界面,这里标注商品信息包括名称和使用情况还有价格等等,用户需要填入地址信息和电话信息,然后点击提交,此时,用户所填入的所有信息,将被监听识别,并将它取出放置在message中,然后再第二个Activity,也就是商品订单Activity中,这里详细记录了用户所共享的商品的名称,使用情况,即折旧情况,还有商品寄送地址,收货电话,还有交易方式等等。这里的核心是传输数据的方法,下面解析这个方法:在第一级Activity中,也就是我们刚刚说的用户打开商品详细页面后,点击下单,来到填写地址信息的界面,那么在这个Activity中:EditTexteditText=findViewById(R.id.input);//从id地址为input这个editText里面,发现用户输入的信息。

Stringmessag=editText.getText().toString();//然后把这个信息重新命名为messag,因为前面用了一个message,所以这里去掉e,变成另外一个名称,我们需要通过它来传递数据。

Intentintent=newIntent(this,ReceiveMessageActivity.class);//再然后指定我们需要跳转的界面是哪个Activity,这里当点击了确认订单button按钮时,我们需要跳转到ReceiveMessageActivity,这里就是我们框架中的订单界面。

intent.putExtra(MESSAGE_KEY,messag);最后通过MESSAGE_KEY,将messag带入到第二级Activity。

startActivity(intent);//启动第二级Activity。

界面实现如下图:图5-9效果图在第二级界面中,我们需要接收来自第一级界面传输过来的信息,将它重新放置在我们需要它显示的地方,那么第二级页面里面除了订单的物流和电话信息,我们还需要标注,就是说,需要很多的TextView来说明提示当前信息是电话还是地址,或者商品名称。图5-10代码图下面对接收数据的方法代码进行分析:protectedvoidonCreate(BundlesavedInstanceState){//。

super.onCreate(savedInstanceState);//。

setContentView(R.layout.activity_receive_message);//。

Intentintent=getIntent();//。

Stringmessag=intent.getStringExtra(CreateMessageActivity.MESSAGE_KEY);//。//这个地方还是通过我们刚刚的MESSAGE_KEY,将来自CreateMessage,也就是我们的第一级界面里面得到的数据messag,取出。TextViewtextView=findViewById(R.id.output);//然后定义textView填入id地址为output的这个textView字符控件中,通过findViewById方法。

textView.setText(messag);//最后指定textView里面的内容为刚获取的messag信息。实现效果图如下图所示:图5-11代码图这里显示了来自用户输入的第一级界面的地址和电话信息,然后还有标注商品页的商品名称,交易方式,商品使用情况等等。5.2.4用户个人信息显示这里主要是使用了一些字符控件,EditView和TextView,还有一些标志图,使用了ImageView,在这里,需要在string.xml文件中进行字符声明:<stringname="TextView13">个人信息</string>,这里TextView13的text框内设置为关联TextView13,此时TextView13预览显示为个人信息,如果没有在string.xml中声明字符TextView13,则AndroidStudio不会引用,显示为默认的TextView13。在文件myActivity.xml文件中,我们还需要设置布局关系,首先,由于个人信息的排布是从上而下的放置各级信息,但是各级信息又分成两个部分,一个是TextView,还有一个是EditView,一个是标识信息属性,比如这个是名字或者是用户电话号码,然后EditView则是用户填入的信息,所以这里还有一个问题,就是每一个EditView和每一个TextView之间的距离,还有初始TextView与最上层的距离的设置,最后还有size字体的大小设置。而且每一个界面的下边都有四个按钮控件,可以监控发现用户点击事件然后进行跳转界面,分别对应跳转到首页、商品推荐、订单、个人信息四个界面,这是为了方便,当用户出现错误点击事件多次,进入到多级界面之下,返回困难时,可以方便用户快速回到自己想要的界面。下面进行实现代码解析:<LinearLayoutandroid:layout_width="match_parent"//。

android:layout_height="match_parent"//。

android:orientation="vertical">//。

//在这里建立一种布局关系,让所有控件自上而下逐一排布,就像上面讲到的,TextView与第二个TextView之间是竖直排布的关系,当我们拖入俩个TextView时,他们会自动的上下排布在预览界面中,且与顶端初始距离为0,与左端初始距离也为0.//。<LinearLayout//。

android:layout_width="match_parent"//。

android:layout_height="125dp"//。

android:orientation="horizontal">//。

//那么这里很关键,因为像前面讲到的,我们的EditView并不是单独存在的,它需要依靠TextView和ImageButton等等来标志信息,和提示用户操作方法,所以我们这时候还需要在垂直布局里面在嵌套一个水平布局,所以TextView与ImageView呈现水平排布关系,此时在界面显示为从左到右紧密排布。

<ImageButton//。

android:id="@+id/imageButton2"//。

android:layout_width="56dp"//。

android:layout_height="54dp"//。

android:layout_marginLeft="0dp"//。

android:layout_marginTop="15dp"//。

app:srcCompat="@drawable/jt"/>//。//这是一个ImageButton,他是用来指引用户点击它来实现向上一级界面跳转返回上一级界面的,它所关联的是放置在drawable文件夹中的图片文件,该图片文件是一个.png文件,预览形状为一个向左的箭头。Id名称为jt.png。这里还设置了ImageButton的长为56dp,设置ImageButton的宽为54dp,然后这个marginLdft的设置:android:layout_marginLeft="0dp",是将ImageButton2与左端的距离为0dp,即紧靠左侧。然后ImageButton位置的指示还有一个因素,就是与上端的距离值,marginTop设置:android:layout_marginTop="15dp",这里将ImageButton与上端距离设置为15dp。实现效果如图所示:图5-12效果图6.闲置物品共享平台测试6.1测试内容商品初始界面应该正常显示商品类目,有商品预览功能,即当用户点击查看商品按钮时,此时商品的名称和商品大图以及商品使用情况就会呈现在新的界面,而且显示下单按钮给用户进行下单操作,这个功能的测试,需要打开运行闲置物品共享平台,然后在进入首页之后,现在其中一个类目商品点击,进入商品预览功能,或者,在进入到首页之后,点击下方的商品推荐按钮,将界面跳转到商品推荐界面,在该界面下找到其中一个商品,点击查看,同样进入第二级浏览界面查看商品信息,正常情况是,当用户点击查看商品功能按钮时,商品图片,使用情况,价格以及交易的按钮应当显示在手机界面上。前面在分析到用户物流信息写入的时候,有一个地方,就是当用户确定商品之后,想要共享该商品,则需要点击商品进入详细页面之后,进行下单,那么这个下单的核心,就是填写订单信息,包括姓名、地址、电话号码等等,所以当用户填完这些信息时,信息应该要被传输到用户的订单信息界面,所以正常情况下,当用户点击确认订单按钮时,我们回到订单界面,就应该可以看到用户刚刚提交的订单的信息,包括商品名称、用户地址姓名和电话,还有交易方式等等。6.2测试结果预览功能测试正常,订单提交功能测试正常,如下表:表6-1测试表模块功能测试测试结果用户信息新增新增成功(完成)修改修改成功(完成)删除删除成功(完成)查看显示成功(完成)商品信息商品推荐商品推荐成功(完成)商品显示信息显示成功(完成)数据传递数据传输成功(完成)订单提交地址填入地址填入成功(完成)订单确认订单确认成功(完成)订单查询订单查询成功(完成)系统界面测试界面功能输入与显示测试系统显示正常(完成)系统稳定性测试系统稳定性测试系统稳定性正常(完成)7.总结与展望通过许久的努力,终于把闲置物品共享平台实现了,虽然它比较简单,但是操作起来的简洁性,能为更多的人群接受,这也是我的初衷,别让科技进步,阻挡了所有人群的信息来源。而在这个过程中,遇到了很多问题,有时候查阅资料依然得不到解决,所以经常会为一个报错,耗费一整天。在这种学习状态下,效率很高,而且主动性良好,会把它当作自己的必须项来进行设计,同时也学会了如何在没有别人帮你在旁边看代码是如何报错的情况下,去寻找问题的解决方案。这个过程非常地有意义,填充了很多知识点的空白,也明晰了一个整体的开发的流程,奠定了独立思考的基础。未来,人们生活中的闲置物品将越来越多,这是一种必然趋势,那么我们的闲置物品共享平台还可以对已经共享的闲置物品进行二次评估,进行第二轮的物品共享,同时还可以进行物品与物品之间进行交换这种原始的共享方式,更加贴合人们的基本需求,所以为了保护自然资源,闲置物品共享是大势所趋。由于个人能力的原因,系统的后台部分其实是不够完善的,比如售后板块都没有开发。但是,从整体上说,系统的功能还是符合预期的。购物网站的开发对我的帮助很大,特别是设计以及编程方面,之前对前台的一些框架还处于听都没听过的阶段,现在已经能够初步掌握了,另外一方面是对一些知识的重新掌握,作为一个学生,开发经验本来就是偏少,随着知识的越学越多,很多的基础知识都会随着忘记;因此,我将会通过将后的实践以及学习,进而完善自己。参考文献[1]靳岩, 姚尚朗. Google Android 开发入门与实战[M]. 北京: 人民邮电出版社, 2009: 1-12 [2](美)鲍格斯坦(Bergsten,H.) 著, 林琪, 朱涛江译.JSP设计(第三版)[M]. 北京: 中国电力出版社, 2004: 12-28 [3]高昂. 支持动态语言的Android平台[M]. 北京: 人民邮电出版社, 2009: 5-7  [4]李宁. Android/OPhone开发完全讲义[M/CD]. 北京: 水利水电出版社, 2010: 6-19[5]RaúlTabarésGutiérrez.Understandingtheroleofdigitalcommonsintheweb;ThemakingofHTML5[J].TelematicsandInformatics,2018:2[6](英)Herbert Schildt.Java参考大全[M]. 北京: 清华大学出版社, 2008: 9-11 [7]JeremyKeith,Keith,杨涛,etal.JavaScriptDOM编程艺术[M].人民邮电出版社,2007.2-6[8]陈年字题轩楼.Java语言的特性和优点[EB/OL].2018-03-31./sinat_37807255/article/details/79765003[9]周杨川.基于Spring+JPA框架的电子政务基础平台的研究与实现[D].成都理工大学,2008.6[10]胡敏.Web系统下提高MySQL数据库安全性的研究与实现[D].北京邮电大学,2015.10-12[11]俞鸣城.网上商城系统的设计与实现[D].江西财经大学,2017.9-10[12]郝进义.数据库设计规范及设计技巧研究[J].计算机光盘软件与应用,2012(12).176[13]淡海英.软件项目中系统测试概述[J].工业仪表与自动化装置,2014(6):15-16.[14]MucciniH,InverardiP,BertolinoA.Usingsoftwarearchitectureforcodetesting[J].SoftwareEngineeringIEEETransactionson,2004,30(3):160[15]IpateF,HolcombeM.Anintegrationtestingmethodthatisprovedtofindallfaults[J].InternationalJournalofComputerMathematics,1997,63(3-4):159[16]郭志宏. Android应用开发详解[M]. 北京: 电子工业出版社, 2010: 6-21 [17]韩超, 梁泉. Android 系统开发原理及开发要点详解[M]. 北京: 电子工业出版社, 2010: 1-11致谢最后,感谢论文导师的关心和帮助,在设计程序和撰写论文的过程中,很多老师和同学无偿帮助了我,在临近毕业的时候,感受到了很多份真挚的关爱,使我的大学生活,变得如此完整。很多时候,都是到了最后,将要离开学校的时候,才发现,这里有一群可爱的同学,一群和蔼可亲的老师,才发现,原来也会如此地舍不得你们。谢谢你们的一路陪伴!

电脑不启动故障诊治了解电脑启动的过程在诸多电脑故障中,无法正常启动是最令用户头痛的事了。笔者长期从事维护电脑的工作,在这个方面积累了一些经验,现在就将这些经验整理归纳出来与朋友们分享。本文将以家用电脑和windows98操作系统为基础,介绍电脑无法正常启动故障的诊治。要想准确地诊断电脑不启动故障,首先要了解的起动过程,当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还没有完全稳定,主板控制芯片组会根据CMOS中的CPU主频设置向CPU发出一个Reset(重置)信号,让CPU初始化,电压完全稳定后,芯片组会撤去Reset信号,CPU马上从地址FFFF0H处执行一条跳转指令,跳到系统BIOS中真正的启动代码处。系统BIOS首先要做的事情就是进行POST(PowerOnSelfTest,加电自检)。POST的主要任务是检测系统中的一些关键设备(电源、CPU芯片、BIOS芯片、定时器芯片、数据收发逻辑电路、DMA控制器、中断控制器以及基本的64K内存和内存刷新电路等)是否存在和能否正常工作,如内存和显卡等。自检通过后,系统BIOS将查找显示卡的BIOS,由显卡BIOS来完成显示卡的初始化,显示器开始有显示,自此,系统就具备了最基本的运行条件,可以对主板上的其它部分进行诊断和测试,再发现故障时,屏幕上会有提示,但一般不死机,接着系统BIOS将检测CPU的类型和工作频率,然后开始测试主机所有的内存容量,内存测试通过之后,系统BIOS将开始检测系统中安装的一些标准硬件设备,这些设备包括:硬盘、CD-ROM、软驱、串行接口和并行接口等连接的设备,大多数新版本的系统BIOS在这一过程中还要自动检测和设置内存的相关参数、硬盘参数和访问模式等。标准设备检测完毕后,系统BIOS内部的支持即插即用的代码将开始检测和配置系统中已安装的即插即用设备。每找到一个设备之后,系统BIOS都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、DMA通道和I/O端口等资源。最后系统BIOS将更新ESCD(ExtendedSystemConfigurationData,扩展系统配置数据)。ESCD数据更新完毕后,系统BIOS的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软盘、硬盘或光驱启动。以从C盘启动为例,系统BIOS将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的分区引导记录,而分区引导记录将负责读取并执行IO.SYS,这是Windows最基本的系统文件。IO.SYS首先要初始化一些重要的系统数据,然后就显示出我们熟悉的蓝天白云,在这幅画面之下,Windows将继续进行DOS部分和GUI(图形用户界面)部分的引导和初始化工作,一切顺利结束,电脑正常启动。根据故障现象诊治了解电脑启动的过程,故障就好判断了,下面我们就根据故障现象开始诊治了:现象一:系统完全不能启动,见不到电源指示灯亮,也听不到冷却风扇的声音。这时,基本可以认定是电源部分故障,检查:电源线和插座是否有电、主板电源插头是否连好,UPS是否正常供电,再确认电源是否有故障,最简单的就是替换法,但一般用户家中不可能备有电源等备件,这时可以尝试使用下面的方法(注意:要慎重):先把硬盘,CPU风扇,或者CDROM连好,然后把ATX主板电源插头用一根导线连接两个插脚(把插头的一侧突起对着自己,上层插脚从左数第4个和下层插脚从右数第3个,方向一定要正确),然后把ATX电源的开关打开,如果电源风扇转动,说明电源正常,否则电源损坏。如果电源没问题直接短接主板上电源开关的跳线,如果正常,说明机箱面板的电源开关损坏。现象二:电源批示灯亮,风扇转,但没有明显的系统动作。这种情况如果出现在新组装电脑上应该首先检查CPU是否插牢或更换CPU,而正在使用的电脑的CPU损坏的情况比较少见(人为损坏除外),损坏时一般多带有焦糊味,如果刚刚升级了BIOS或者遭遇了CIH病毒攻击,这要考虑BIOS损坏问题(BIOS莫名其妙的损坏也是有的),修复BIOS的方法很多杂志都介绍过就不重复了;确认CPU和BIOS没问题后,就要考虑CMOS设置问题,如果CPU主频设置不正确也会出现这种故障,解决方法就是将CMOS信息清除,既要将CMOS放电,一般主板上都有一个CMOS放电的跳线,如果找不到这个跳线可以将CMOS电池取下来,放电时间不要低于5分钟,然后将跳线恢复原状或重新安装好电池即可;如果CPU、BIOS和CMOS都没问题还要考虑电源问题:PC机电源有一个特殊的输出信号,称为POWERGOOD(PG)信号,如果PG信号的低电平持续时间不够或没有低电平时间,PC机将无法启动。如果PG信号一直为低电平,则PC机系统始终处于复位状态。这时PC机也出现黑屏、无声响等死机现象。但这需要专业的维修工具外加一些维修经验,因此,建议采用替换法;电源没有问题就要检查是否有短路,确保主板表面不和金属(特别是机箱的安装固定点)接触。把主板和电源拿出机箱,放在绝缘体表面,如果能启动,说明主板有短路现象;如果还是不能启动则要考虑主板问题,主板故障较为复杂,可以使用替换法确认,然后更换主板。现象三:电源指示灯亮,系统能启动,但系统在初始化时停住了,而且可以听到嗽叭的鸣叫声(没有视频):根据峰鸣代码可以判断出故障的部位。ccid_page/AwardBIOS1短声:说明系统正常启动。表明机器没有问题。2短声:说明CMOS设置错误,重新设置不正确选项。1长1短:说明内存或主板出错,换一个内存条试试。1长2短:说明显示器或显示卡存在错误。检查显卡和显示器插头等部位是否接触良好或用替换法确定显卡和显示器是否损坏。1长3短:说明键盘控制器错误,应检查主板。1长9短:说明主板FlashRAM、EPROM错误或BIOS损坏,更换FlashRAM。重复短响:说明主板电源有问题。不间断的长声:说明系统检测到内存条有问题,重新安装内存条或更换新内存条重试。AMIBIOS1短:说明内存刷新失败。更换内存条。2短:说明内存ECC较验错误。在CMOS中将内存ECC校验的选项设为Disabled或更换内存。3短:说明系统基本内存检查失败。换内存。4短:说明系统时钟出错。更换芯片或CMOS电池。5短:说明CPU出现错误。检查CPU是否插好。6短:说明键盘控制器错误。应检查主板。7短:说明系统实模式错误,不能切换到保护模式。8短:说明显示内存错误。显示内存有问题,更换显卡试试。9短:说明BIOS芯片检验和错误。1长3短:说明内存错误。内存损坏,更换。1长8短:说明显示测试错误。显示器数据线没插好或显示卡没插牢。现象四:系统能启动,有视频,出现故障提示,这时可以根据提示来判断故障部位。下面就是一些常见的故障提示的判断:一、提示“CMOSBatteryStateLow”原因:CMOS参数丢失,有时可以启动,使用一段时间后死机,这种现象大多是CMOS供电不足引起的。对于不同的CMOS供电方式,采取不同的措施:1.焊接式电池:用电烙铁重新焊上一颗新电池即可;2.钮扣式电池:直接更换;3.芯片式:更换此芯片,最好采用相同型号芯片替换。如果更换电池后时间不长又出现同样现象的话,很可能是主板漏电,可检查主板上的二极管或电容是否损坏,也可以跳线使用外接电池,不过这些都需要有一定的硬件维修基础才能完成。二、提示“CMOSChecksumFailure”CMOS中的BIOS检验和读出错;提示“CMOSSystemOptionNotSet”,CMOS系统未设置;提示“CMOSDisplayTypeMismatch”,CMOS中显示类型的设置与实测不一致;提示“CMOSMemorySizeMismatch”,主板上的主存储器与CMOS中设置的不一样;提示“CMOSTime&DateNotSet”,CMOS中的时间和日期没有设置。这些都需要对CMOS重新设置。三、提示“KeyboardInterfaceError”后死机原因:主板上键盘接口不能使用,拔下键盘,重新插入后又能正常启动系统,使用一段时间后键盘无反应,这种现象主要是多次拔插键盘引起主板键盘接口松动,拆下主板用电烙铁重新焊接好即可;也可能是带电拔插键盘,引起主板上一个保险电阻断了(在主板上标记为Fn的东西),换上一个1欧姆/0.5瓦的电阻即可。四、自检过程中断在xxxKCache处这表示主板上Cache损坏,可以在CMOS设置中将“ExternalCache”项设为“Disable”故障即可排除。同理,在自检主板部件时出现中断,则可以认为该部件损坏,解决方法一般可以在CMOS中将其屏蔽,如果不能屏蔽该部件最好更换主板。五、提示“FDDControllerFailure”BIOS不能与软盘驱动器交换信息;提示“HDDControllerFailure”,BIOS不能与硬盘驱动器交换信息。应检查FDD(HDD)控制卡及电缆。六、提示“8042GateA20Error”8042芯片坏;提示“DMAError”,DMA控制器坏。这种故障需要更换。七、提示“DisplaySwitchNotProper”主板上的显示模式跳线设置错误,重新跳线。八、提示“KeyboardisLock...Unlockit”键盘被锁住,打开锁后重新引导系统。九、IDE接口设备检测信息为:“DetectingPrimary(或Secondary)Master(或Slave)...None”表示该IDE接口都没有找到硬盘,如果该IDE口确实接有硬盘的话,则说明硬盘没接上或硬盘有故障,可以从以下几方面检查:1、硬盘电源线和数据线是否接触不良,或换一根线试试;2、CMOS设置有无错误,进入CMOS将“PrimaryMaster”、“PrimarySlave”、“SecondaryMaster”三项的的“TYPE”都设置成“Auto”;3、替换法确认硬盘本身有故障。十、IDE接口设备检测信息下面显示“Floppydisk(s)fail(40)”出错信息表示CMOS所指定的软盘驱动器有问题。判断和解决的方法与硬盘相似。现象五:系统不能引导。这种故障一般都不是严重问题,只是系统在找到的用于引导的驱动器中找不到引导文件,比如:BIOS的引导驱动器设置中将软驱排在了硬盘驱动的前面,而软驱中又放有没有引导系统的软盘或者BIOS的引导驱动器设置中将光驱排在了硬盘驱动的前面,而光驱中又放有没有引导系统的光盘,这个都很简单,将光盘或软盘取出就可以了,实际应用中遇到“DiskBootFailure,InsertSystemDiskAndPressEnter”的提示,多数都是这个原因。如果是硬盘不能引导的话一般有两种情况:一种是硬盘数据线没有插好,另一种就是硬盘数据损坏。前者一般多会出现硬盘容量检测不正确和引导时出现死机的现象;后者则是干脆找不到引导文件或提示文件损坏。前者只需重新连接好数据线即可;后者则需要用win98的启动软盘或启动光盘启动,根据实际情况来定:一、提示“Invalidpartitiontable”或“NotFoundany[activepartition]inHDDDiskBootFailure,InsertSystemDiskAndPressEnter”,这说明找不到硬盘活动分区,需要对硬盘重新分区。二、提示“Missoperationsyste”,说明硬盘活动分区需要重新格式化(formatc:/s)。三、提示“InvalidsystemdiskReplacethedisk,andthenpressanykey”或显示“S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论