教育管理系统——android家长客户端
最近做了一個android的小項目,服務器端已經搭建好了,使用了spring MVC作為后端技術,發布了一系列web接口來接受客戶端提交的數據和返回客戶端請求的數據,web端使用了ext js來作為前端技術。同時還需要一個android客戶端和ios客戶端,臨時先開發了一個android客戶端,因為服務器端接口已經寫好了,安卓端這邊只需要訪問這些接口就可以獲取需要展示的數據和提交數據即可,開發難度不大。因為時間比較緊迫,所以沒有做詳細的設計,導致后來有很多其實比較冗余的代碼,其實可以通過良好的設計來減少代碼量,做好繼承就可以了,這一點是一個教訓,以后在進行面向對象的開發時需要注意。另外也沒有做緩存機制的設計,也就是說應用所需的所有數據都是在用戶請求時去服務器端獲取的,本地不會保存數據,這樣做減少了邏輯的復雜度,有利于開發速度。但是以后需要緩沖機制的話改動可能比較大。
下面簡單描述一下這個應用的邏輯流程,首先用戶必須要進行登錄驗證才可以進入應用,這樣做的目的是減少業務邏輯的復雜性。當用戶驗證成功進入應用后,會展現給用戶三個tab,分別是新聞通知tab,mytab,message tab,其中新聞通知是用來展示學校發布的各種新聞和通知,my tab是用來提供用戶查詢各種信息的地方,message是用來查看和發送站內信給老師的地方。下面對這里面用到的各個組件或者機制進行一下描述。
Thread與Handler:當用戶進行登錄驗證或者其它需要連接網絡的操作時,都需要使用thread,在thread中使用httpclient來進行網絡連接,當獲取到服務器傳輸來的數據并進行處理后,網絡線程通過handler機制來與開啟網絡線程的線程進行數據同步的工作,handler一般是作為主線程中的對象傳遞給thread的,因此在handler中可以對主線程中的ui進行處理等工作。在java中,一切都是對象,thread也是,thread中有一個run函數是線程開始后所執行的函數,當在主線程中new出一個thread后,需要調用start這個函數后線程才會執行。
fragment:現在的應用,ui越來越復雜,原來單純的在activity中構建ui變得不太靈活,現在安卓中引入了fragment機制,一個activity中可以使用多個fragment來構建ui界面,這樣在一個activity的生命周期中就可以方便的構建復雜的ui界面而不需要切換activity。類似于activity中的oncreate方法,fragment中的oncreateview負責fragment初始化時的主要工作,此方法返回一個此fragment的view給activity,fragment也使用布局文件來初始化界面,使用inflater的inflate方法來初始化界面。
listview:本應用中主要使用listview控件來展示數據信息,多個listitem來構造一個listview,listitem界面可以使用布局文件來定義,同時listview有一個addheader方法,可以在listview頭部添加一個view來顯示在listview的頭部。同時,listview可以實現onscrolllistener接口,來實現listview拖動的效果。
adapter:適配器,類似于listview這樣的控件,需要適配器來填充數據,適配器一般會和一個list數據結構綁定,安卓系統會根據list的大小來構建listitem的數目和內容。
這里描述的四個控件都是安卓應用中比較重要的四個控件,這里只是簡單描述,具體的內容比這里描述的更復雜,有時間的話再仔細描述一下這四個控件的具體用法。
?
轉載于:https://www.cnblogs.com/libs5510/p/4559238.html
總結
以上是生活随笔為你收集整理的教育管理系统——android家长客户端的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JNI中的内存管理(转)
- 下一篇: Cachefiled