您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > Android移动平台的客户关系管理系统
第1页共43页Android实训项目教程第2页共43页第1章基于Android移动平台的客户关系管理系统本章重点Android布局Activity与Activity之间的跳转ListView控件和CursorAdapter使用Android对话框SQLite数据库ContentProvider使用第3页共43页1.1实训目的通过这个项目的学习,使学员掌握Android平台中的ListView、Activity、Activity的跳转、Button、TextView、EditView、Adatper和Dialog等有关UI技术,熟悉嵌入式数据库SQLite、以及Android的数据持久化技术SQLiteOpenHelper和ContentProvider等技术,并能掌握adb等Android调试工具的使用。此外,通过完成一个完整的项目使学员了解软件开发周期过程、UML常用元素的含义,更能够增强学员的团队合作精神,培养学员的沟通能力,学会自我管理。1.2项目任务概述1.2.1项目背景随着移动设备处理能力的增强,用户手机中存放客户信息已是可能,3G版CRM(客户关系管理)能够在手机中存放客户信息,使用方便,节省时间,保密性强,携带方便。我们可以在任何时间地点查找客户信息,做到随时掌握客户信息。1.2.2项目任务本项目实现在Android移动设备上管理客户信息。由于是移动设备,所以使用起来方便快捷,可以随时随地的查找客户,查看相应的客户信息,也可以随时随地的添加客户信息,并对客户信息进行修改。客户信息存放在手机内的SQLite嵌入式数据库内。1.3需求分析用户可以使用该系统实现客户信息的查询,增加,修改和删除,客户信息查看。第4页共43页1.3.1总体用例图客户信息查询客户信息修改用户客户信息删除客户信息添加客户信息查看图11.3.2客户信息查询用例图客户信息查询用户图2第5页共43页1.3.3客户信息查询业务流程点击桌面图标进入系统回到系统选择查询菜单弹出条件输入对话框输入条件(客户名称、联系人和电话)点击查询显示查询结果图3用户通过点击桌面CRM图标进入客户关系管理系统,进入系统需要查询所有客户信息列表。查询功能是在这个列表页面点击“查询”菜单进入的,弹出条件输入对话框,在这个对话框中我们可以输入“客户名称”、“联系人”和“电话”进行查询,这三个条件都是进行的模糊查询,并且是“与”关系。点击对话框“确定”则进行查询,并将查询的结果显示在列表页面,如果没有符合条件的数据则显示原来书籍列表信息。点击对话框“取消”则不进行查询,并保留原来的客户信息在列表页面中。第6页共43页1.3.4客户信息添加用例图用户客户信息添加图41.3.5客户信息添加业务流程点击桌面图标进入系统回到系统选择添加菜单跳转到添加页面输入客户信息点击添加返回列表页面图5用户通过点击桌面CRM图标进入客户关系管理系统,进入系统需要查询所有客第7页共43页户信息列表。添加功能是在这个列表页面点击“添加”菜单进入的,页面跳转到客户信息添加页面,在这个添加页面中我们可以输入“客户名称”、“联系人”、“电话”、“E-mail”、“传真”和“地址”信息,输入完成后点击“确定”按钮,可以将客户信息插入到数据库中,返回到列表页面,并将查询的结果显示在列表页面。如果点击“取消”按钮返回到列表页面。1.3.6客户信息删除用例图用户客户信息删除图6第8页共43页1.3.7客户信息删除业务流程点击桌面图标进入系统回到系统选择X条客户信息长按弹出客户删除对话框选择删除客户项目删除选择的客户返回列表页面图7用户通过点击桌面CRM图标进入客户关系管理系统,进入系统需要查询所有客户信息列表。删除功能是在这个列表页面中,选择XX客户信息长按事件,弹出一个“修改”和“删除”操作选择对话框。选择“删除”选项,删除数据库中的客户信息,返回列表页面并进行查询。第9页共43页1.3.8客户信息修改用例图客户信息修改用户图8第10页共43页1.3.9客户信息修改业务流程点击桌面图标进入系统回到系统选择X条客户信息长按弹出客户修改对话框选择修改客户项目修改选择的客户返回列表页面图9用户通过点击桌面CRM图标进入客户关系管理系统,进入系统需要查询所有客户信息列表。修改功能是在这个列表页面中,选择XX客户信息长按事件,弹出一个“修改”和“删除”操作选择对话框。选择“修改”选项,修改数据库中的客户信息,返回列表页面并进行查询。第11页共43页1.3.10客户信息查看用例图用户客户信息查看图10第12页共43页1.3.11客户信息查看业务流程点击桌面图标进入系统回到系统选择X条客户信息短按弹出客户查看对话框点击关闭按钮返回列表页面图11用户通过点击桌面CRM图标进入客户关系管理系统,进入系统需要查询所有客户信息列表。阅读功能是在这个列表页面中,选择XX客户信息短按事件,弹出一个客户信息查看对话框。点击“关闭”按钮关闭对话框,返回列表页面。第13页共43页1.4系统设计1.4.1客户信息查询UI——列表页面示意图图12图131.4.2客户信息查询UI——列表页面项目说明1.ListView控件:每个ListView项中包含三个TextView控件,即“客户名称”、“联系人”和“电话”,“客户名称”控件字体大小20dip、“联系人”控件字体大小15dip和“电话”控件字体大小15dip。2.Menu控件:有两个菜单项,即“查询”和“添加”。第14页共43页1.4.3客户信息查询UI——查询对话框示意图图141.4.4客户信息查询UI——查询对话框项目说明1.Dailog控件:用户点击“查询”菜单则弹出“查询”对话框,包括:“客户名称”TextView、“客户名称”EditView、“联系人”TextView、“联系人”EditView控件、“电话”TextView、“电话”EditView控件,“确定”按钮和“取消”按钮。1.4.5客户信息查询类图第15页共43页Activity(app)CRMListActivity-++---TAGADD_MENU_IDFIND_MENU_IDlistViewcursorsca:String:int:int:ListView:Cursor:CursorAdapter=CRMListActivity=Menu.FIRST=Menu.FIRST+1+++--onCreate(BundlesavedInstanceState)onCreateOptionsMenu(Menumenu)onOptionsItemSelected(MenuItemitem)findAll()findByInfo(Stringclientname,Stringlinkman,Stringphone):void:boolean:boolean:void:void图15列表页面Activity(CRMListActivity)需要继承android.app.Activity,并重写onCreate、onCreateOptionsMenu和onOptionsItemSelected。onCreate方法是列表页面的初始化方法,在这个方法中我们要初始化页面中用到的ListView等控件信息。onCreateOptionsMenu方法是列表页面中初始化菜单信息。onOptionsItemSelected方法是列表页面中处理菜单点击事件。findAll方法是查询所有客户信息方法,该方法为私有方法。findByInfo方法是按照条件查询符合条件有客户信息方法,参数是clientname(客户名称)、linkman(联系人)和phone(电话)都是String类型,该方法为私有方法。第16页共43页dbheplerDBHelper-TAG:String=DBHelper+++ConstructorDBHelper(Contextcontext)onCreate(SQLiteDatabasedb)onUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion):void:voidSQLiteOpenHelper(sqlite)DataProvider*dbhepler:SQLiteOpenHelper++++++onCreate()getType(Uriuri)insert(Uriuri,ContentValuesvalues)delete(Uriuri,Stringwhere,StringwhereArgs[])query(Uriuri,Stringprojection[],Stringselection,StringselectionArgs[],StringsortOrder)update(Uriuri,ContentValuesvalues,Stringselection,StringselectionArgs[]):boolean:String:Uri:int:Cursor:intContentProvider(content)图16图1.5的类图反映的是数据持久化部分的类图,事实上这部分类在客户信息删除、修改和添加等模块也都使用,在其它模块介绍中就不再介绍这些类了。DBHelper类是数据库帮助类继承SQLiteOpenHelper类,在这个类中我们可以创建数据库中的表,当数据库版本变化的时候,可以删除旧版本的表再建立新版本的表。DBHelper方法是一个构造方法。onCreate方法是数据库的初始化方法,在这个方法中我们要初始化数据库中用到的表。onUpgrade方法是数据库的更新方法,在这个方法中我们要比较数据库版本是否变化,如果数据库版本变化了则删除数据库中的表,再重建表。DataProvider类是数据库操作类继承ContentProvider,在这个类中我们可以对数据库中的表实现CRUD(增加、查询、更新和删除)操作。onCreate方法是数据库操作类的初始化方法,在这个方法中我们要DBHelper类,以备在CRUD操作中使用。getType返回ContentProvider的数据类型。insert插入数据方法。delete删除数据方法。query查询数据方法。update更新数据方法。第17页共43页1.4.6客户信息添加UI——添加页面示意图图17图181.4.7客户信息添加UI——添加页面项目说明1.“客户名称”TextView控件,默认字体大小。2.“客户名称”EditView控件,默认字体大小。3.“联系人”TextView控件,默认字体大小和样式。4.“联系人”EditView控件,默认字体大小和样式。5.“电话”TextView控件,默认字体大小和样式。6.“电话”EditView控件,默认字体大小和样式。7.“E-mail”TextView控件,默认字体大小。8.“E-mail”EditView控件,默认字体大小。9.“地址”TextView控件,默认字体大小和样式。10.“地址”EditView控件,默认字体大小和样式。11.“确定”按钮,默认字体大小和样式。12.“取消”按钮,默认字体大小和样式。第18页共43页1.4.8客户信息添加类图CRMAddActivity--------txtclientnametxtlinkmantxtphonetxtemailtxtfaxphonetxtaddressbtnOkbtnCancel:EditText:EditText:EditText:EditText:EditText:EditText:Button:Button+onCreate(BundlesavedInstanceState):voidActivity(app)图19添加页面Activity(CRMAddActivity)需要继承android.app.Activity,并重写onCreate。onCreate方法是添加页面的初始化方法,在这个方法中我们要初始化页面中用到的Tex
本文标题:Android移动平台的客户关系管理系统
链接地址:https://www.777doc.com/doc-3414 .html