android打开新版本|安卓系统怎么升级最新版本

A. android 怎么检查新版本并且更新

一、准备1.检测当前版本的信息AndroidManifest.xml–>manifest–>android:versionName。2.从服务器获取版本号(版本号存在于xml文件中)并与当前检测到的版本进行匹配,如果不匹配,提示用户进行升级,如果匹配则进入程序主界面。3.当提示用户进行版本升级时,如果用户点击了确定,系统将自动从服务器上下载并进行自动升级,如果点击取消将进入程序主界面。二、效果图三、必要说明服务器端存储apk文件,同时有version.xml文件便于比对更新。<?xml version="1.0" encoding="utf-8"?><info><version>2.0</version><url>http://192.168.1.187:8080/mobilesafe.apk</url><description>检测到最新版本,请及时更新!</description><url_server>http://192.168.1.99/version.xml</url_server></info>通过一个实体类获取上述信息。package com.android;public class UpdataInfo {private String version;private String url;private String description;private String url_server;public String getUrl_server() {return url_server;}public void setUrl_server(String url_server) {this.url_server = url_server;}public String getVersion() {return version;}public void setVersion(String version) {this.version = version;}public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}public String getDescription() {return description;}public void setDescription(String description) {this.description = description;}}apk和版本信息地址都放在服务器端的version.xml里比较方便,当然如果服务器端不变动,apk地址可以放在strings.xml里,不过版本号信息是新的,必须放在服务器端,xml地址放在strings.xml。<?xml version="1.0" encoding="utf-8"?><resources><string name="hello">Hello World, VersionActivity!</string><string name="app_name">Version</string><string name="url_server">http://192.168.1.99/version.xml</string></resources>不知道读者发现没有,笔者犯了个错误,那就是url_server地址必须放在本地,否则怎么读取version.xml,所以url_server不必在实体类和version里添加,毕竟是现需要version地址也就是url_server,才能够读取version。三、代码实现<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><Buttonandroid:id="@+id/btn_getVersion"android:text="检查更新"android:layout_width="wrap_content"android:layout_height="wrap_content"/></LinearLayout>package com.android;import java.io.InputStream;import org.xmlpull.v1.XmlPullParser;import android.util.Xml;public class UpdataInfoParser {public static UpdataInfo getUpdataInfo(InputStream is) throws Exception{XmlPullParser parser = Xml.newPullParser();parser.setInput(is, "utf-8");int type = parser.getEventType();UpdataInfo info = new UpdataInfo();while(type != XmlPullParser.END_DOCUMENT ){switch (type) {case XmlPullParser.START_TAG:if("version".equals(parser.getName())){info.setVersion(parser.nextText());}else if ("url".equals(parser.getName())){info.setUrl(parser.nextText());}else if ("description".equals(parser.getName())){info.setDescription(parser.nextText());}break;}type = parser.next();}return info;}}package com.android;import java.io.File;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import android.app.Activity;import android.app.AlertDialog;import android.app.AlertDialog.Builder;import android.app.ProgressDialog;import android.content.DialogInterface;import android.content.Intent;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.net.Uri;import android.os.Bundle;import android.os.Environment;import android.os.Handler;import android.os.Message;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;public class VersionActivity extends Activity {private final String TAG = this.getClass().getName();private final int UPDATA_NONEED = 0;private final int UPDATA_CLIENT = 1;private final int GET_UNDATAINFO_ERROR = 2;private final int SDCARD_NOMOUNTED = 3;private final int DOWN_ERROR = 4;private Button getVersion;private UpdataInfo info;private String localVersion;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);getVersion = (Button) findViewById(R.id.btn_getVersion);getVersion.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {try {localVersion = getVersionName();CheckVersionTask cv = new CheckVersionTask();new Thread(cv).start();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}});}private String getVersionName() throws Exception {//getPackageName()是你当前类的包名,0代表是获取版本信息PackageManager packageManager = getPackageManager();PackageInfo packInfo = packageManager.getPackageInfo(getPackageName(),0);return packInfo.versionName;}public class CheckVersionTask implements Runnable {InputStream is;public void run() {try {String path = getResources().getString(R.string.url_server);URL url = new URL(path);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setConnectTimeout(5000);conn.setRequestMethod("GET");int responseCode = conn.getResponseCode();if (responseCode == 200) {// 从服务器获得一个输入流is = conn.getInputStream();}info = UpdataInfoParser.getUpdataInfo(is);if (info.getVersion().equals(localVersion)) {Log.i(TAG, "版本号相同");Message msg = new Message();msg.what = UPDATA_NONEED;handler.sendMessage(msg);// LoginMain();} else {Log.i(TAG, "版本号不相同 ");Message msg = new Message();msg.what = UPDATA_CLIENT;handler.sendMessage(msg);}} catch (Exception e) {Message msg = new Message();msg.what = GET_UNDATAINFO_ERROR;handler.sendMessage(msg);e.printStackTrace();}}}Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {// TODO Auto-generated method stubsuper.handleMessage(msg);switch (msg.what) {case UPDATA_NONEED:Toast.makeText(getApplicationContext(), "不需要更新",Toast.LENGTH_SHORT).show();case UPDATA_CLIENT://对话框通知用户升级程序showUpdataDialog();break;case GET_UNDATAINFO_ERROR://服务器超时Toast.makeText(getApplicationContext(), "获取服务器更新信息失败", 1).show();break;case DOWN_ERROR://下载apk失败Toast.makeText(getApplicationContext(), "下载新版本失败", 1).show();break;}}};/*** 弹出对话框通知用户更新程序** 弹出对话框的步骤:* 1.创建alertDialog的builder.* 2.要给builder设置属性, 对话框的内容,样式,按钮* 3.通过builder 创建一个对话框* 4.对话框show()出来*/protected void showUpdataDialog() {AlertDialog.Builder builer = new Builder(this);builer.setTitle("版本升级");builer.setMessage(info.getDescription());//当点确定按钮时从服务器上下载 新的apk 然后安装 װbuiler.setPositiveButton("确定", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {Log.i(TAG, "下载apk,更新");downLoadApk();}});builer.setNegativeButton("取消", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stub//do sth}});AlertDialog dialog = builer.create();dialog.show();}/** 从服务器中下载APK*/protected void downLoadApk() {final ProgressDialog pd; //进度条对话框pd = new ProgressDialog(this);pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);pd.setMessage("正在下载更新");pd.show();new Thread(){@Overridepublic void run() {try {File file = DownLoadManager.getFileFromServer(info.getUrl(), pd);sleep(3000);installApk(file);pd.dismiss(); //结束掉进度条对话框} catch (Exception e) {Message msg = new Message();msg.what = DOWN_ERROR;handler.sendMessage(msg);e.printStackTrace();}}}.start();}//安装apkprotected void installApk(File file) {Intent intent = new Intent();//执行动作intent.setAction(Intent.ACTION_VIEW);//执行的数据类型intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");startActivity(intent);}}package com.android;import java.io.BufferedInputStream;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import android.app.ProgressDialog;import android.os.Environment;public class DownLoadManager {public static File getFileFromServer(String path, ProgressDialog pd) throws Exception{//如果相等的话表示当前的sdcard挂载在手机上并且是可用的if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){URL url = new URL(path);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setConnectTimeout(5000);//获取到文件的大小pd.setMax(conn.getContentLength());InputStream is = conn.getInputStream();File file = new File(Environment.getExternalStorageDirectory(), "updata.apk");FileOutputStream fos = new FileOutputStream(file);BufferedInputStream bis = new BufferedInputStream(is);byte[] buffer = new byte[1024];int len ;int total=0;while((len =bis.read(buffer))!=-1){fos.write(buffer, 0, len);total+= len;//获取当前下载量pd.setProgress(total);}fos.close();bis.close();is.close();return file;}else{return null;}}}<uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

