自整理了一套數據從後臺到前端的方案,並已打jar包,在此記錄一下。
1.BaseApplication中初始化
NetworkUtils.init(“你的主網址”, this); //此處最好用IP直連,效率略高
2.權限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<!--往sdcard中寫入數據的權限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<!--在sdcard中創建/刪除文件的權限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
3、把四個常用jar包放於lib文件中
功能:網絡請求+圖片加載+JSON解析+數據緩存
方法詳解
1、網絡請求
進行數據請求-----NetworkUtils.subinfo-->NetworkUtils.PostInfo、SubPicPost(圖片上傳) 、getBitBitmap(獲取網絡圖片)
網絡判斷-----isNetworkAvailable(網絡是否可用)isGpsEnabled、isWifiEnabled()、 isWifi()、is3G()、httpGet2String
2、圖片加載
NetworkUtils.setImage
3、json解析
JSONHelper.jsonArraytoList、JSONHelper.jsonArraytoMulList、JSONHelper.jsonMap、jsontoMapList(無標識的List["0-40","40-6"])
數據緩存方案
其中網絡請求一律採用緩存:一般數據緩存兩天,每次網絡請求進行更新,沒網狀態加載緩存數據;
圖片緩存兩天,緩存優先加載;已自動保存cookie;可添加請求頭信息agent;自動進行Gzip壓縮請求。
Json解析中HashMap一律用arrayMap替換。