arrayadapter simpleadapter baseadapter

Panda.X發表於2017-07-01

android Adapter剖析理解

  • UI控制元件都是跟Adapter(介面卡)打交道的
  • Adapter: 是用來幫助控制元件填充資料的中間橋樑 (在開發中大多數Textview控制元件的內容是依靠資料庫傳遞並顯示的如:新聞類)
  • Adapter: 將各種資料以合適的形式顯示到view上 (我是顯示圖片的控制元件,你給我傳文字是不是不想好了,分手!)
  • Adapter: 需要結合ListView, GridView等等集合類控制元件 (List 在學習java集合時應該已經碰到過了,Gridview九宮格不多做解釋在部落格園搜尋一下一大堆的講解)

 

將一個App頁面分三大塊:UI控制元件(View), 資料模式(model), 控制器 (Controller )它是Adapter的大哥。

  • Model:負責執行程式的核心運算與判斷邏輯,通過view獲得使用者 輸入的資料,然後根據從資料庫查詢相關的資訊,最後進行運算和判斷,再將得到的結果交給view來顯示 (勤懇的管理員負責倉庫的查詢與整理)
  • view:使用者的操作介面,說白了就是GUI,應該使用哪種介面元件,元件間的排列位置與順序都需要設計 (畫家利用,畫筆“介面比較抽象”可以理解為怎麼使用畫筆要在螢幕上顯示就必須知道要在哪裡下筆(座標))
  • Controller:控制器,作為model與view之間的樞紐,負責控制程式的執行流程以及物件之間的一個互動 (model跟view冷戰了要靠我這個“燈泡”(Controller)傳話,而且必須安原話傳遞)

Model(資料) ---> Controller(以什麼方式顯示到)---> View(使用者介面)

View(我要顯示圖片,文字) --->Controller(分析她到底要什麼,哦要圖片) --->Model(搜尋一下對應的圖片資訊)

MVC模式圖

Adapter親屬圖(圖片來源 http://www.runoob.com/w3cnote/android-tutorial-adapter.html)我也是在他這裡學習並自己做一個簡化記錄加一點主觀想法在裡面。

  • BaseAdapter:抽象類,實際開發中我們會繼承這個類並且重寫相關方法,用得最多的一個Adapter! 
  • ArrayAdapter:支援泛型操作,最簡單的一個Adapter,只能展現一行文字~      //現在的視訊教學裡都是用這個類在作教學(我看到的是這樣)
  • SimpleAdapter:同樣具有良好擴充套件性的一個Adapter,可以自定義多種效果!可以放上ImageView(圖片)等,可以顯示比較複雜的列表,包括每行顯示圖片、文字等,但不能對列表進行後期加工(在java程式碼中加工),也是隻是單純的負責顯示