服务外包技术路线及实现方案.docx

上传人:b****6 文档编号:15725911 上传时间:2023-07-07 格式:DOCX 页数:18 大小:154.42KB
下载 相关 举报
服务外包技术路线及实现方案.docx_第1页
第1页 / 共18页
服务外包技术路线及实现方案.docx_第2页
第2页 / 共18页
服务外包技术路线及实现方案.docx_第3页
第3页 / 共18页
服务外包技术路线及实现方案.docx_第4页
第4页 / 共18页
服务外包技术路线及实现方案.docx_第5页
第5页 / 共18页
服务外包技术路线及实现方案.docx_第6页
第6页 / 共18页
服务外包技术路线及实现方案.docx_第7页
第7页 / 共18页
服务外包技术路线及实现方案.docx_第8页
第8页 / 共18页
服务外包技术路线及实现方案.docx_第9页
第9页 / 共18页
服务外包技术路线及实现方案.docx_第10页
第10页 / 共18页
服务外包技术路线及实现方案.docx_第11页
第11页 / 共18页
服务外包技术路线及实现方案.docx_第12页
第12页 / 共18页
服务外包技术路线及实现方案.docx_第13页
第13页 / 共18页
服务外包技术路线及实现方案.docx_第14页
第14页 / 共18页
服务外包技术路线及实现方案.docx_第15页
第15页 / 共18页
服务外包技术路线及实现方案.docx_第16页
第16页 / 共18页
服务外包技术路线及实现方案.docx_第17页
第17页 / 共18页
服务外包技术路线及实现方案.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

服务外包技术路线及实现方案.docx

《服务外包技术路线及实现方案.docx》由会员分享,可在线阅读,更多相关《服务外包技术路线及实现方案.docx(18页珍藏版)》请在冰点文库上搜索。

服务外包技术路线及实现方案.docx

服务外包技术路线及实现方案

移动外勤系统Mobile-Manager

项目解决方案

--------S2C技术路线及实现方案

 

移动外勤系统Mobile-Manager

 

 

1.技术路线

1.1系统流程图

根据Android公众具体的功能实现过程画出了系统流程图,可以清晰明了地展示整个系统接收消息、处理消息和发送消息的操作流程。

系统流程图(图1.2)主要介绍整个系统工作的过程,从用户发送消息,到最后用户接收到返回的消息,这个过程通过流程图来描绘,清晰明了。

整个系统的实现充分体现出的用户交互友好性。

将消息发送到服务器端,服务器端通过数据传输将消息发送回我们的手机上,然后手机对详细进行处理,返回消息到手机平台再到用户手里的过程。

1.1.1平台系统流程图

图1.1整体系统流程图

1.2Android手机功能菜单和Android手机功能关键词列表

Android手机菜单包含了12项功能,功能具体如表1.1

主菜单

子菜单

功能

客户

客户拜访

前往拜访客户,与客户交谈商议签的预约

客户评价

在拜访客户后,由客户评价工作人员

客户管理

不同的客户进行分类管理

任务

任务发送

在任务无法完成情况将任务挂在服务器上,交由其他工作人员帮助完成

任务接收

接收挂在服务器上的任务,帮助他人完成任务

任务查看

查看已经挂在网上的任务

个人管理

个人中心

登陆后查看自己信息

公司公告

从服务器端获取公司内部公告消息

企业通讯录

独立出来的可添加删除的通讯录

GPS定位

用于定位员工位置与行程

个人签到

在GPS定位开启下使用,帮助公司更好管理员工上班行程

出差登记

用于申请出差,简洁方便

表1.1系统功能表

1.3Web浏览器功能菜单和Web浏览器功能关键词列表

Web浏览器菜单包含了12项功能,功能具体如表1.1

主菜单

子菜单

功能

管理员

管理员登陆

与数据库连接进行登陆

管理用户

对工作人员进行信息管理

添加用户

对新进的员工进行信息添加

查询用户

查询某一用户

表1.2Web管理员功能表

图1.2web端后台管理

主菜单

子菜单

功能

用户

用户登陆

在管理员限制下与数据库连接登陆

任务

任务发布接收

Android手机上传的任务进行管理

公告

公司公告

发布公司公告

出差登记

出差

获取员工发送的出差申请,选择同意与否

表1.3Web用户功能表

2.实现方案

2.1Android手机主界面功能实现

2.1.1主界面菜单功能的实现

要设置Android手机的菜单,在手机内部进行页面切换,用Tab分页,然后通过listview和list.add添加跳转功能进入功能实现页面。

