前面兩篇文章講解了,介面服務的搭建以及介面的開發,如果你還未瞭解,可以先看看文章,java web開發(一) 環境搭建和 java web開發(二) 介面開發。本篇文章,結合後台介面服務和用戶端。用戶端從介面擷取資料,然後展示。(用戶端使用Android)。
一.介面服務建立。可以參考上篇文章,這兒就不囉嗦了。
二. 實現Android項目。
1.建立Android項目。相信大家都會吧。(就不多說了)
2.實現Json資料解析。上篇介面開發文章中提到,返回的Json資料有2種,一種是對象,另一種是數組。那麼我們就需要實現兩種格式的解析對象。
首先,需要建立一個基類,內部有三個欄位,code、msg、time。具體實現如下:
public class Response implements Serializable {/** * */private static final long serialVersionUID = 1L;private String code;// private String msg;private Long time = new Date().getTime();public String getCode() {return code;}public void setCode(String code) {this.code = code;}/** * @return the time */public Long getTime() {return time;}/** * @param time * the time to set */public void setTime(Long time) {this.time = time;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public void setContent(String code, String msg) {this.code = code;this.msg = msg;}}
該類是所有json解析類的基類,封裝了伺服器返回的一些資訊。
2.1 對象。
public class EntityResponse<T> extends Response {private static final long serialVersionUID = 3750508105973880680L;private T object;public T getObject() {return object;}public void setObject(T object) {this.object = object;}}
該類繼承自Response,用於返回json資料是單獨對象的情況。
2.2 數組。
public class ListResponse<T> extends Response {private static final long serialVersionUID = 2857885317968129959L;private List<T> items;public List<T> getItems() {return items;}public void setItems(List<T> items) {this.items = items;}}
該類繼承自Response,用於返回json資料是數組的情況。
2.3 Json解析。解析Json使用的是Gson。
private static <T> T parseByGson(String json, TypeToken<T> typeToken) {Gson gson = new Gson();T result = gson.fromJson(json, typeToken.getType());String code = ((com.studentmaneagemobile.mobile.Response) result).getCode();String msg = ((com.studentmaneagemobile.mobile.Response) result).getMsg();//需要判斷返回code是否是okif (code != null && code.equalsIgnoreCase("ok")) {return result;}return null;}解析json,當code為‘ok’的時候,才認為返回json資料成功,此時才去解析json資料。傳入返回json字串和解析類型,例如
TypeToken<ListResponse<Students>> token = new TypeToken<ListResponse<Students>>() {};
2.4 具體代碼詳解代碼下載。
2.5 運行。
首先,啟動介面服務,啟動成功後,在瀏覽器中輸入介面地址,例如出現如下截圖表示介面服務啟動成功,
接著,運行用戶端代碼,點擊‘inq’按鈕,效果圖如下所示,
三. 總結。
如果你做過Android或者Ios或者其他用戶端開發,那麼總是會需要後台服務提供介面。要實現這樣的功能,簡單的說可以分為2部分:
1.介面服務開發。詳情請看java web開發(一) 環境搭建和 java web開發(二) 介面開發。
2.用戶端開發。用戶端需要,UI設計、網路、圖片、資料庫或者其他架構等等。
PS: 這兩部分,在前期設計的時候,需要好的架構師好好的設計一下。否則,在後期開發時,會遇到很大的問題。
總結起來好像很簡單,但是只有開發過的人,才知道其中的滋味。。“Good good study day day up”。
PS: 介面伺服器代碼, 介面服務demo下載地址。
用戶端代碼,用戶端demo下載地址。
json格式化工具
推薦文章:SpringMVC 開發介面
博文中經常有小夥伴留言,說項目的許多問題,最近就推出幾篇補坑的文章,打算這幾篇文章詳細解決項目中的代碼以及商務程序, java web開發(四) 補坑1 和 java web開發(五) 介面開發補坑2 。 歡迎大家查看。