王曉東
摘 要:本文介紹了汽車4S店營銷管理系統服務器端的設計,以及實現的過程。服務器端實現了數據的傳輸以及對數據庫的操作,將Android客戶端和PC端聯系起來,形成一個共同協作的整體。
關鍵詞:營銷管理系統;數據庫;服務器端
一、需求分析
隨著經濟的快速發展和人民生活水平的日益提高,中國已成為世界上最大的汽車生產和消費地區。汽車廠商適時推出4S店業務模式,有助于提升汽車品牌的知名度,以及塑造汽車生產企業的形象。設計汽車4S店營銷管理系統的主要目的是,降低成本、改善服務質量以及方便管理。經過對汽車4S店的調研,并與工作人員進行細致的交流和溝通之后,總結出系統功能分別涉及PC端、Android客戶端和服務器端,其中服務器端的功能主要有收發數據和操作數據庫。服務器端利用服務主線程循環接收Android客戶端傳過來的數據,經過處理之后發送給PC端,三方形成一個共同協作的整體。利用數據庫對數據進行有效管理,服務器端根據Android客戶端和PC端發過來的請求,調用相應的方法。通過這些方法對數據庫進行相應的操作,從而保證數據的實時有效。
二、數據庫設計
開發汽車4S店營銷管理系統之前,做好數據庫的分析和設計是非常必要的。后臺數據庫采用MySQL,開發時使用Navicat for MySQL實現對數據庫的操作。該系統總共包括8張表,分別為汽車車系表、汽車車型表、汽車新聞表、汽車4S店經銷商表、汽車4S店企業文化表、意見反饋信息表、汽車車型圖片表和管理人員信息表。以汽車4S店經銷商表為例,介紹數據庫表的結構。汽車4S店經銷商表用于管理不同的經銷商信息,該表有6個字段,分別為省份ID、所屬省份名、汽車4S店ID、公司名稱、公司地址和聯系方式。其中汽車4S店ID是主鍵,原則上一個城市只設置一個汽車4S店。建立該表的SQL語句如下:
create table agency(
proid char(10),
pro varchar(10),
cityid char(10) primary key,
name varchar(40),
address varchar(80),
tel varchar(15)
);
三、服務器端設計
服務器端主要用來實現Android客戶端、PC端與數據庫的連接,從而實現其對數據庫的操作。服務主線程接收Android客戶端和PC端發來的請求,并將其交給代理線程處理。代理線程通過調用DB處理類中的方法對數據庫進行操作,然后將操作結果通過流反饋給Android客戶端或者PC端。服務主線程類ServerThread是服務器端最重要的一部分,也是實現服務器功能的基礎。相關代碼如下:
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是服務器端一個很重要的類,它包括了所有Android客戶端和PC端需要的方法。通過與數據庫建立連接之后,執行SQL語句得到相關信息,然后把它轉換成相應的格式。相關代碼如下:
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);
…………
}
四、結語
服務器端的設計除了上述主線程類和DBUtil類之外,還有圖片處理類和輔助工具類。經過調試之后,服務器端運行狀態平穩,可以實現收發數據和操作數據庫等功能。
參考文獻:
[1] 吳亞峰. Android應用案例開發大全(第4版)[M].北京:人民郵電出版社, 2018.