</pre>首先是版本更新的的一个jar包与项目关联</h1><div></div><div><pre name="code" class="java">
private void getData() {
new Thread() {
public void run() {
try {
URL url = new URL(
"http://www.oschina.net/MobileAppVersion.xml");
HttpURLConnection openConnection = (HttpURLConnection) url
.openConnection();
openConnection.setConnectTimeout(5000);
openConnection.setReadTimeout(5000);
int responseCode = openConnection.getResponseCode();
if (responseCode == 200) {
InputStream inputStream = openConnection
.getInputStream();
getPull(inputStream);
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
};
}.start();
}
protected void getPull(InputStream inputStream) {
try {
XmlPullParser newPullParser = Xml.newPullParser();
newPullParser.setInput(inputStream, "utf-8");
int eventType = newPullParser.getEventType();
System.out
.println("###################################################");
while (eventType != XmlPullParser.END_DOCUMENT) {
switch (eventType) {
case XmlPullParser.START_DOCUMENT:
updateBeanList = new ArrayList<UpdateBean>();
break;
case XmlPullParser.START_TAG:
String tagName = newPullParser.getName();
if ("android".equals(tagName)) {
updateBean = new UpdateBean();
} else if ("versionName".equals(tagName)) {
updateBean.setVersionName(newPullParser.nextText());
} else if ("downloadUrl".equals(tagName)) {
updateBean.setDownloadUrl(newPullParser.nextText());
} else if ("updateLog".equals(tagName)) {
updateBean.setUpdateLog(newPullParser.nextText());
}
break;
case XmlPullParser.END_TAG:
String name = newPullParser.getName();
if (name.equals("android")) {
updateBeanList.add(updateBean);
}
break;
default:
break;
}
eventType = newPullParser.next();
}
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
handler.obtainMessage(SUCESS, updateBean).sendToTarget();
}
当然还需要用hander去处理一下下载完毕的安装
Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
if (msg.what == 0) {
UpdateBean bean = (UpdateBean) msg.obj;
// System.out.println(UpdateBean.getDownloadUrl()
// + "-----------------------------");
UpdateVersionUtil updataManger = UpdateVersionUtil
.getUpdataManger(bean.getDownloadUrl(),
MainActivity.this, bean.getVersionName(),
bean.getUpdateLog());
updataManger.checkUpdata();
}
};
权限不要忘记=====================================
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
当然还有一个所谓的bean包已写好
请快速粘贴=======================================
package com.bwie.mUpdate.bean;
public class UpdateBean {
private String versionName;
private String downloadUrl;
private String updateLog;
public String getVersionName() {
return versionName;
}
public void setVersionName(String versionName) {
this.versionName = versionName;
}
public String getDownloadUrl() {
return downloadUrl;
}
public void setDownloadUrl(String downloadUrl) {
this.downloadUrl = downloadUrl;
}
public String getUpdateLog() {
return updateLog;
}
public void setUpdateLog(String updateLog) {
this.updateLog = updateLog;
}
public UpdateBean(String versionName, String downloadUrl, String updateLog) {
super();
this.versionName = versionName;
this.downloadUrl = downloadUrl;
this.updateLog = updateLog;
}
public UpdateBean() {
super();
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "UpdateBean [versionName=" + versionName + ", downloadUrl="
+ downloadUrl + ", updateLog=" + updateLog + "]";
}
}
</pre>首先是版本更新的的一个jar包与项目关联</h1><div></div><div><pre name="code" class="java">
public void handleMessage(android.os.Message msg) {
if (msg.what == 0) {
UpdateBean bean = (UpdateBean) msg.obj;
// System.out.println(UpdateBean.getDownloadUrl()
// + "-----------------------------");
UpdateVersionUtil updataManger = UpdateVersionUtil
.getUpdataManger(bean.getDownloadUrl(),
MainActivity.this, bean.getVersionName(),
bean.getUpdateLog());
updataManger.checkUpdata();
}
};
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
public class UpdateBean {
private String versionName;
private String downloadUrl;
private String updateLog;
public String getVersionName() {
return versionName;
}
public void setVersionName(String versionName) {
this.versionName = versionName;
}
public String getDownloadUrl() {
return downloadUrl;
}
public void setDownloadUrl(String downloadUrl) {
this.downloadUrl = downloadUrl;
}
public String getUpdateLog() {
return updateLog;
}
public void setUpdateLog(String updateLog) {
this.updateLog = updateLog;
}
public UpdateBean(String versionName, String downloadUrl, String updateLog) {
super();
this.versionName = versionName;
this.downloadUrl = downloadUrl;
this.updateLog = updateLog;
}
public UpdateBean() {
super();
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "UpdateBean [versionName=" + versionName + ", downloadUrl="
+ downloadUrl + ", updateLog=" + updateLog + "]";
}
}