機緣巧合下花了一天多做了個DEMO以演示一定回顧和整理App開發的基本知識。
目的
涉及到App架構,網絡請求,UI展示,開源框架,單元測試的使用等知識面。
網絡上有很多公開的接口,以供調用。本人恰巧喜歡電影,選擇了OMDb的公開接口。申請API KEY也很方便。
需求
大體制定了簡單的需求:提供輸入框供用戶輸入關鍵字點擊搜索按鈕到OMDb網上檢索後展示電影列表。
UI
界面上選擇了內嵌了EditText的ToolBar和內嵌了RecyclerView的SwipeRefreshLayout去展示UI。
架構
框架上採用了思路清晰的MVP架構。後續考慮做個MVVM架構的版本。
Activity和控件對應着View層,Model層承擔着數據的請求和更新,Presenter層擔當View層和Model層的銜接,通過接口回調。
開源框架
開源框架上使用了ButterKnife綁定UI,Retrofit負責網絡請求,GSON負責解析數據,universalimageloader負責加載網絡圖片。
效果
成品如下圖。
待完善
有不少功能或UI需要添加和完善。
比如添加上拉加載更多,向下滑動隱藏輸入框,輸入框內清空按鈕等等功能。比如增加單元測試。
空閒時間將逐漸完善這些To-do-list,同時將更新記錄到博客當中。
本DEMO也開源到了Github,歡迎大家star,一起提高。
https://github.com/ellisonchan/EigaKensaku