安卓应用的版本更新
Posted Greyson_Guo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓应用的版本更新相关的知识,希望对你有一定的参考价值。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.updateApp_demo"
android:versionCode="1" android:versionName="1.0" >
如上:安卓配置文件中,有版本号与版本名,一般用版本号(整型)来比较版本的新旧。下面是在代码中获取版本:
context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode;//或者用.versionName获取版本名
新版本下载的部分主要代码:
ProgressDialog m_progressDlg = new ProgressDialog(this);
m_progressDlg.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
// 设置ProgressDialog 的进度条是否不明确 false 就是不设置为不明确
m_progressDlg.setIndeterminate(false);
m_progressDlg.setTitle("正在下载");
m_progressDlg.setMessage("请稍候...");
m_progressDlg.show();
......
</pre><pre code_snippet_id="1597264" snippet_file_name="blog_20160304_5_2502288" name="code" class="java">//下面的代码在线程中进行
......
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(url);
try
HttpResponse response = client.execute(get);
HttpEntity entity = response.getEntity();
long length = entity.getContentLength();
m_progressDlg.setMax((int)length);//设置进度条的最大值
InputStream is = entity.getContent();
FileOutputStream fileOutputStream = null;
if (is != null)
File file = new File(Environment.getExternalStorageDirectory(),m_appNameStr);
fileOutputStream = new FileOutputStream(file);
byte[] buf = new byte[1024];
int ch = -1;
int count = 0;
while ((ch = is.read(buf)) != -1)
fileOutputStream.write(buf, 0, ch);
count += ch;
if (length > 0)
m_progressDlg.setProgress(count);
fileOutputStream.flush();
if (fileOutputStream != null)
fileOutputStream.close();
m_mainHandler.post(new Runnable()
public void run()
m_progressDlg.cancel();
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(
new File(Environment.getExternalStorageDirectory(), m_appName)),
"application/vnd.android.package-archive");
startActivity(intent);
);
catch (ClientProtocolException e)
e.printStackTrace();
catch (IOException e)
e.printStackTrace();
也可以使用一些平台的推送功能更新(如极光推送):http://docs.jpush.io/guideline/android_guide/
以上是关于安卓应用的版本更新的主要内容,如果未能解决你的问题,请参考以下文章