注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

沉默蜂B4A安卓编程

国内资料最全的B4A资料库

 
 
 

日志

 
 

[原创][AppUpdating库]在线更新APK代码  

2015-06-16 07:30:22|  分类: 网络编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
首先要确保你的空间后台的“MIME类型”设置里已添加了".apk",否则B4A无法到你的空间下载APK文件的,这一点千万要牢记,可以参考我的文章《[原创]B4A网络编程注意事项之“MIME类型”设置 》进行后台设置。 

B4A官网提供了一下让APP自动更新的库,可到官网去下载,并结合我以前发表的文章《AppUpdating库的使用》操作。
注意:在使用AppUpdating库过程中不必去打勾HttpUtils2库,因为AppUpdating库不会去调用HttpUtils2库里的东西。



[原创][AppUpdating库]在线更新APK代码 - 沉默蜂 - 沉默蜂B4A安卓编程实战资料
 先要在库选项卡中选中这个库


[原创][AppUpdating库]在线更新APK代码 - 沉默蜂 - 沉默蜂B4A安卓编程实战资料
与代码 gapkUpdt.PackageName = "b4a.NewApp" 要一致

[原创][AppUpdating库]在线更新APK代码 - 沉默蜂 - 沉默蜂B4A安卓编程实战资料
 空间上放置升级相关的文件



代码如下:

#Region Project Attributes

#End If

#VersionCode: 1


'升级的版本就是与下面这句代码所指示的版本相比较再升级
#VersionName: 1.0

#End Region



Sub Globals

#Region 更新软件

'cl_appupdate 是安卓程序在线更新库里的一个类
Dim gapkUpdt As cl_appupdate

'软件会先通过下载gFileVer和gFileVirtualAPK来判断包含版本信息的文本文件和APK程序是否存在
Dim gFileVer, gFileVirtualAPK As String

#End Region

End Sub


'升级程序,可在B4A程序的任意一个地方调用这个子函数
Sub Update

ProgressDialogShow("更新程序...")

'这段内容将直接影响到能否成功下载APK
'[原创]B4A网络编程注意事项之“MIME类型”设置
'http://silentbees.blog.163.com/blog/static/22878903120144129199893/

Dim vNet As String = "http://www.sd2015.cn"

'软件会先通过下载gFileVer和gFileVirtualAPK来判断包含版本信息的文本文件和APK程序是否存在
gFileVer =vNet & "/upapk/yhFileVer.txt"
gFileAPK =vNet & "/upapk/yhFileVirtualAPK.apk"

'初始化
gapkUpdt.Initialize(Me,"update")

'True 表示有大量日志
gapkUpdt.Verbose = True

'设置应用程序包名
gapkUpdt.PackageName = "b4a.NewApp"

'后缀为txt的文本文件里包含版本信息,这是必须要设置的
gapkUpdt.NewVerTxt = gFileVer

'要更新的apk(安卓程序文件后缀为apk)完整路径,这是必须要设置的
gapkUpdt.NewVerApk =gFileAPK


'这一项设置是保选的,它用来设置凭据访问受保护的文件夹。
' gapkUpdt.setCredentials("test","test")


'这是一个可选项,如果你想显示一个闪屏,来减少用户等待时产生的不安情绪
'软件将会载入目录资源里的一张图片
' gapkUpdt.SetAndStartSplashScreen(Activity,LoadBitmap(File.DirAssets, "updating.jpg"))

'让你的程序实现自动更新,程序会会检查是否有新的apk,并要求用户下载安装它
'然后程序会去调用update_UpdateComplete子函数
gapkUpdt.UpdateApk

End Sub


'自动更新
Sub update_UpdateComplete

'停止闪屏,并清除闪屏
' gapkUpdt.StopSplashScreen

'检查网上提供的APK
Select gapkUpdt.Status

Case gapkUpdt.OK_CURVER
cLog(" 当前安卓程序版本号: " & gapkUpdt.CurVN)

Case gapkUpdt.OK_WEBVER
cLog( " 网上的安卓程序版本号: " & gapkUpdt.WebVN)

Case gapkUpdt.OK_NEWERAPK
cLog( " 网上版本是最新的")

Case gapkUpdt.NO_NEWERAPK

'退出等待状态
ProgressDialogHide

Msgbox("网上没有新版本","升级程序")

Case gapkUpdt.OK_DOWNLOAD
cLog( "正在下载新版本")

Case gapkUpdt.OK_INSTALL

'退出等待状态
ProgressDialogHide

cLog("出现安装程序界面")

Case Else
cLog(" 状态: "&gapkUpdt.Status)

'退出等待状态
ProgressDialogHide

End Select

End Sub


  评论这张
 
阅读(355)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017