ios爱限免手机app框架开发设计_第1页
ios爱限免手机app框架开发设计_第2页
ios爱限免手机app框架开发设计_第3页
ios爱限免手机app框架开发设计_第4页
ios爱限免手机app框架开发设计_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

摘要随着计算机网络通信技术和INTERNET的飞速发展,基于因特网的手机移动应用已经开始成为一种全新的功能需求,并且越来越受到人们的关注。由于移动应用具有简单性,随时随地性等诸多特点,因此它有着传统计算机所无法比拟的优点。这样一来,手机移动应用的开发工作就显得尤为重要,开发出一个集合手机应用的“商店”极为重要,近年来IPHONE手机在中的发展趋势日趋上升,IPHONE手机保密性很强,很多东西都不对外开放,爱限免手机APP就是针对IPHONE手机而开发的一款手机应用,日趋扩大的市场也使得应用于IPHONE手机的APP开发日趋紧迫,可以说爱限免的开发不仅是客户的需求更是市场的需求。爱限免项目的开发使用了IPHONE自己研发的开发软件XCODE60,主要有UIKIT框架和FOUNDATION框架组成。爱限免的项目开发,对数据进行展示主要应用列表控制器UIABLEVIEW,在使用UITABLEVIEW是对CELL的复用是此技术的难点,主要避免在CELL复用是出现内存泄露状况而导致的程序崩溃,数据的获取应用了AFHTTPNETWORK第三方库,对网络数据进行GET获取,把获取的数据用数据模型接收,这样有利于降低耦合性,是程序更顺畅。在对数据保存时用到了FMDB第三方数据库,此数据库的底层也是对SQULITE的封装,是开发者应用起来更顺手简介,提高效率,界面之间的数据传输难点BLCOK的应用,这点要求开发者对BLOCK有比较深刻的理解,以及应用熟练度。关键词IOS,SQULITE,BLOCK,应用,控件ABSTRACTWITHTHERAPIDDEVELOPMENTOFCOMPUTERNETWORKCOMMUNICATIONTECHNOLOGYANDTHEINTERNET,BASEDONINTERNETMOBILEPHONEAPPLICATIONHASBEGUNTOBECOMEAKINDOFNEWFUNCTIONALREQUIREMENTS,ANDPEOPLEHAVEPAIDMOREANDMOREATTENTIONBECAUSEOFITSSIMPLICITY,ANYTIME,ANYWHERE,ETC,ITHASTHEADVANTAGESTHATTHETRADITIONALCOMPUTERCANTMATCHINTHISWAY,THEMOBILEAPPLICATIONDEVELOPMENTWORKISPARTICULARLYIMPORTANT,THEDEVELOPMENTOFACOLLECTIONOFMOBILEAPPLICATIONSTORE“ISVERYIMPORTANT,INRECENTYEARSTHEIPHONEINTHEDEVELOPMENTTRENDISRISINGDAYBYDAY,IPHONEMOBILEPHONESECURITYISVERYSTRONG,ALOTOFTHINGSARENOTOPENTOTHEPUBLIC,LOVELIMITFREEMOBILEAPPISFORTHEIPHONEANDTHEDEVELOPMENTOFAMOBILEAPPLICATION,WIDENINGTHEMARKETALSOMAKETHEAPPLICATIONTOIPHONEAPPDEVELOPMENTISBECOMINGMOREANDMOREURGENT,YOUCANLOVELIMITFREEDEVELOPMENTISNOTONLYTHENEEDSOFCUSTOMERSISTHEDEMANDOFTHEMARKETTHEDEVELOPMENTOFLOVELIMITEDFREEPROJECTUSEOFIPHONEOWNRMANAGERGETPAGE_A_URLPARAMETERS“CURRENCY“RMB“,“PAGE“NSSTRINGSTRINGWITHFORMAT“LD“,_PAGESSUCCESSAFHTTPREQUESTOPERATIONOPERATION,IDRESPONSEOBJECTNSARRAYARRRESPONSEOBJECT“APPLICATIONS“/清空数组写在请求成功里面IF_PAGES1_DATAARRREMOVEALLOBJECTS/判断是更新,还是插入数据BOOLFLAGNOIFSELFCONTENTDATAFLAGYESFORINTI0IPUBLISHCONTENTSHARESDKCONTENT“分享内容“DEFAULTCONTENT“测试一下“IMAGESHARESDKIMAGEWITHPATHNILTITLE“SHARESDK“URL“HTTP/WWWMOBCOM“DESCRIPTION“这是一条测试信息“MEDIATYPESSPUBLISHCONTENTMEDIATYPENEWS/创建弹出菜单容器IDCONTAINERSHARESDKCONTAINERCONTAINERSETIPADCONTAINERWITHVIEWSENDERARROWDIRECTUIPOPOVERARROWDIRECTIONUP/弹出分享菜单SHARESDKSHOWSHAREACTIONSHEETCONTAINERSHARELISTNILCONTENTPUBLISHCONTENTSTATUSBARTIPSYESAUTHOPTIONSNILSHAREOPTIONSNILRESULTSHARETYPETYPE,SSRESPONSESTATESTATE,IDSTATUSINFO,IDERROR,BOOLENDIFSTATESSRESPONSESTATESUCCESSNSLOGNSLOCALIZEDSTRING“TEXT_SHARE_SUC“,“分享成功“ELSEIFSTATESSRESPONSESTATEFAILNSLOGNSLOCALIZEDSTRING“TEXT_SHARE_FAI“,“分享失败,错误码D,错误描述“,ERRORERRORCODE,ERRORERRORDESCRIPTION424收藏功能模块1显示你是否收藏成功运行效果图如下4251图4241点击收藏显示界面收藏功能我这里使用了一个IOS本地数据库CODATA也是对SQLITE的封装,这里使用了IOS的单例模式,把这个数据库写在中转站中,形成一个单例,所谓的单例就是在整个项目工程中只会被实例化一次,不会重复多次实例化,确保每次取到的都是同一个数据库,代码如下INTERFACEAPPDELEGATEUIRESPONDERPROPERTYSTRONG,NONATOMICUIWINDOWWINDOWPROPERTYREADONLY,STRONG,NONATOMICNSMANAGEDOBJECTCONTEXTMANAGEDOBJECTCONTEXTPROPERTYREADONLY,STRONG,NONATOMICNSMANAGEDOBJECTMODELMANAGEDOBJECTMODELPROPERTYREADONLY,STRONG,NONATOMICNSPERSISTENTSTORECOORDINATORPERSISTENTSTORECOORDINATOR在没次收藏成功的时候都会有一个提示图标,就是图里边的温馨提示,这里使用了一个UIALERTVIEW来实现这个功能具体代码如下/赋值头像AFHTTPREQUESTOPERATIONMANAGERMANAFHTTPREQUESTOPERATIONMANAGERMANAGERMANRESPONSESERIALIZERAFHTTPRESPONSESERIALIZERSERIALIZERMANGET_MYICONURLPARAMETERSNILSUCCESSAFHTTPREQUESTOPERATIONOPERATION,IDRESPONSEOBJECTMODEICONDATARESPONSEOBJECT/存储数据DELEMANAGEDOBJECTCONTEXTSAVENIL/弹出提示收藏成功UIALERTVIEWALVUIALERTVIEWALLOCINITWITHTITLE“温馨提示“MESSAGE“收藏成功“DELEGATESELFCANCELBUTTONTITLE“知道了“OTHERBUTTONTITLESNIL,NILALVSHOWFAILUREAFHTTPREQUESTOPERATIONOPERATION,NSERRORERROR下面就是收藏功能的实现,这里收藏功能是通过APPDELEGATE把实例化的数据库在相应的控制器种取到,把要收藏的APP添加到数据库中实现本地化存储,从而实现收藏,具体代码如下/取得实体对象APPDELEGATEDELEUIAPPLICATIONSHAREDAPPLICATIONDELEGATEAPPMODEMODENSENTITYDESCRIPTIONINSERTNEWOBJECTFORENTITYFORNAME“APPMODE“INMANAGEDOBJECTCONTEXTDELEMANAGEDOBJECTCONTEXT/赋值MODEAPPIDSELFAPPIDMODENAME_MYNAME这样就把喜欢的APP进行了收藏,由于这个数据库是被写成了单例,因此里边的数据是会不断更新的,而数据内容就是收藏的APP,在需要展示的界面取出来数据库进行刷表就可以实现展示,具体代码如下_ARR2REMOVEALLOBJECTS/从数据库取出收藏的APPAPPDELEGATEDELEGATEUIAPPLICATIONSHAREDAPPLICATIONDELEGATENSFETCHREQUESTREQUESTNSFETCHREQUESTNEWREQUESTENTITYNSENTITYDESCRIPTIONENTITYFORNAME“APPMODE“INMANAGEDOBJECTCONTEXTDELEGATEMANAGEDOBJECTCONTEXT_ARRDELEGATEMANAGEDOBJECTCONTEXTEXECUTEFETCHREQUESTREQUESTERRORNIL/创建一个滚动视图,高度根据需要改变_SVIEWUISCROLLVIEWALLOCINITWITHFRAMESELFVIEWBOUNDS_SVIEWFRAMECGRECTMAKE0,50,SELFVIEWBOUNDSSIZEWIDTH,SELFVIEWBOUNDSSIZEHEIGHTSELFVIEWADDSUBVIEW_SVIEW_SVIEWCONTENTSIZECGSIZEMAKESELFVIEWBOUNDSSIZEWIDTH,50_ARRCOUNT/31100/根据收藏的APP个数创建图标FORINTI0I_ARRCOUNTIUIIMAGEVIEWVIEWUIIMAGEVIEWALLOCINITWITHFRAMECGRECTMAKE30I3100,50I/3100,60,60/打开人机交互开关VIEWUSERINTERACTIONENABLEDYESVIEWIMAGEUIIMAGEIMAGEWITHDATA_ARRIICONDATAVIEWTAG600IUILABELLABELUILABELALLOCINITWITHFRAMECGRECTMAKEVIEWFRAMEORIGINX,VIEWFRAMEORIGINY60,60,20LABELTEXTALIGNMENTNSTEXTALIGNMENTCENTERLABELFONTUIFONTSYSTEMFONTOFSIZE12LABELTEXT_ARRINAME_SVIEWADDSUBVIEWLABEL_SVIEWADDSUBVIEWVIEWUITAPGESTURERECOGNIZERTAPUITAPGESTURERECOGNIZERALLOCINITWITHTARGETSELFACTIONSELECTORGESACTIONVIEWADDGESTURERECOGNIZERTAP/创建删除小图标UIIMAGEVIEWVIEW2UIIMAGEVIEWALLOCINITWITHFRAMECGRECTMAKE10,10,70,70/打开人机交互开关VIEW2USERINTERACTIONENABLEDYES/VIEW2BACKGROUNDCOLORUICOLORLIGHTGRAYCOLORVIEW2CONTENTMODEUIVIEWCONTENTMODETOPLEFTVIEW2IMAGEUIIMAGEIMAGENAMED“CLOSE“/添加到图标视图上VIEWADDSUBVIEWVIEW2/判断是否隐藏删除小图标IF_BTNSELECTEDVIEW2HIDDENYES/添加手势UITAPGESTURERECOGNIZERTAP2UITAPGESTURERECOGNIZERALLOCINITWITHTARGETSELFACTIONSELECTORDELETEGESACTIONVIEW2ADDGESTURERECOGNIZERTAP2/添加到数组_ARR2ADDOBJECTVIEW2APP的删除功能也是在这里实现的,通过点击设置按钮,使APP的图标显示删除“”,点击,把它从数据库中删掉,刷新数据,代码如下/删除收藏的数据VOIDDELETEGESACTIONUIGESTURERECOGNIZERGES/根据点击的VIEW获取角标正好相对应要删除的APP在ARR中的角标NSINTEGERINDEX_ARR2INDEXOFOBJECTGESVIEW/NSLOG“LD“,INDEX/从数据库取出收藏的APPAPPDELEGATEDELEGATEUIAPPLICATIONSHAREDAPPLICATIONDELEGATE/删除DELEGATEMANAGEDOBJECTCONTEXTDELETEOBJECT_ARRINDEXDELEGATEMANAGEDOBJECTCONTEXTSAVENIL/刷新页面_SVIEWREMOVEFROMSUPERVIEWSELFLOADDATA425搜索功能模块1实现APP名字搜索显示2点击可以查看信息运行效果图如下4251,图4251搜索结果界面搜索界面的实现实在原有界面的基础上加上实现代理方法,用UISEACHBAR来实现APP的搜索功能核心代码如下BOOLSEARCHDISPLAYCONTROLLERUISEARCHDISPLAYCONTROLLERCONTROLLERSHOULDRELOADTABLEFORSEARCHSTRINGNSSTRINGSEARCHSTRING/清空搜索结果数组_SEARCHARRREMOVEALLOBJECTSFORAPPMODE1MODEIN_DATAARRIFMODENAMERANGEOFSTRINGSEARCHSTRINGLOCATIONNSNOTFOUND_SEARCHARRADDOBJECTMODERETURNYES第5章系统测试系统测试是保证系统质量和可靠性的关键步骤,是对系统开发过程中的系统分析系统设计和实施的最后复查。根据测试的概念和目的,在进行信息系统测试。51功能模块测试1限免模块的测试,主要测试、接口数据是否能正确显示,不出现闪退的情况,时间会不会刷新,每个APP的星级会不会正确显示,这些测试中唯独最后两项最为麻烦,第一次测试的时候星星的显示问题总是搞不定,不管怎么调试都是显示五颗星,和显示的数据不照应,经过同学的帮忙,忙才发祥是父视图没有对子视图进行切割,还有就是限免的价格是被拉掉的,我是用XIB做的拉掉的效果,但是在点击这个APP的时候这个被拉掉的线就会莫名的消失,变成原样,当时周围的同学也是每办法了,这个问题一直拖到了最后,知道有天逛博客时看到有一篇博客写到点击CELL的时候,CELL会变成灰色,当时我就想到了这个问题,我认为我的划线没了可能是和CELL的背景色冲突了,把这个关掉之后,果不其然,划线不会消失了。2降价模块测试,主要针对数据解析JSON的正确应用,JOSN解析的时候主要注意里边数据的取值方式,JSON数据里边你需要的可能是有一个数组构成的,也可能是一个字典,正当的取值才不会造成无谓的越界现象,还有JSON数据中并不是所有的数据都是字符串的形势显示,也可能会出现NSNUMBER的数据,当时在后期调试的时候,我的程序就因一个NSNUMBER的数据没有处理好,导致程序崩溃,还很难找,因为我就没想到我会在这里取值出错误。3免费模块测试,主要测试对数据的解析,以及内容的显示。4专题模块的测试,主要测试CELL上的控件是不是能正确的传值,主要注意BLOCK在反向传值的时候的回调,以及对BLOCK的应用,专题模块这一点可以说的是我耗时最多的一个界面,主要就消耗在界面传值这一块,由于CELL上的APP比较多,对于如何处理我选中的是哪个APP是我一度陷入盲区,不知道如何处理,首先想到的方法是取到APP的父视图,但是运行的时候根本不行,知道后边学习了BLOCK才解决了这个问题。5详情页面的测试,主要测试是不是每个界面都能正确的传进来数据,以及对数据的展示,数据图片不一样多造成的越界现象,图片的加载相册功能,分享功能,收藏功能。对周边应用的具体详情再次查看,怎么进行数据的处理,详情页面在处理的时候,难点就在于怎么把本页的周边APP再通过点击APP在本页显示具体的信息,这个问题导致我把程序进行了大修改,烦躁啊,因为前期的逻辑没处理好,导致这里传值出问题,不过在我的努力下还是把程序都改了。在完成逐个模块测试后,开始对系统进行验收测试,运行该系统,在运行过程中查找出现的错误。52功能整体测试在安装好配置环境的电脑上测试,刚开始出现屏幕混乱,经过反复修改,现在已经能正常运行。用XCODE上自动检测内存工具,检测出多处内存泄露问题,都已经修改。测试到这个阶段就简单多了,繁琐的工作都做完了,不过在这个阶段我还是发现了一个严重的问题,就是内存泄露,原因是我在CELL中实例化了一个控件,我当时竟然天真的以为ARC不会有内存泄露,但是还是出现了,CELL复用的时候,虽然使用的以前的CELL,但是你在CELL里边申请的控件还会一直开辟空间消耗内存,这样就会导致内存泄露。总结与展望总结经过一段时间的忙碌,终于把毕业设计的任务完成了。现在我对该系统做一下总结本项目的开发目标,主要是为了提供IPHONE手机应用平台,为用户更好的体验IPHONE手机。设计经过紧张而有序的系统开发,收获颇丰,感触颇深。现在对经验收获、教训反思两大部分总结如下经验收获1编写程序前,对已完成设计构思的系统进行主次分析,排好功能实现顺序,列出程序编、写步骤,对于理清编程思路很有帮助。人的逻辑思维可能很发达,在设计当中可以不用笔记,在脑中就能想好三到五个功能的逻辑关系和编写步骤。但以后我们面对的是一个庞大的系统,大系统下分多个子系统,子系统下分多个功能模块,功能模块下分多个功能页面,功能页面下分多个子功能,而且子系统、功能模块、功能页面、子功能之间的逻辑关系构成了一张复杂庞大的逻辑关系网。这就需要我们在原先做好的设计流程图上,系统规划,全面分析,逐步细化,反复斟酌、推敲,然后列出编程计划。2善于借鉴他人的成果,实现自己的功能,可以有效地缩短开发时间,提高工作效率,是快速提高编程能力的最佳途径。借鉴他人的劳动成果并不是简单地拷贝别人的源代码,如果只是这样的话,你会因为系统经常的报错,却束手无策,最后将其认为是鸡肋而抱怨连天。应该是先要分析读透他人的程序思想,取其精华,去其糟粕,使之成为自己的思想,然后将这些功能块与自己的功能块融合。3在完成这个课题的过程中,遇到了很多问题。对于IOS的开发过程更是头疼,因为在IOS中有些控件必须接收协议,而且不用手动调用协议中的方法,系统自己调用,比如UITABLEVIEW。这个让我感觉很不可思议,以至于每次非得手动调用协议,但是每次都出错,后来就记住这个问题了。4每编完一个功能,应及时与其它完成功能一起测试,运行无误后,方可进行下一步开发。这样做是为了在测试时如果出错能很方便地找到出错的环节和病因所在,我们称之为“STEPBYSTEP”(一步一脚印),对于一个初级的程序开发者来说是很有帮助的。对于编程人员来说每一个环节都是来不得有半点差错的,每一个功能都是环环相扣,相互关联,相互作用的教训反思1学习与实践的结合不当。当我进行程序开发的时候,发现以前学习的知识点到用时却忘得一干二净了,也只好重新学习基本知识了。如果以前把知识学得透彻点,理解深刻点,也许在开发过程中可以缩短时间,提高效率。反思自我,归其原因不是当时的学习不够认真,而是缺乏对知识点的运用实践;对于像我这样“半路出家”的编程人员来说,只是理解知识点是远远不够的,如果当时没有经过编译、运行、调试的过程,很快就会忘记的。(2)学习目标不专一。我们都知道在学习的时候是最忌讳这个还没学明白就去学那个的,结果当然是哪个也没学明白。这个没学好,就想用另一个,造成学习不深入,学习效果不好。以后一点要记住此教训。展望这次毕业设计项目做得时间挺长的,从开始学习C语言,到后来的高级语言OBJECTIVEC、UI、初级网络、高级网络等。到最后项目的结束,感觉自己学习到了很多知识,但是知道的越多你就会越发的感觉到自己知识的不足,第一次开始认认真真的学习C还是从图书馆里的21天精通C语言开始,是一门语言你就要记忆很多东西,我学习的时候觉得最难得不是逻辑而是记忆,到后来的OBJECTIVEC,这门高级语言的底层是对C语言的封装,把C的很多逻辑封装成方法,你只需拿来用就OK了,OC学完的时候已经是年后了,之后学习了UI的界面搭建,以及初级网络。学完初级网络就着手写自己的毕业项目,当时觉得很难,很多知识都不熟悉,还有分享,BLOCK等高级网络的知识还没有接触到,因此在初期毕业项目制作过程中只完成了界面的加载数据,界面之间没有相互的跳转,很没有活力,基本的界面搭建完成已经过了一个多星期了,之后有做了BUG调试,把出现的问题解决了,这样这个APP才有了形,这个完成之后我就着手学习了高级网络,接触到了分享,支付,通信等知识,还学了BLOCK的界面传值,平时学习完都会做一些小的DEMO来做练习,大概一星期之后才回头来完善自己的毕业项目,这是的毕业项目也已不是当初的大难题了。虽然毕业项目做完了,但是功能并不是那么完美,就像我刚开始接触这门语言时,我会觉得很难办,到我学的多了,见得多,用的多了,丰富的知识已经让我感觉到自己入门了,有自己的学习方法了,本来学习就是一个循循渐进的过程,我们每个人都不可能一下子做的很完美,很出色,都需要不断的完善。我也希望自己在以后的工作中得到更多的知识、经验。让自己不断地进步,做出属于自己的独特的作品。参考文献1谭克强OBJECTIVEC程序设计第四版。251CTO网站OC教学视频自学。以及对牛人博客的借鉴。321天精通C语言,河南理工大学,图书馆。4博客园学习,主要学习UI时对我的帮助很大。5COCOACHINA第三方库的使用,对后期做毕业设计,提供很多便利。6个人觉得最好用的还是度娘,什么问题都可以问她,自学学到的东西才会理解的更深刻。7DAVEMAK美JACKNUTTING美JEFFLAMARCHE美著杨越孙文磊等译IOS5基础教程M北京人民邮电出版社201338MARKDALRYMPLE美SCOTTKNASTER美著杨越等译OBJECTIVEC基础教程M北京人民邮电出版社201279STEPHENGKOCHAN著林翼、范俊、朱奕欣译OBJECTIVEC程序设计第四版M。北京电子工业出版社,20121210虞斌著IOS软件开发揭秘IPHONENOW,WITHITSGLASSBOTTOM,THEBRIDGEISALREADYBEINGREFERREDTOAS“HEROBRIDGE”THEPOPULARCHAINSLONGTIMEEXECUTIVECHEFEMBRACESMAPOTOFUANDOTHEREXOTICELEMENTSFORTHEBURGERDRIVENMENU,LIUZHIHUAREPORTSATTHEAGEOF37,SHANGHAINATIVELINZHENGUHASBECOMEASTARASAWESTERNCUISINECHEFINTHECHINESEMETROPOLIS,ACITYTHATHASAWEALTHOFWESTERNRESTAURANTSTHEEXECUTIVECHEFOFBLUEFROGBARANDGRILL,APOPULARBURGERBASEDRESTAURANTANDBARCHAINONTHECHINESEMAINLAND,LINISTHESOULOFTHERESTAURANTFRANCHISESTEAMOFMORETHAN550CHEFSMANYOFTHEFRANCHISESMOSTPOPULARDISHESAREHISBRAINCHILDLINSAYSHISSECRETOFSUCCESSISINNOVATIONROOTEDINEXPERIENCEHESPENDSMONTHSEVERYYEARTRAVELINGANDEATINGWORLDWIDE,SEEKINGNEWINGREDIENTSANDINSPIRATIONSTHATCOULDIMPROVETHEOFFERINGSOFBLUEFROGRESTAURANTSTHERESTAURANTCHAINREGULARLYLAUNCHESANEWSEASONALMENU,USUALLYFEATURINGEIGHTNEWDISHESWITHFRESHINGREDIENTSTHEBESTSELLINGSEASONALDISHESLATERREPLACETHELEASTPOPULARITEMSONTHEREGULARMENU,WHICHISUSUALLYUPDATEDINLATEFALLANDBOASTSASELECTIONOFABOUT40DISHES“FOODSHOULDHAVENOBOUNDARIES,“LINSAYS“ASLONGASTHEFOODTASTESGOODANDISHEALTHY,ITDOESNTREALLYMATTERWHEREITORIGINATESORHOWITISCOOKED“LINLIKESTOGIVETHEAMERICANSTYLERESTAURANTSMENUSOMECULINARYTOUCHESFROMOTHERCOUNTRIES,SUCHASCHINAA

温馨提示

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

评论

0/150

提交评论