为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 荷叶决明子减肥茶

荷叶决明子减肥茶

2013-04-20 1页 doc 22KB 21阅读

用户头像

is_035032

暂无简介

举报
荷叶决明子减肥茶android-自动更新apk版本 android 自动更新apk版本android 自动更新apk版本 截图如下: 代码实现如下: package com.update.apk;import java.io.BufferedReader;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnect...
荷叶决明子减肥茶
android-自动更新apk版本 android 自动更新apk版本android 自动更新apk版本 截图如下: 代码实现如下: package com.update.apk;import java.io.BufferedReader;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.DefaultHttpClient;import org.json.JSONArray;import org.json.JSONObject;import android.app.Activity;import android.app.AlertDialog;import android.app.Dialog;import android.app.ProgressDialog;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.content.pm.PackageManager.NameNotFoundException;import android.net.Uri;import android.os.Bundle;import android.os.Environment;import android.os.Handler;import android.os.Message;import android.util.Log;public class MainActivity extends Activity { /** Called when the activity is first created. */ String newVerName = "";//新版本名称 int newVerCode = -1;//新版本号 ProgressDialog pd = null; String UPDATE_SERVERAPK = "ApkUpdateAndroid.apk"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); if(getServerVer()){ int verCode = this.getVerCode(this); if(newVerCode>verCode){ doNewVersionUpdate();//更新版 本 }else{ notNewVersionUpdate();//提示已是最新版本 } } } /** * 获得版本号 */ public int getVerCode(Context context){ int verCode = -1; try { verCode = context.getPackageManager().getPackageInfo("com.update.apk", 0).versionCode; } catch (NameNotFoundException e) { // TODO Auto-generated catch block Log.e("版本号获取异常", e.getMessage()); } return verCode; } /** * 获得版本名称 */ public String getVerName(Context context){ String verName = ""; try { verName = context.getPackageManager().getPackageInfo("com.update.apk", 0).versionName; } catch (NameNotFoundException e) { Log.e("版本名称获取异常", e.getMessage()); } return verName; } /** * 从服务器端获得版本号与版本名称 * @return */ public boolean getServerVer(){ try { URL url = new URL(":8080/ApkUpdateService/ver"); HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection(); httpConnection.setDoInput(true); httpConnection.setDoOutput(true); httpConnection.setRequestMethod("GET"); httpConnection.connect(); InputStreamReader reader = new InputStreamReader(httpConnection.getInputStream()); BufferedReader bReader = new BufferedReader(reader); String json = bReader.readLine(); JSONArray array = new JSONArray(json); JSONObject jsonObj = array.getJSONObject(0); newVerCode = Integer.parseInt(jsonObj.getString("verCode")); newVerName = jsonObj.getString("verName"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); return false; } return true; } /** * 不更新版本 */ public void notNewVersionUpdate(){ int verCode = this.getVerCode(this); String verName = this.getVerName(this); StringBuffer sb = new StringBuffer(); sb.append("当前版本:"); sb.append(verName); sb.append(" Code:"); sb.append(verCode); sb.append("\n已是最新版本,无需 更新"); Dialog dialog = new AlertDialog.Builder(this) .setTitle("软件更新 ") .setMessage(sb.toString()) .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub finish(); } }).create(); dialog.show(); } /** * 更新版本 */ public void doNewVersionUpdate(){ int verCode = this.getVerCode(this); String verName = this.getVerName(this); StringBuffer sb = new StringBuffer(); sb.append("当前版本:"); sb.append(verName); sb.append(" Code:"); sb.append(verCode); sb.append(",发现版本:"); sb.append(newVerName); sb.append(" Code:"); sb.append(verCode); sb.append(",是否更新"); Dialog dialog = new AlertDialog.Builder(this) .setTitle("软件更新 ") .setMessage(sb.toString()) .setPositiveButton("更新", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub pd = new ProgressDialog(MainActivity.this); pd.setTitle("正在下载"); pd.setMessage("请稍 后。。。"); pd.setProgressStyle(ProgressDialog.STYLE_SPINNER); downFile(":8080/ApkUpdateService/ApkUpdateAndroid.apk"); } }) .setNegativeButton("暂不更新", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub finish(); } }).create(); //显示更 新框 dialog.show(); } /** * 下载apk */ public void downFile(final String url){ pd.show(); new Thread(){ public void run(){ HttpClient client = new DefaultHttpClient(); HttpGet get = new HttpGet(url); HttpResponse response; try { response = client.execute(get); HttpEntity entity = response.getEntity(); long length = entity.getContentLength(); InputStream is = entity.getContent(); FileOutputStream fileOutputStream = null; if(is != null){ File file = new File(Environment.getExternalStorageDirectory(),UPDATE_SERVERAPK); fileOutputStream = new FileOutputStream(file); byte[] b = new byte[1024]; int charb = -1; int count = 0; while((charb = is.read(b))!=-1){ fileOutputStream.write(b, 0, charb); count += charb; } } fileOutputStream.flush(); if(fileOutputStream!=null){ fileOutputStream.close(); } down(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }.start(); } Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); pd.cancel(); update(); } }; /** * 下载完成,通过handler将下载对话框取消 */ public void down(){ new Thread(){ public void run(){ Message message = handler.obtainMessage(); handler.sendMessage(message); } }.start(); } /** * 安装应用 */ public void update(){ Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory(),UPDATE_SERVERAPK)) , "application/vnd.android.package-archive"); startActivity(intent); }}
/
本文档为【荷叶决明子减肥茶】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索