Android開發架構FastAndroid詳解,androidfastandroid

來源:互聯網
上載者:User

Android開發架構FastAndroid詳解,androidfastandroid

項目:https://github.com/huntermr/FastAndroid

前言:對於很多Android開發初學者來說,有很多地方都會使人頭疼,如:圖片載入、OOM、網路訪問、資料庫操作、json解析等等因為不熟悉所以會走很多的歪路。出於引領初學者正式走進Android開發道路的目的,綜合考慮市面上常見的開發架構發現,要麼是比較複雜難懂,要麼是對於效能最佳化的不夠好;所以作者就將市面上在各個方面都表現較好的開源項目進行整合,加入了mvp模式,使初學者上手就能開發出比較健壯完善的項目。

項目介紹:
本架構整合了網路訪問、資料庫操作、圖片載入(無需擔心OOM)及緩衝、json解析、View註解
項目架構採用MVP模式,極大的對View和Model解耦,項目中帶有使用說明,查看源碼即可

整合的開源項目:
網路訪問:Volley 、 Xutils-http模組
資料庫:GreenDao(對於GreenDao的使用方法,請訪問http://blog.csdn.net/ht_android/article/details/44782539)
圖片載入及緩衝:universal-image-loader
json解析:Gson
View註解:butterknife

包結構:
com.android.volley:Volley相關,添加了對於Cookie的支援

com.example.android:架構主體

com.example.android.adapter:存放自訂Adapter

com.example.android.app:關於項目的一些全域配置及檔案
——AppManager:自訂Activity堆棧管理類
——Constants:存放全域變數
——MyApplication:自訂Application,用於初始化操作
——Setting:公用參數配置,封裝了SharedPreferences

com.example.android.async:存放自訂AsyncTask

com.example.android.base:存放基類檔案
——BaseActivity:基類Activity,所有Activity繼承自此,可自行修改
——BaseResponse:基類響應類,用於驗證伺服器的響應及解析資料
——IBaseView:所有View介面繼承此介面,用於進行一些通用視圖操作

com.example.android.bean.net:關於網路訪問的bean
——request:網路訪問請求bean
——response:網路訪問響應bean

com.example.android.dao:封裝資料庫操作

com.example.android.exception:異常捕獲類

com.example.android.listener:存放Presenter的監聽

com.example.android.model:存放資料邏輯處理介面
——impl:存放model實作類別

com.example.android.net:網路訪問相關
——NetCenter:封裝網路訪問常用操作,將所有網路介面在此封裝以便統一調用
——StringPostRequest:自訂Volley的Request,複寫接收post參數方法
——URLs:存放Url訪問路徑

com.example.android.presenter:存放Presenter

com.example.android.ui:存放Activity、自訂View等等
——custom:存放自訂View

com.example.android.utils:常用工具類

com.example.android.view:存放view介面

com.lidroid.xutils:Xutils-http模組

架構使用方法:
對於Mvp模式,主要目的是為瞭解耦,將邏輯分離出來,否則有些初學者非常容易在一個Activity裡面寫很多代碼,項目的可維護性簡直令人崩潰。

Presenter:針對不同模組寫不同的Presenter,這個類和mvc中的控制器類似,但他能保證view和model之間不能直接存取。Presenter中接收了View介面以及執行個體化了Model,當調用Model中相應方法時可以傳入回調。

View:定義View的介面,然後Activity去實現介面中的方法,並執行個體化Presenter,執行個體化時需要傳入view介面。當使用者觸發了某個操作如點擊按鈕,則開始調用Presenter的相應方法去進行處理,Presenter處理完成後,會調用已實現View介面的方法

Model:接收Presenter的相應回調,當處理完資料邏輯後,調用該回調用於返回資料給Presenter。

以上就是關於架構中mvp的大致使用方式,其他方面請自行翻看源碼或查閱相關資料。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.