B. android开发中怎样对已经上线的app进行版本更新

(1)点击事件判断是否有新版本更新 (2)自定义一个通知 同时刷新下载进度(3)异步下载新版本app (4)隐士意图来安装

C. android sdk版本升级后app怎么支持新的版本

1.安装SDK

可以在线安装或手动安装Sony Add-on SDK

1.1 在线安装

通过Android SDK Manager中的添加新的Add-on Sites来安装,

无法下载adt所以Android SDK Manager里面设置了代理,去掉代理刷新之后可以看到列表中显示"Sony Add-on SDK 2.1”

1.2 手动安装

手动安装参考这里

1.3 创建Sony Virtual Device

创建方法参考这里。创建成功后在模拟器里面启动这个虚拟设备,可以看到,里面提供了完整的运行环境。

2.关于Sony Add-on SDK

Sony Add-on SDK API提供以下功能:

通过Smart Extension API,可以扩展标准的Android应用以兼容Sony SmartWatch 2或其他的Sony Smart Accessories

通过Camera Add-on API,可以将自己的图片应用无缝集成到新的Sony Xperia Z1的相机应用

通过Small App API,可以为某些Sony Xperia设备开发Small App

通过IR Remote API,可以开发 IR Remote enabled app(??不明白这个用来干什么)

