安卓網(wǎng)絡(luò)通訊開發(fā)技巧
1 安卓網(wǎng)絡(luò)通訊
1.1網(wǎng)絡(luò)通訊的意義
單機版的android程序有很大的弊端,如果無法把重要的數(shù)據(jù)備份起來,一旦手機遭遇故障,系統(tǒng)重置之后,可能所有的應(yīng)用數(shù)據(jù)就丟失了;另一方面,通過網(wǎng)絡(luò)通訊,可以顯示登錄的控制,比如登錄的時候需要從服務(wù)器驗證,這樣,只有經(jīng)過注冊的用戶才能夠登錄,系統(tǒng)的管理者在服務(wù)端就可以把賬戶注銷,收回用戶的使用權(quán),在這方面,單機版的程序也是不受控制的。
1.2 網(wǎng)絡(luò)通訊的開發(fā)技術(shù)
?????? 本系統(tǒng)網(wǎng)絡(luò)通訊是采用HTTP來進行通訊的,后端采用了Java的客戶端,安卓端給服務(wù)端發(fā)送HTTP請求,并且得到返回,根據(jù)返回進行不同的處理,使用到的技術(shù)是:
ü? 服務(wù)器、服務(wù)端技術(shù)(Springboot 、 SSM)
ü? 網(wǎng)絡(luò)通訊技術(shù)(HTTP協(xié)議)
ü? 數(shù)據(jù)庫技術(shù)(MySQL 5.x)
ü? 解析技術(shù)(JSON格式)
ü? Retrofit(網(wǎng)絡(luò)框架)、rxjava2(響應(yīng)式編程)
1.3 網(wǎng)絡(luò)通訊的物理架構(gòu)

1.4 網(wǎng)絡(luò)通訊的開發(fā)流程
以MuiscPlayer為例,有9個基本的文件,分別解釋一下用途
ApiService.java 網(wǎng)絡(luò)通訊的接口定義,定義了通信的地址、返回的格式和通訊的參數(shù);
ServiceFactory.java 把網(wǎng)絡(luò)通訊定義為一種服務(wù),在這個類中定義了服務(wù)的基本信息,最主要的是通訊的地址的配置;
BaseModel.java 具體的接口的定義,通訊的時候調(diào)用這里,比如注冊的時候,會調(diào)用這里的代碼,但是注冊的具體的行為,都在調(diào)用注冊的Activity中才會寫;
BaseResponse.java HTTP請求的返回封裝類;
UnifiedRequestHead.java 作為HTTP請求,定義了一個統(tǒng)一的請求頭;
ServerException.java 定義的異常類;
RxHelper.java RxJava的工具類;
OkHttpClientFactory.java HTTP通訊的工具類;
HttpLoggingInterceptor.java 網(wǎng)絡(luò)通訊的時候用來打印日志的一個攔截器;
util.*? 這個包里面都是工具類,可以不看
在網(wǎng)絡(luò)通訊的過程中,主要修改的只是前3個文件,具體網(wǎng)絡(luò)通訊和安卓程序配合的代碼,都不寫在API這個包中。