先來說說versioncode和versionname
versioncode 1//對消費者不可見,僅用於應用市場、程式內部識別版本,判斷新舊等用途。 versionname "1.0"//展示給消費者,消費者會通過它認知自己安裝的版本.
//更新版本修改versioncode的值,必須是int哦
//版本公升級apk的位址
private final string path = "";
/*** 獲取公升級資訊
* @return
* @throws exception
*/public updateinfo getupdateinfo() throws exception
string info = sb.tostring();
//對公升級的資訊進行封裝
updateinfo = new updateinfo();
//版本
updateinfo.setversion(info.split("&")[1]);
//公升級說明
updateinfo.setdescription(info.split("&")[2]);
updateinfo.seturl(info.split("&")[3]);
return updateinfo;
}} catch (unknownhostexception e) catch (exception e) finally
} catch (exception e)
}return null;
}伺服器返回的更新資料,最好就使用json返回。
3.這裡進行網路訪問所以自行新增internet許可權,同時還需要對手機網路進行判斷等一系列處理這裡就不貼出來了。獲取到了版本資訊就需要與當前版本進行對比了
if (isneedupdate())
/*** 判斷apk是否需要公升級
** @return true需要| false不需要
*/private boolean isneedupdate() else
}//獲取當前版本號
private int getversion() catch (exception e)
}4.需要進行公升級,那就把公升級資訊用對話方塊展示給使用者
/*** 顯示公升級資訊的對話方塊
*/private void showupdatedialog() else
}});
builder.setnegativebutton("取消", new dialoginte***ce.onclicklistener()
});builder.create().show();
}/****/
private void downfile(final string path)
}if (fileoutputstream != null)
handler.sendemptymessage(0);
}} catch (exception e)
}}.start();
}6.對apk進行安裝
pbar.cancel();
//安裝apk,也可以進行靜默安裝
intent intent = new intent(intent.action_view);
intent.setdataandtype(uri.fromfile(new file(environment.getexternalstoragedirectory(), "home.apk")),
startactivityforresult(intent, 10);
版本更新基本是就這幾個步驟,具體實現還是需要根據公司需求。
Android各版本迭代改動與適配集合
前言 今天分享的面試題是 android在版本迭代中,總會進行很多改動,那麼你熟知各版本都改動了什麼內容?又要怎麼適配呢?android4.4 發布art虛擬機器,提供選項可以開啟。httpurlconnection的底層實現改為了okhttp。android5.0 art成為預設虛擬機器,完全代替...
靜態資源版本迭代
檢視網頁時發現css樣式表都新增了md5加密碼 在工作中最初的介面發生了修改,修改了一些css,又增加了一些css,重新將 部署到伺服器,但是開啟介面還是以前的老介面。其實是快取在作怪,瀏覽器快取是根據url路徑快取資源。所以每次部署的時候,將靜態資源 image,css,js,html,fonts...
iOS 版本更新迭代
define key cfbundleshortversionstring void uialertaction cancelaction uialertaction actionwithtitle 取消 style uialertactionstyledefault handler nil ale...