Android在线更新是如何实现的?

MilanShva 2011-05-06 12:35:22
我看其他很多软件都是可以在线直接更新的,而我却需要重新下载安装。
求教大家说说在线更新是如何实现的,或者推荐些资料,
或者多说说些自己的心得,我出了100分,望不吝赐教。
...全文
745 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangshuowen 2012-06-13
  • 打赏
  • 举报
回复
这个如果没有SD卡 怎么办呢,能不能把要更新的APK下载到手机上面某个路径!
Kevin-K先森 2011-10-20
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 k745933923 的回复:]
JScript code
Uri uri = Uri.fromFile(new File("/sdcard/English1.1.apk")); //这里是APK路径
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri,"applic……
[/Quote]


可以实现··在线更新
首先要下载到sdcard 上·····
sam_zhang1984 2011-05-08
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 k745933923 的回复:]

JScript code
Uri uri = Uri.fromFile(new File("/sdcard/English1.1.apk")); //这里是APK路径
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri,"applica……
[/Quote]

按15楼这兄弟的这个,下载后,就可以实际自动安装啊!
网络咖啡 2011-05-08
  • 打赏
  • 举报
回复
在线更新更新的是资源,下载更新更新的是程序本身!
3D剁手网 2011-05-08
  • 打赏
  • 举报
回复
Uri uri = Uri.fromFile(new File("/sdcard/English1.1.apk")); //这里是APK路径
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri,"application/vnd.android.package-archive");
startActivity(intent);
MilanShva 2011-05-07
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 sam_zhang1984 的回复:]
我的做法是:
1、当程序运行时,有一个子线程连接服务器看有没有新版本
2、如果有新版本,提示用户,是否升级
3、如果用户选择升级,则从服务器上下载新版本程序,然后自动安装!

如果你不想保留你的程序在SD卡里,可以安装后找个合适的时机删除!
[/Quote]
最靠谱的答案,只是如何下载后自动安装,如何卸载自己呢?
sam_zhang1984 2011-05-07
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 milanshva 的回复:]

引用 10 楼 sam_zhang1984 的回复:
我的做法是:
1、当程序运行时,有一个子线程连接服务器看有没有新版本
2、如果有新版本,提示用户,是否升级
3、如果用户选择升级,则从服务器上下载新版本程序,然后自动安装!

如果你不想保留你的程序在SD卡里,可以安装后找个合适的时机删除!

最靠谱的答案,只是如何下载后自动安装,如何卸载自己呢?
[/Quote]

不需要卸载自己啊,只要你的签名是同一个,调用系统安装你下载的新版本程序,自然会代替掉原来的旧版程序。
CrossTime 2011-05-06
  • 打赏
  • 举报
回复
这种在线更新是不是只是更新了里面的数据或者so,
apk的"壳"没有做大的改变
anbam 2011-05-06
  • 打赏
  • 举报
回复
原理上讲
在线更新:首先你要有一个公网的服务器地址,存放你最新的资源,其次你的软件需要定时访问你的资源,发现有更新,进行特定的操作。具体的操作规则应该由你自己的软件定义以及实现
prince58 2011-05-06
  • 打赏
  • 举报
回复
你说的是什么软件,我先看看?
儿大不由爷 2011-05-06
  • 打赏
  • 举报
回复
难道是应用程序本身下载APK然后自动安装么?
dinjay 2011-05-06
  • 打赏
  • 举报
回复
直接安装就行了吧,只要包名相同,系统会先关闭掉运行中的旧程序。
sam_zhang1984 2011-05-06
  • 打赏
  • 举报
回复
我的做法是:
1、当程序运行时,有一个子线程连接服务器看有没有新版本
2、如果有新版本,提示用户,是否升级
3、如果用户选择升级,则从服务器上下载新版本程序,然后自动安装!

如果你不想保留你的程序在SD卡里,可以安装后找个合适的时机删除!
dinjay 2011-05-06
  • 打赏
  • 举报
回复
一般的程序“升级”的只是数据,并不升级程序。
Alan_Miu 2011-05-06
  • 打赏
  • 举报
回复
发软件上来看看吧
knight0819 2011-05-06
  • 打赏
  • 举报
回复
我觉得具体的操作规则应该由你自己的软件定义以及实现,具体没有试过,去一些android技术论坛看看,应该可以找到很多资料,www.connectionwe.com安卓航班网

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