




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计说明书基于Android的客户关系管理系统的改进与开发班级:学号:姓名:学院:专业:指导教师:严格按照统一格式!2021年6月基于android〔A,大小写一致〕的平台移动客户关系管理系统的开发与改进中文摘要〔题目要一致,每个字都要相同。去掉中文两个字〕Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,CRM〔CustomerRelationshipManagement〕即客户关系管理。而本设计出于移动设备方便快捷的特点,可随时随地查找客户,查看相应的客户信息,也可以随时随地添加客户信息,并对客户信息进行修改,并有节假日对客户发短信祝贺的提醒功能;客户信息存放在的数据库内,保证客户信息的及时更新。使用户可以随时随地掌握客户最新的信息资料,方便客户自己业务的办理。本设计由于是基于android平台的,在Eclipse环境下完成,首先将该程序分为客户信息的查看,客户信息的添加,客户信息的删除,客户信息的修改,客户信息的查询等5个模块,在之前建立CRMDB,以便程序与数据库的连接。关键字:Android,CRM,Eclipse.〔输入法错误〕英文摘要〔英文题目,摘要英文,另起一页〕ˎ̥Androidisalinux-basedofthefreeandopensourceoperatingsystem,mainlyusedinmobiledevices,CRM(CustomerRelationshipManagement)CustomerrelationsManagement.Designformobiledevicesandthecharacteristicsofconvenientandquick,canfindcustomersanytimeandanywhere,viewthecorrespondingcustomerinformation,alsocanaddcustomerinformationanytimeandanywhere,andmodifythecustomerinformationandsendtextmessagestocustomersandhaveholidaycongratulationstoremindfunction;Customerinformationisstoredinmobiledatabase,ensurethatcustomerinformationupdate.Allowsausertograspthecustomersthelatestinformationanytimeandanywhere,convenienttocustomersfortheirbusiness.Thisdesignbecauseitisbasedontheandroidplatform,intheEclipseenvironment,firstofall,theprogramcanbedividedintoviewthecustomerinformation,customerinformationtoadd,deletecustomerinformation,customerinformationchanges,fivemodulessuchascustomerinformationquery,establishCRMDBinbefore,inordertoprogramandthedatabaseconnection.关键字:Android,CRM,Eclipse.全英文目录TOC\o"1-3"\h\uHYPERLINK1绪论 1HYPERLINK1.1移动客户管理系统〔CRM〕简介 1HYPERLINK1.2移动客户管理系统开发的目的 2HYPERLINK1.3移动客户管理系统的开展趋势 2HYPERLINK1.4移动客户管理系统的实现目标 2HYPERLINK2基于android的平台移动客户关系管理系统的需求分析 2HYPERLINK2.1移动客户管理系统的功能需求 2HYPERLINK2.2移动客户管理系统的数据需求 3HYPERLINK2.3移动客户管理系统的性能目标 3HYPERLINK3基于android的平台移动客户关系管理系统的开发技术 3HYPERLINK3.1android技术简介 3HYPERLINK3.2java语言简介 5HYPERLINK3.3Tomcat简介 7HYPERLINK3.4SQLite简介 8HYPERLINK3.5SQL语言简介 8HYPERLINK4基于android的平台移动客户关系管理系统的设计与实现 10HYPERLINK4.1数据库主要表和字段介绍 10HYPERLINK4.2系统结构设计 10HYPERLINK4.3系统各功能的截图及相关布局代码 11HYPERLINK客户关系管理系统图标 11HYPERLINK4.3.2客户信息查询 12HYPERLINK4.3.3客户信息添加 17HYPERLINK4.3.4客户信息删除 18HYPERLINK4.3.5客户信息修改 19HYPERLINK4.3.6客户信息查看 24HYPERLINK4.4实现系统各具体功能的相关类 25HYPERLINK4.4.1SQLiteOpenHelper类 25HYPERLINK4.4.2ContentProvider类 26HYPERLINK4.4.3Uri类 26HYPERLINK4.4.4UriMatcher、ContentUrist和ContentResolver类 27HYPERLINK5基于android的平台移动客户关系管理系统的系统测试 28HYPERLINK5.1测试内容 28HYPERLINK5.2测试方法 28HYPERLINK5.3测试结果 29HYPERLINK6总结 29HYPERLINK附录 31HYPERLINK参考文献 59HYPERLINK致谢 60页脚错误1绪论1.1移动客户管理系统〔CRM〕简介 CRM使大多数企业完成了内部资源的有效利用及整合。一方面提高了内部的业务流程自动化,使员工从日常事务中解放出来;另一方面优化了企业内部的业务流程,提高了工作效率和质量,可以有更多的精力关注企业与外部相关利益者的沟通互动,发现市场时机。[1]〔会[1]。在标点符号之前,下同〕而随着移动技术,计算机技术和移动终端技术的开展,移动客户关系管理技术已经经历了三代。以短讯为根底的第一代移动客户关系管理技术存在着许多严重的缺陷,其中最严重的问题是实时性较差,查询请求不会立即得到答复。此外,由于短讯信息长度的限制也使得一些查询无法得到一个完整的答案。这些令用户无法忍受的严重问题也导致了一些早期使用基于短讯的移动客户关系管理系统的部门纷纷要求升级和改造现有的系统。第二代移动客户关系管理系统采用基于WAP技术的方式,主要通过浏览器的方式来访问WAP网页,以实现信息的查询,局部地解决了第一代移动访问技术的问题。第二代的移动访问技术的缺陷主要表现在WAP网页访问的交互能力极差,因此极大地限制了移动客户关系管理系统的灵活性和方便性。此外,由于WAP使用的加密认证的WTLS协议建立的平安通道必须在WAP网关上终止,形成平安隐患,所以WAP网页访问的平安问题对于平安性要求极为严格的商务系统来说也是一个严重的问题。这些问题也使得第二代技术难以满足用户的要求。新一代的移动客户关系管理系统,也就是第三代移动客户关系管理系统融合3G移动技术、智能移动终端、VPN、及数据库同步等多种移动通讯、信息处理和计算机网络的最新的前沿技术,以专网和无线通讯技术为依托,使得系统的平安性和交互能力有了极大的提高,为客户关系管理人员提供了一种平安、快速的现代化移动执法机制。[2]其中软件质量问题越来越受到用户的普遍关注,而软件平台架构设计是否合理直接决定着的软件质量。[3]1.2移动客户管理系统开发的目的出于移动设备方便快捷的特点,该程序可随时随地查找客户,查看相应的客户信息,也可以随时随地添加客户信息,并对客户信息进行修改,并有节假日对客户发短信祝贺的提醒功能;客户信息存放在的数据库内,保证客户信息的及时更新。1.3移动客户管理系统的开展趋势CRM逐渐成为一种以客户为中心的经营策略,它以信息技术为手段,对业务功能进行重新设计,并对工作流程进行重组。"这个定义那么从战术角度来阐述的。CRM是一种基于企业开展战略上的经营策略,这种经营策略是以客户为中心的,不再是产品导向而是客户需求导向;信息技术是CRM实现所凭借的一种手段,这也说明了信息技术对于CRM不是全部也不是必要条件。CRM实现什么?是重新设计业务流程,对企业进行业务流程重组〔BPR〕,而这一切是基于以客户为中心,以信息技术〔CRM系统〕为手段。1.4移动客户管理系统的实现目标随着3G网络的兴旺,出于移动设备方便快捷的特点,该程序可随时随地查找客户,查看相应的客户信息,也可以随时随地添加客户信息,并对客户信息进行修改,并有节假日对客户发短信祝贺的提醒功能;客户信息存放在的数据库内,保证客户信息的及时更新。2基于android的平台移动客户关系管理系统的需求分析2.1移动客户管理系统的功能需求可随时随地查找客户,查看相应的客户信息,也可以随时随地添加客户信息,并对客户信息进行修改,并有节假日对客户发短信祝贺的提醒功能;客户信息存放在效劳器端的数据库内。2.2移动客户管理系统的数据需求数据对于管理系统至关重要,假设没有数据,也就无从管理,SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,由于本身内存不大,本系统的数据库也较为简单,所以本系统用SQLite最为适宜。2.3移动客户管理系统的性能目标1.简洁、实用由于本系统需要满足不同年龄、层次、专业类别的用户,因此必需既要功能齐全,比方支持快搜索;又要考虑到用户群的特殊性,所以界面应当简洁明了,用户只要稍微了解android,就能方便地进行增,删,改,查。2.具有可扩充性随着客户信息的增加,可以方便地扩充升级。3.具有经济性 在系统设计中,应尽可能挖掘现有的资源和条件。用java开发,基于Android等常用系统平台,既保证了本系统的技术先进性又充分利用了现有资源。3基于android的平台移动客户关系管理系统的开发技术3.1android技术简介Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于便携设备,如智能和平板电脑。尚未有统一中文名称,中国大陆地区较多人使用“安卓〞或“安致〞。并且是第一个免费,开源,完全可以定制的移动平台。[8]虽然Android基于Linux内核,但是它与Linux之间还是有很大的差异,比方Android在Linux内核的根底上添加了自己所特有的驱动程序。[9]Android操作系统最初由AndyRubin开发,主要支持。2005年由Google收购注资,并组建开放联盟开发改进随后,逐渐扩展到平板电脑及其他领域上。2021年10月第一部Android智能发布。2021年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。2021年11月数据显示,Android占据全球智能操作系统市场76%的份额,中国市场占有率为90%。Android提供免费而且跨平台的整合开发环境,只要计算机能连接上网络,我们随时都能下载相关工具下来,并开始开发Android应用程序。有了轻松易用的开发工具,我们可以把心力专注于如何将想法实现到应用程序上。[10]而本工程实现在Android移动设备管理客移动设备方便快捷的特点,该程序可随时随地查找客户,查看相应的客户信息,也可以随时随地添加客户信息,并对客户信息进行修改,并有节假日对客户发短信祝贺的提醒功能;客户信息存放在数据库内。相比拟其他移动平台,Android有已下几点优势:一、开放性Android系统是一个开放的系统,任何公司、个人开发者、爱好者都可以参与其中。对于技术工作者,Android不仅是一个智能的系统,也可以作为学习嵌入式Linux系统的较完整的软件平台。[11]开发性对于Android的开展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,随大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的。[12]二、挣脱运营商的束缚在过去很长的一段时间,特别是在欧美地区,应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。自从2007年iPhone上市后,用户可以更加方便地连接网络,运营商的制约减少。随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,随意接入网络已不是运营商口中的笑谈,当可以通过IM软件方便地进行即时聊天时,再回想不久前天价的彩信和图铃下载业务。互联网巨头Google推动的Android终端天生就有网络特色,将让用户离互联网更近。三、丰富的硬件选择这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容,如同从诺基亚Symbian风格一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等资料更是可以方便地转移。[13]四、不受任何限制的开发商Android平台提供应第三方开发商一个十分宽泛、自由的环境,不会受到各种条条框框的阻扰,可想而知,会有多少新颖别致的软件会诞生。[14]但也有其两面性,血腥、暴力、情色方面的程序和游戏如何控制正是留给Android难题之一。五、无缝结合的Google应用在互联网的Google已经走过10年度历史,从搜索巨人到全面的互联网渗透,Google效劳如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台将无缝结合这些优秀的Google效劳。[15]3.2java语言简介多空分Java是由SunMicrosystems公司于1995年5月推出的Java面向对象程序设计语言〔以下简称Java语言〕和Java平台的总称。由JamesGosling和同事们共同研发,并在1995年正式推出。用Java实现的HotJava浏览器〔支持Javaapplet〕显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速开展,常用的浏览器均支持Javaapplet。另一方面,Java技术也不断更新。(2021年Oracle公司收购了SUN)Java由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(JavaAPI)。Java平台由Java虚拟机〔JavaVirtualMachine,简称JVM〕和Java应用编程接口〔ApplicationProgrammingInterface,简称API〕构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为根本局部和扩展局部。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版开展到1.2版。常用的Java平台基于Java1.4,最近版本为Java1.7。Java分为三个体系J2SE(Java2PlatformStandardEdition,java平台标准版),J2EE(Java2Platform,EnterpriseEdition,java平台企业版),J2ME(Java2PlatformMicroEdition,java平台微型版)。与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量〞是Sun公司的口号之一,并获得了广阔软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。Sun公司对Java编程语言的解释是:Java编程语言是个简单、面向对象、分布式、解释性、健壮、平安与系统无关、可移植、高性能、多线程和动态的语言。Java平台是基于Java语言的平台。这样的平台非常流行。因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。Java是由SunMicrosystems公司于1995年5月推出的Java面向对象程序设计语言〔以下简称Java语言〕和Java平台的总称。由JamesGosling和同事们共同研发,并在1995年正式推出。用Java实现的HotJava浏览器〔支持Javaapplet〕显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速开展,常用的浏览器均支持Javaapplet。另一方面,Java技术也不断更新。(2021年Oracle公司收购了SUN)Java由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(JavaAPI)。Java平台由Java虚拟机〔JavaVirtualMachine,简称JVM〕和Java应用编程接口〔ApplicationProgrammingInterface,简称API〕构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为根本局部和扩展局部。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版开展到1.2版。常用的Java平台基于Java1.4,最近版本为Java1.7。Java分为三个体系J2SE(Java2PlatformStandardEdition,java平台标准版),J2EE(Java2Platform,EnterpriseEdition,java平台企业版),J2ME(Java2PlatformMicroEdition,java平台微型版)。与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量〞是Sun公司的口号之一,并获得了广阔软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。Sun公司对Java编程语言的解释是:Java编程语言是个简单、面向对象、分布式、解释性、健壮、平安与系统无关、可移植、高性能、多线程和动态的语言。Java平台是基于Java语言的平台。这样的平台非常流行。因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。Java不仅是一门流行的计算机语言,而且是一个优秀的纯面向对象语言。[4]Java语言赢得了前所未有的成功:从2001年到2007年,Java语言一直是世界上应用最广泛的编程语言,因此现在有越来越多的工作者、学习者正努力进入Java领域或将要努力进入Java领域。[5]而Javascript允许用户交互浏览精彩纷呈的个性化内容,可以极大地提升网页和web应用程序的吸引力。[6]其中经过多年沉淀,JavaEE平台更是已经成为电信、金融、电子商务、保险、证券等各行业的大型应用系统的首选开发平台。[7]3.3Tomcat简介Tomcat效劳器是一个免费的开放源代码的Web应用效劳器,属于轻量级应用效劳器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache效劳器,可利用它响应对HTML页面的访问请求。实际上Tomcat局部是Apache效劳器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。诀窍是,当配置正确时,Apache为HTML页面效劳,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS、Apache等Web效劳器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache效劳器。目前Tomcat最新版本为7.0.39。Tomcat很受广阔程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件效劳等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中参加新的功能。3.4SQLite简介SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比方Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。至今已经有12个年头,SQLite也迎来了一个版本SQLite3已经发布。SQLite是遵守ACID[1]的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域工程。[2]不像常见的客户-效劳器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要局部。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的3.5SQL语言简介结构化查询语言(StructuredQueryLanguage)简称SQL(发音:/ˈɛskjuːˈɛl/"S-Q-L"),结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。结构化查询语言SQL〔STRUCTUREDQUERYLANGUAGE〕是最重要的关系数据库操作语言,并且它的影响已经超出数据库领域,得到其他领域的重视和采用,如人工智能领域的数据检索,第四代软件开发工具中嵌入SQL的语言等。SQL是1986年10月由美国国家标准局〔ANSI〕通过的数据库语言美国标准,接着,国际标准化组织〔ISO〕公布了SQL正式国际标准。1989年4月,ISO提出了具有完整性特征的SQL89标准,1992年11月又公布了SQL92标准,在此标准中,把数据库分为三个级别:根本集、标准集和完全集。各种不同的数据库对SQL语言的支持与标准存在着细微的不同,这是因为,有的产品的开发先于标准的公布,另外,各产品开发商为了到达特殊的性能或新的特性,需要对标准进行扩展。现在已有100多种遍布在从微机到大型机上的数据库产品SQL,其中包括DB2、SQL/DS、ORACLE、INGRES、SYSBASE、SQLSERVER、DBASEⅣ、PARADOX、MICROSOFTACCESS等。SQL语言根本上独立于数据库本身、使用的机器、网络、操作系统,基于SQL的DBMS产品可以运行在从个人机、工作站到基于局域网、小型机和大型机的各种计算机系统上,具有良好的可移植性。可以看出标准化的工作是很有意义的。早在1987年就有些有识之士预测SQL的标准化是“一场革命〞,是“关系数据库管理系统的转折点〞。数据库和各种产品都使用SQL作为共同的数据存取语言和标准的接口,使不同数据库系统之间的互操作有了共同的根底,进而实现异构机、各种操作环境的共享与移植1974年,在IBM公司圣约瑟研究实验室研制的大型关系数据库管理系统SYSTEMR中,使用SEQUEL语言〔由BOYCE和CHAMBERLIN提出〕,后来在SEQUEL的根底上开展了SQL语言。SQL语言是一种交互式查询语言,允许用户直接查询存储数据,但它不是完整的程序语言,如它没有DO或FOR类似的循环语句,但它可以嵌入到另一种语言中,也可以借用VB、C、JAVA等语言,通过调用级接口〔CALLLEVELINTERFACE〕直接发送到数据库管理系统。SQL根本上是域关系演算,但可以实现关系代数操作。4基于android的平台移动客户关系管理系统的设计与实现4.1数据库主要表和字段介绍表4.1表名〔五号〕数据库名称crmdb.db表名Client主键_id序号工程名称工程说明类型位数属性备注1_id编号integerP,N2clientname客户名称vachar200N3linkman联系人vachar100N4phonevachar100N5email电子邮箱vachar200N6address地址vachar2004.2系统结构设计该系统分为5个模块,包括客户信息的查询,客户信息的添加,客户信息的删除,客户信息的修改,客户信息的查看。4.3系统各功能的截图及相关布局代码每个截图都要有文字说明,如实现哪些功能、如何操作,再附关键代码。客户关系管理系统图标〔界面〕图4.1图名〔图要居中,下同〕4.3.2客户信息查询不要有空行,下同 图4.2图4.3客户信息查询布局文件:<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="://schemas.android/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="20dip"android:layout_marginRight="20dip"android:gravity="left"android:text="@string/dialogclientname"android:textAppearance="?android:attr/textAppearanceMedium"/><EditTextandroid:id="@+id/dialog_clientname"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginLeft="20dip"android:layout_marginRight="20dip"android:autoText="false"android:capitalize="none"android:gravity="fill_horizontal"android:hint="联系人"android:scrollHorizontally="true"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="20dip"android:layout_marginRight="20dip"android:gravity="left"android:text="@string/dialoglinkman"android:textAppearance="?android:attr/textAppearanceMedium"/><EditTextandroid:id="@+id/dailog_linkman"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="20dip"android:layout_marginRight="20dip"android:autoText="false"android:capitalize="none"android:gravity="fill_horizontal"android:hint="联系人"android:scrollHorizontally="true"android:textAppearance="?android:attr/textAppearanceMedium"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="20dip"android:layout_marginRight="20dip"android:gravity="left"android:text="@string/dialogphone"android:textAppearance="?android:attr/textAppearanceMedium"/><EditTextandroid:id="@+id/dailog_phone"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="20dip"android:layout_marginRight="20dip"android:autoText="false"android:capitalize="none"android:gravity="fill_horizontal"android:hint=""android:scrollHorizontally="true"android:textAppearance="?android:attr/textAppearanceMedium"/></LinearLayout>4.3.3客户信息添加图客户信息删除图客户信息修改图4.6客户信息修改布局文件:<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="://schemas.android/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="match_parent"android:orientation="vertical"><TextViewandroid:id="@+id/txt_clientname"android:layout_width="wrap_content"android:layout_height="match_parent"android:text="@string/dialogclientname"android:layout_marginLeft="20dip"/><TextViewandroid:id="@+id/clientNameDatail"android:layout_width="wrap_content"android:layout_height="match_parent"android:layout_marginLeft="30dip"/></LinearLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="match_parent"android:orientation="horizontal"><TextViewandroid:id="@+id/txt_linkman"android:layout_width="wrap_content"android:layout_height="match_parent"android:text="@string/dialoglinkman"android:layout_marginLeft="20dip"/><TextViewandroid:id="@+id/linkManDatail"android:layout_width="wrap_content"android:layout_height="match_parent"android:layout_marginLeft="30dip"/></LinearLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="match_parent"android:orientation="horizontal"><TextViewandroid:id="@+id/txt_phone"android:layout_width="wrap_content"android:layout_height="match_parent"android:text="@string/dialogphone"android:layout_marginLeft="20dip"/><TextViewandroid:id="@+id/PhoneDatail"android:layout_width="wrap_content"android:layout_height="match_parent"android:layout_marginLeft="30dip"/></LinearLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="match_parent"android:orientation="horizontal"><TextViewandroid:id="@+id/txt_email"android:layout_width="wrap_content"android:layout_height="match_parent"android:text="@string/dialogemail"android:layout_marginLeft="20dip"/><TextViewandroid:id="@+id/EmailDatail"android:layout_width="wrap_content"android:layout_height="match_parent"android:layout_marginLeft="30dip"/></LinearLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="match_parent"android:orientation="vertical"><TextViewandroid:id="@+id/txt_address"android:layout_width="wrap_content"android:layout_height="match_parent"android:text="@string/dialogaddress"android:layout_marginLeft="20dip"/><TextViewandroid:id="@+id/AddressDatail"android:layout_width="wrap_content"android:layout_height="match_parent"android:layout_marginLeft="30dip"/></LinearLayout></LinearLayout>4.3.6客户信息查看图4.74.4实现系统各具体功能的相关类〔这一节的内容最好都删除〕4.4.1SQLiteOpenHelper类〔注意格式〕SQLiteOpenHelper是个抽象类,在该类中有如下两个抽象方法,SQLiteOpenHelper的子类必须实现这两个方法。publicabstractvoidonCreate(SQLiteDatabasedb);publicabstractvoidonUpdate(SQLiteDatabasedb,intoldVersion,intnewVersion);SQLiteOpenHelper会自动检测数据库文件是否存在。如果存在,会翻开这个数据库,在这种情况下就不会调用onCreate()方法。如果数据库文件不存在,SQLiteOpenHelper首先会创立一个数据库文件,然后翻开这个数据库,最后调用onCreate()方法。因此,onCreate()方法一般用来在新创立的数据库中建立表、视图等数据库组建。也就是说oncreate()方法在数据库文件第一次创立时调用。先看看SQLiteOpenHelper类的构造方法再解释onUpdate()方法何时会被调用。publicSQLiteOpenHelper(Contextcontext,Stringname,CursorFactoryfactory,intversion);其中name参数表示数据库文件名〔不包括文件路径〕,SQLiteOpenHelper会根据这个文件名创立数据库文件。version表示数据库的版本号。如果当前传入的数据库版本号比上次创立或升级的版本号高,SQLiteOpenHelper就会调用onUpdate()方法。也就是说,当数据库第一次创立时会有一个初始的版本号。当需要对数据库中的表、视图等组建升级时可以增大版本号,再重新创立它们。现在总结一下oncreate()和onUpdate()调用过程。1.如果数据库文件不存在,SQLiteOpenHelper在自动创立数据库后会调用oncreate()方法,在该方法中一般需要创立表、视图等组件。在创立前数据库一般是空的,因此不需要先删除数据库中相关的组件。2.如果数据库文件存在,并且当前版本号高于上次创立或升级的版本号,SQLiteOpenHelper会调用onUpdate()方法,调用该方法后会更新数据库的版本号。在onupdate()方法中除了创立表、视图等组件外,还需要先删除这些相关的组件,因此,在调用onupdate()方法前,数据库是存在的,里面复原许多数据库组建。综合上述两点,可以得出一个结论。如果数据库文件不存在,只有oncreate()被调用〔该方法在创立数据库时被调用一次〕。如果数据库文件存在,会调用onupdate()方法升级数据库,并更新版本号。4.4.2ContentProvider类当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如:采用文件方式对外共享数据,需要进行文件操作读写数据;采用sharedpreferences共享数据,需要使用sharedpreferencesAPI读写数据。而使用ContentProvider共享数据的好处是统一了数据访问方式。4.4.3Uri类Uri代表了要操作的数据,Uri主要包含了两局部信息:1.需要操作的ContentProvider,2.对ContentProvider中的什么数据进行操作,一个Uri由以下几局部组成:1.scheme:ContentProvider〔内容提供者〕的scheme已经由Android所规定为:content://。2.主机名〔或Authority〕:用于唯一标识这个ContentProvider,外部调用者可以根据这个标识来找到它。3.路径〔path〕:可以用来表示我们要操作的数据,路径的构建应根据业务而定,如下:要操作contact表中id为10的记录,可以构建这样的路径:/contact/10要操作contact表中id为10的记录的name字段,contact/10/name要操作contact表中的所有记录,可以构建这样的路径:/contact要操作的数据不一定来自数据库,也可以是文件等他存储方式,如下:要操作xml文件中contact节点下的name节点,可以构建这样的路径:/contact/name如果要把一个字符串转换成Uri,可以使用Uri类中的parse()方法,如下:Uriuri=Uri.parse("content://vider.contactprovider/contact")4.4.4UriMatcher、ContentUrist和Con
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村门窗合同范本
- 现代企业创新管理模式的发展趋势与实践
- 农田外包合同范本
- 公寓降价续租合同范本
- 伐木工劳务合同范本
- 农村塑料收购合同范本
- 订婚宴致辞(集合15篇)
- 从个人手购房合同范本
- 科技助力下的老年人身体康复训练
- 人工草地流转合同范例
- 部编版三年级下册语文第一单元教材解读PPT课件
- 【2022】154号文附件一:《江苏省建设工程费用定额》(2022年)营改增后调整内容[10页]
- 二年级剪窗花
- 分子生物学在医药中的研究进展及应用
- 《对折剪纸》)ppt
- 03SG520-1实腹式钢吊车梁(中轻级工作制A1~A5_Q235钢_跨度6.0m、7.5m、9.0m)
- 以虚报注册资本、虚假出资、抽逃出资为由对实行认缴资本登记制的公司进行处罚无法律依据
- 风电场生产运营准备大纲11.14
- 人教版八年级语文下册教材研说
- 《机械制造装备设计》ppt课件
- 中学家访记录大全100篇 关于中学家访随笔
评论
0/150
提交评论