版本更新
来源:互联网 发布:cpu评测软件 编辑:程序博客网 时间:2024/05/16 01:15
//首先添加权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
//之后封装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 + "]";
}
}
//编写Activity
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.util.Xml;
import com.gblw.util.UpdateVersionUtil;
public class UpdateActivity extends Activity {
private static final int SUCESS = 0;
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(),
UpdateActivity.this, bean.getVersionName(),
bean.getUpdateLog());
updataManger.checkUpdata();
}
};
};
private UpdateBean updateBean;
private ArrayList<UpdateBean> updateBeanList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_update);
getData();
}
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 {
//解析XML
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();
}
}
- 版本更新
- //版本更新
- 版本更新
- 更新版本
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 解决Android Studio加载第三方jar包,出现包重复加载的问题:
- Java并发专题 带返回结果的批量任务执行 CompletionService ExecutorService.invokeAll
- 51nod 1136 欧拉函数(欧拉函数)
- Chrome 浏览器修改默认搜索引擎跟网页右键搜索 启动特定页
- Cocos2dx游戏资源加密之XXTEA
- 版本更新
- 程序员常见的思维运算题
- 数组的基本应用
- 拖动元素
- 如何动态调用 C 函数
- 【SIP基础】SIP协议中只有请求才有的头域
- Material之Behavior(1)
- Android字母导航示例
- spring security四种实现方式