可以在这个页面找到更多的介绍信息,比如使用场景及API带来的收益。具体的技术细节请查看参考文档

3.支持的设备

Sony Add-on SDK中的API支持不同的设备。但设备可用的API可能存在差异(这个需要特别注意)。

1.Smart Extension API支持的设备:

Sony SmartWatch

SmartWath 2

Smart Wireless Headset pro

Stereo Bluetooth Headset SBH50

Smart Bluetooth Heandset SBH52

(注意不是所有的API都可用于以上列出的设备,具体请参考文档)

2.Camera Add-on API支持的设备:

Sony Xperia Z1

3.Small App API支持的设备:

运行Android 4.1及以上系统的Xperia设备基本都可以支持

4.IR Remote API支持的设备:

Xperia Tablet Z

Xperia ZL

Xperia Tablet S

Tablet S

D. 安卓手机有些时候打开应用,会提示有新版本,然后升级,那安装包在哪里删除

若手机复下载软件后想制要删除安装包,建议:1.使用自带浏览器下载软件,请打开我的文件-Download文件夹,选择需要删除的安装包即可。2.使用自带的三星应用商店下载软件,软件安装后,安装包是自动删除的,无需设置。3.使用第三方市场客户端下载软件,建议查看该市场客户端中是否有相关设置。

E. 安卓手机如何更新软件

直接在设置里面选择系统及更新即可更新手机的系统,应用软件在应用市场APP中更新!

F. 安卓系统怎么升级最新版本

安卓手机升抄级系统/固件袭操作方法有如下:1.Fota方式升级:通过手机设定-(一般)-关于设备-系统更新(或软件更新)-更新。2.连接电脑使用S 换机助手或Kies软件更新(型号不同,使用的PC软件不同。通过Kies方式升级:1)在电脑中下载安装Kies软件。注意:下载安装kies时手机与电脑不要连接。2)安装后手机和电脑通过USB连接,打开Kies软件,如有手机系统/固件新版本时Kies软件会有固件升级提示,点击升级即可。通过S 换机助手升级:1)电脑中下载安装S 换机助手 PC 版2)将手机与电脑连接后,下滑屏幕顶帘-已连接进行充电-选择""媒体设备(MTP)""。3)开启电脑中的S 换机助手,若手机有系统/固件更新版本,软件上会弹出更新提示,点击更新即可。3.送到三星服务中心升级:携带购机发票、包修卡和机器到三星服务中心,由专业的售后工程师帮助您升级。

G. 现在安卓系统最新版本是什么版本,怎么看自己的版本

现在安卓抄系统最新版本是6.0版本。

查看自己的版本的方法如下:

在菜单中中找到“设置”图标。

H. Android现在的最新版本是多少有什么优点

安卓系统的最新版本是安卓11,这个版本不仅在原有版本的基础上优化了很多,包内括内存优化,增加电池容续航,美化系统界面,提高用户体验,还在原有的系统基础增加了新的功能,比如说安卓11增加了折叠屏的功能,大部分都是对原有系统的优化,让用户体验更加畅爽。

I. 如何升级android手机版本

说明:升级android手机版本有三种方法1、OTA更新升级2、通过线刷升级3、通过卡刷升级第一种方法OTA更新,是比较简单,而第2种和第3种,线刷和卡刷需要一定的玩机基础,操作起来每个厂商的手机都不相同,通过这两种方法升级相对复杂,可以到手机的相关论坛查看教程,这里就不细说。下面来说说相对简单的方法,OTA更新–OTA更新无损失升级系统,手要连接网络下载安装包就可升级。工具:小米手机方法:1、打开手机中的“设置”2、找到“关于手机”3、找到“系统更新”点击4、如果有新系统,会提示版本号相关提示 5、点击右边的“立即”更新,会开始下载安装文件,下载好后会自动安装和自动重启,更新完成。上面是以小米手机为例,其它安卓手机都差不多,有些会把“系统更新”作为快捷方式直接放在桌面上,这样就不用在设置里找了。

J. 安卓手机系统怎样升级到最新版本

安卓手机系统怎样升级到最新版本?答:因为安卓系统是定制UI,如果厂家没有更新系统,一般是无法升级到最新版本的


赞 (0)