王曉東
摘 要:本文介紹了汽車4S店?duì)I銷管理系統(tǒng)服務(wù)器端的設(shè)計(jì),以及實(shí)現(xiàn)的過(guò)程。服務(wù)器端實(shí)現(xiàn)了數(shù)據(jù)的傳輸以及對(duì)數(shù)據(jù)庫(kù)的操作,將Android客戶端和PC端聯(lián)系起來(lái),形成一個(gè)共同協(xié)作的整體。
關(guān)鍵詞:營(yíng)銷管理系統(tǒng);數(shù)據(jù)庫(kù);服務(wù)器端
一、需求分析
隨著經(jīng)濟(jì)的快速發(fā)展和人民生活水平的日益提高,中國(guó)已成為世界上最大的汽車生產(chǎn)和消費(fèi)地區(qū)。汽車廠商適時(shí)推出4S店業(yè)務(wù)模式,有助于提升汽車品牌的知名度,以及塑造汽車生產(chǎn)企業(yè)的形象。設(shè)計(jì)汽車4S店?duì)I銷管理系統(tǒng)的主要目的是,降低成本、改善服務(wù)質(zhì)量以及方便管理。經(jīng)過(guò)對(duì)汽車4S店的調(diào)研,并與工作人員進(jìn)行細(xì)致的交流和溝通之后,總結(jié)出系統(tǒng)功能分別涉及PC端、Android客戶端和服務(wù)器端,其中服務(wù)器端的功能主要有收發(fā)數(shù)據(jù)和操作數(shù)據(jù)庫(kù)。服務(wù)器端利用服務(wù)主線程循環(huán)接收Android客戶端傳過(guò)來(lái)的數(shù)據(jù),經(jīng)過(guò)處理之后發(fā)送給PC端,三方形成一個(gè)共同協(xié)作的整體。利用數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)進(jìn)行有效管理,服務(wù)器端根據(jù)Android客戶端和PC端發(fā)過(guò)來(lái)的請(qǐng)求,調(diào)用相應(yīng)的方法。通過(guò)這些方法對(duì)數(shù)據(jù)庫(kù)進(jìn)行相應(yīng)的操作,從而保證數(shù)據(jù)的實(shí)時(shí)有效。
二、數(shù)據(jù)庫(kù)設(shè)計(jì)
開(kāi)發(fā)汽車4S店?duì)I銷管理系統(tǒng)之前,做好數(shù)據(jù)庫(kù)的分析和設(shè)計(jì)是非常必要的。后臺(tái)數(shù)據(jù)庫(kù)采用MySQL,開(kāi)發(fā)時(shí)使用Navicat for MySQL實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作。該系統(tǒng)總共包括8張表,分別為汽車車系表、汽車車型表、汽車新聞表、汽車4S店經(jīng)銷商表、汽車4S店企業(yè)文化表、意見(jiàn)反饋信息表、汽車車型圖片表和管理人員信息表。以汽車4S店經(jīng)銷商表為例,介紹數(shù)據(jù)庫(kù)表的結(jié)構(gòu)。汽車4S店經(jīng)銷商表用于管理不同的經(jīng)銷商信息,該表有6個(gè)字段,分別為省份ID、所屬省份名、汽車4S店ID、公司名稱、公司地址和聯(lián)系方式。其中汽車4S店ID是主鍵,原則上一個(gè)城市只設(shè)置一個(gè)汽車4S店。建立該表的SQL語(yǔ)句如下:
create table agency(
proid char(10),
pro varchar(10),
cityid char(10) primary key,
name varchar(40),
address varchar(80),
tel varchar(15)
);
三、服務(wù)器端設(shè)計(jì)
服務(wù)器端主要用來(lái)實(shí)現(xiàn)Android客戶端、PC端與數(shù)據(jù)庫(kù)的連接,從而實(shí)現(xiàn)其對(duì)數(shù)據(jù)庫(kù)的操作。服務(wù)主線程接收Android客戶端和PC端發(fā)來(lái)的請(qǐng)求,并將其交給代理線程處理。代理線程通過(guò)調(diào)用DB處理類中的方法對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,然后將操作結(jié)果通過(guò)流反饋給Android客戶端或者PC端。服務(wù)主線程類ServerThread是服務(wù)器端最重要的一部分,也是實(shí)現(xiàn)服務(wù)器功能的基礎(chǔ)。相關(guān)代碼如下:
public class ServerThread extends Thread{
ServerSocket ss;
public void run() {
try{
ss=new ServerSocket(8888);
while(Constant.flag){
Socket sc=ss.accept();
new ServerAgentThread(sc).start();
}}catch(Exception e){
? ?e.printStackTrace();
}}
…………
new ServerThread().start();
}}
DBUtil是服務(wù)器端一個(gè)很重要的類,它包括了所有Android客戶端和PC端需要的方法。通過(guò)與數(shù)據(jù)庫(kù)建立連接之后,執(zhí)行SQL語(yǔ)句得到相關(guān)信息,然后把它轉(zhuǎn)換成相應(yīng)的格式。相關(guān)代碼如下:
public class DBUtil{
public static Connection getConnection(){
? Connection con=null;
try{
? Class.forName(“org.gjt.mm.mysql.Driver”);
…………
}
public static String getQuestionList(String android_id){
Connection con=getConnection();
Statement st= null;
ResultSet rs= null;
String mess=“”;
try{
? ? st=con.createStatement();
…………
rs=st.executeQuery(sql);
…………
}
四、結(jié)語(yǔ)
服務(wù)器端的設(shè)計(jì)除了上述主線程類和DBUtil類之外,還有圖片處理類和輔助工具類。經(jīng)過(guò)調(diào)試之后,服務(wù)器端運(yùn)行狀態(tài)平穩(wěn),可以實(shí)現(xiàn)收發(fā)數(shù)據(jù)和操作數(shù)據(jù)庫(kù)等功能。
參考文獻(xiàn):
[1] 吳亞峰. Android應(yīng)用案例開(kāi)發(fā)大全(第4版)[M].北京:人民郵電出版社, 2018.