100分求可用的android程序自动更新例程,要含注释 分数不多,希望各位帮帮忙,例程我在网上也找到了,但是没有注释,有没有人能提供直接可以用的工程和注释,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自动更新版本应该很简单的吧?。服务端给个接口进入程序就访问 服务端返回服务器最新版本号 和apk下载的url然后与本地版本比较如果需要更新 启动下载就行了另外还可以多加个字段 是否强制更新 如果要求不高直接用友盟吧umeng.com 这里传不了源码,请大家点击这里下载下吧,升级的APK文件是放在自己的IIS本地服务器上的,已经测试从手机直接下载这个APK文件是无问题的,也修改了Config.java下的UPDATE_SERVER地址为本地地址,但是无论是在模拟器还是手机上运行,都没有提示发现新的版本需要升级,求解。 你首先获取本地app的版本号,再与服务器返回的版本号进行比较。逻辑自己判断。需要更新就直接走你那个下载流程,完成默认自动安装。 上面有比较本版号的了啊,这段不是吗?@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //比较服务器版本 if (getServerVerCode()) { int vercode = Config.getVerCode(this); if (newVerCode > vercode) { doNewVersionUpdate();//发现新版本更新 } else { notNewVersionShow();//没有新版本 } } } 你的例子写的很清楚啊,Config.java是获得appName,version code version name的配置类,NetworkTool.java是负责链接网络获取最新的apk信息,UpdateActivity.java就是处理更新逻辑的类。 服务器给一个更新接口,把apk下载下来,然后安装即可。 这是下载的数据有问题造成的,不符合apk包格式。 是不是没有这个Intent i = new Intent(Intent.ACTION_VIEW); String filePath = "/sdcard/XXX.apk"; i.setDataAndType(Uri.parse("file://" + filePath),"application/vnd.android.package-archive"); context.startActivity(i); 并非必然是下载的数据有问题。因为我也有这个情况,下载的apk文件用命令行adb install 安装没有问题,说明下载的数据格式正确。而在Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File("/sdcard/458.apk")), "application/vnd.android.package-archive"); startActivity(intent);这段代码中,会出现parse error的提示。我看了网上的好多代码,都是这样写的,难道他们都没遇到过这个问题?还是说代码是大家粘来沾去的,其实都没验证过。请牛人解答,谢谢。 但是我将apk放在局域网的一个服务器上,再用真机下载就能安装上,太无语了后来使用友盟的自动更新API,同样是这个问题,能下载安装不上 Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File("/sdcard/458.apk")), "application/vnd.android.package-archive"); startActivity(intent);----------------------------------------就是这个代码,完全自动控制,系统提示:是否安装,不是手动的我测外网内网就是改下URl其他不动还有一个就是我在服务器上放.apk文件的时候,根本就下不来,用浏览器直接放apk的url,敲回车都下不了,只能改成rar后缀,这就能下了,然后下到机器的时候通过代码将其后缀再改成apk,你们遇到这种情况了吗 public static final String UPDATE_VERJSON = "ver.json";这里面的 接口文件 ver.json 如何写?为什么是 .json 格式的,迷糊?? 这个是楼主发的案例的中的。 http://blog.csdn.net/furongkang/article/details/6886526樓主給分 从serivce中使用SurfaceView(没有activity) 在eclipse下拖了几个android的控件,难排列整齐 android 自定义应用分类 跪求C-TEST工具以及源码 动态注册broadcastreceiver短信接受问题,急! ExpandableListView添加长按事件 打开framebuffer设备失败 JNI和NDK的区别和联系 Android横竖屏切换 android游戏启动动画返回问题 求openGL es for android 应用程序卸载问题
服务端给个接口
进入程序就访问 服务端返回服务器最新版本号 和apk下载的url
然后与本地版本比较
如果需要更新 启动下载就行了
另外还可以多加个字段 是否强制更新 如果要求不高
直接用友盟吧
umeng.com
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//比较服务器版本
if (getServerVerCode()) {
int vercode = Config.getVerCode(this);
if (newVerCode > vercode) {
doNewVersionUpdate();//发现新版本更新
} else {
notNewVersionShow();//没有新版本
}
} }
Intent i = new Intent(Intent.ACTION_VIEW);
String filePath = "/sdcard/XXX.apk";
i.setDataAndType(Uri.parse("file://" + filePath),"application/vnd.android.package-archive");
context.startActivity(i);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File("/sdcard/458.apk")),
"application/vnd.android.package-archive");
startActivity(intent);
这段代码中,会出现parse error的提示。我看了网上的好多代码,都是这样写的,难道他们都没遇到过这个问题?还是说代码是大家粘来沾去的,其实都没验证过。请牛人解答,谢谢。
intent.setDataAndType(Uri.fromFile(new File("/sdcard/458.apk")),
"application/vnd.android.package-archive");
startActivity(intent);
----------------------------------------
就是这个代码,完全自动控制,系统提示:是否安装,不是手动的
我测外网内网就是改下URl其他不动还有一个就是我在服务器上放.apk文件的时候,根本就下不来,用浏览器直接放apk的url,敲回车都下不了
,只能改成rar后缀,这就能下了,然后下到机器的时候通过代码将其后缀再改成apk,你们遇到这种情况了吗
这个是楼主发的案例的中的。
樓主給分