功能代码如下:

publicclassMainextendsTabActivity{

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.denglu);

TabHosttabHost=getTabHost();

TabSpectabSpec1=tabHost.newTabSpec("tab1");

tabSpec1.setIndicator("客户");

Intentintent1=newIntent(this,One.class);

tabSpec1.setContent(intent1);

tabHost.addTab(tabSpec1);

TabSpectabSpec2=tabHost.newTabSpec("tab2");

tabSpec2.setIndicator("任务");

Intentintent2=newIntent(this,Two.class);

tabSpec2.setContent(intent2);

tabHost.addTab(tabSpec2);

TabSpectabSpec3=tabHost.newTabSpec("tab3");

tabSpec3.setIndicator("个人");

Intentintent3=newIntent(this,Three.class);

tabSpec3.setContent(intent3);

tabHost.addTab(tabSpec3);

}

}

publicclassThreeextendsActivity{

privateListViewmylistview;

privateArrayListlist=newArrayList();

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.tab03);

mylistview=(ListView)findViewById(R.id.listview);

list.add("个人中心");

list.add("公司公告");

list.add("企业通讯录");

list.add("GPS定位");

list.add("个人签到");

list.add("出差登记");

ArrayAdaptermyArrayAdapter=newArrayAdapter

(this,android.R.layout.simple_list_item_1,list);

mylistview.setAdapter(myArrayAdapter);

mylistview.setOnItemClickListener(newOnItemClickListener(){

@Override

publicvoidonItemClick(AdapterView

>arg0,Viewarg1,intarg2,

longarg3){

//TODOAuto-generatedmethodstub

if(list.get(arg2).equals("个人中心"))

{

Intentintent=newIntent();

intent.setClass(Three.this,ContactsManager.class);

startActivity(intent);}

if(list.get(arg2).equals("公司公告")){

Intentintent=newIntent();

intent.setClass(Three.this,ContactsManager.class);

startActivity(intent);

}

if(list.get(arg2).equals("企业通讯录"))

{

Intentintent=newIntent();

intent.setClass(Three.this,ContactsManager.class);

startActivity(intent);

}

if(list.get(arg2).equals("GPS定位"))

{

Intentintent=newIntent();

intent.setClass(Three.this,ContactsManager.class);

startActivity(intent);

}

if(list.get(arg2).equals("个人签到"))

{

Intentintent=newIntent();

intent.setClass(Three.this,GPS.class);

startActivity(intent);

}

if(list.get(arg2).equals("出差登记"))

{

Intentintent=newIntent();

intent.setClass(Three.this,ContactsManager.class);

startActivity(intent);

}

}

});

}

}

图2.1公众号主界面

2.1.2获取企业通讯录功能的实现

企业通讯录就是手机内部储存数据库,手工录入电话号码等信息

功能代码函数:

publicclassContactsManagerextendsExpandableListActivity{

publicstaticfinalStringTAG="ContactsManager";

privateContactsManagerDBAdaptercontactsManagerDbAdapter;

intgroupNameIndex;

privateMyCursrTreeAdaptermyCursorTreeAdapter;

Viewview;

PopupWindowpop;

Buttonsms;

ButtonbtnCall;

//缓存除了所选联系人所在组的所有组,用在移动联系人上

Stringgroups[];

//缓存用户所在的组,用在移动联系人上

StringmygroupName;

//长按分组上的菜单

publicstaticfinalintMENU_GROUP_ADD=Menu.FIRST;

publicstaticfinalintMENU_GROUP_DELETE=Menu.FIRST+1;

publicstaticfinalintMENU_GROUP_MODIFY=Menu.FIRST+2;

publicstaticfinalintMENU_GROUP_ADDCONTACT=Menu.FIRST+3;

//长按联系人菜单

publicstaticfinalintMENU_CONTACTS_DELETE=Menu.FIRST;

publicstaticfinalintMENU_CONTACTS_MODIFY=Menu.FIRST+1;

publicstaticfinalintMENU_CONTACTS_MOVE=Menu.FIRST+2;

//联系人各个字段索引

privatestaticfinalinticon_index=1;

privatestaticfinalintname_index=2;

privatestaticfinalintdescription_index=3;

privatestaticfinalinttelPhone_index=4;

privatestaticfinalintemail_index=5;

//组上groupName字段索引

privatestaticfinalintgroupName_index=1;

CursorgroupCursor;

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.contactsmanager);

getExpandableListView().setBackgroundResource(R.drawable.default_bg);

registerForContextMenu(getExpandableListView());

contactsManagerDbAdapter=newContactsManagerDBAdapter(this);

contactsManagerDbAdapter.open();

initMyAdapter();

initPopupWindow();

getExpandableListView().setCacheColorHint(0);//拖动时避免出现黑色

getExpandableListView().setDivider(null);//去掉每项下面的黑线(分割线)

//自定义下拉图标

getExpandableListView().setGroupIndicator(getResources().getDrawable(R.anim.expander_ic_folder));

}

privatevoidinitPopupWindow()

{

view=this.getLayoutInflater().inflate(R.layout.popup_window,null);

pop=newPopupWindow(view,ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT);

pop.setOutsideTouchable(true);

sms=(Button)view.findViewById(R.id.btnsms);

btnCall=(Button)view.findViewById(R.id.btnCall);

}

//给适配器赋值,刷新界面的时候也会用到

publicvoidinitMyAdapter(){

groupCursor=contactsManagerDbAdapter.getAllGroups();

startManagingCursor(groupCursor);

//getthegroupNamecolumnindex

groupNameIndex=groupCursor.getColumnIndexOrThrow("groupName");

//setmyadapter

myCursorTreeAdapter=newMyCursrTreeAdapter(

groupCursor,

this,

true

);

setListAdapter(myCursorTreeAdapter);

}

publicclassMyCursrTreeAdapterextendsCursorTreeAdapter{

publicMyCursrTreeAdapter(Cursorcursor,Contextcontext,

booleanautoRequery){

super(cursor,context,autoRequery);

}

@Override

protectedvoidbindGroupView(Viewview,Contextcontext,Cursorcursor,

booleanisExpanded){

//TODOAuto-generatedmethodstub

Log.v(TAG,"bindGroupView");

TextViewgroupName=(TextView)view.findViewById(R.id.groupName);

Stringgroup=cursor.getString(groupName_index);

groupName.setText(group);

TextViewgroupCount=(TextView)view.findViewById(R.id.groupCount);

intcount=contactsManagerDbAdapter.getCountContactByGroupName(group);

groupCount.setText("["+count+"]");

}

图2.1企业通讯录

 

2.1.3GPS定位的实现

GPS定位是通过XX地图实现,可以实时显示外勤人员的地址,经纬度以及高度,实时数据传输。

功能代码函数:

publicclassGPSextendsMapActivity{

//添加XX地图的相关控件

privateMapViewmapView;

privateBMapManagerbMapManager;//加载地图的引擎

//XX地图的key

privateStringkeyString="A270F85CD72A01E8519A9677A75FB4016ED9A5A3";

//在XX地图上添加一些控件,比如是放大缩小的控件

privateMapControllermapController;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.gps);

mapView=(MapView)this.findViewById(R.id.bmapView);

bMapManager=newBMapManager(GPS.this);

//必须加载key

bMapManager.init(keyString,newMKGeneralListener(){

@Override

publicvoidonGetPermissionState(intarg0){

//TODOAuto-generatedmethodstub

if(arg0==300){

Toast.makeText(GPS.this,"输入的key有错!

请核实!

",1).show();

}

}

@Override

publicvoidonGetNetworkState(intarg0){

//TODOAuto-generatedmethodstub

}

});

this.initMapActivity(bMapManager);

mapView.setBuiltInZoomControls(true);//可以设置缩放功能

mapController=mapView.getController();

mapController.setZoom(12);

//需要定义一个经纬度

mapView.getOverlays().add(newMyOverLay());

}

publicclassMyOverLayextendsOverlay{

//构建在地图上的一个点

privatePaintpaint=newPaint();

@Override

publicvoiddraw(Canvasarg0,MapViewarg1,booleanarg2){

super.draw(arg0,arg1,arg2);

Pointpoint=mapView.getProjection().toPixels(geoPoint,null);

arg0.drawText("*所在地",point.x,point.y,paint);

}

}

@Override

protectedvoidonDestroy(){

super.onDestroy();

if(bMapManager!

=null){

bMapManager.destroy();

bMapManager=null;

}

}

@Override

protectedvoidonResume(){

super.onResume();

if(bMapManager!

=null){

bMapManager.start();

}

}

@Override

protectedvoidonPause(){

super.onPause();

if(bMapManager!

=null){

bMapManager.stop();

}

}

@Override

protectedbooleanisRouteDisplayed(){

//TODOAuto-generatedmethodstub

returnfalse;

}

}

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

当前位置:首页 > 医药卫生 > 药学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2