我想在应用程序中实现更新检查程序,显然我只需要在启动应用程序时显示一次.如果我在onCreate()或onStart()方法中进行调用,则每次创建活动时都会显示该调用,这不是一个可行的解决方案.
所以我的问题是:有没有办法做一些事情,比如检查更新,每个应用程序启动/启动一次?
对不起,如果有点难以理解,我很难在这个问题上解释自己.
问题:我有一个独立的Java应用程序(以下称为"代理"),它作为内部公司服务器上的服务运行.它充当某些中央服务器的远程代理.随着代理部署在更多地方,管理它们变得越来越复杂.具体来说:推送更新很痛苦,因为它是一个相当手动的过程,并且访问日志和有关运行代理的环境的其他信息是有问题的,这使得调试变得困难.正在讨论的服务器无头且无人值守,这意味着这必须是一个完全自动化的过程,无需人工干预,因此Java Web Start不是一个可行的解决方案.
建议的解决方案:定期将代理电话置于家中(到中央服务器)以提供代理状态并检查更新.
我对这个问题的其他建议解决方案持开放态度,但我已经有了一个关于"状态和自我更新"想法的工作原型,这就是这个问题所关注的问题.
我想出的实际上是一个单独的项目,充当代理的包装器.包装器通过HTTP定期调用中央服务器以检查代理的更新版本.找到更新后,它会下载新版本,关闭正在运行的代理,然后启动新版本.如果这看起来像一个奇怪的或迂回的解决方案,这里有一些值得注意的其他考虑/约束:
问:如上所述,我想知道如何制作自我更新的Java应用程序.更具体地说,是否有任何框架/库可以帮助我解决这个问题?在这方面有经验的人能给我一些指示吗?
目前我正在检查启动时的应用版本代码,并将其与我服务器上的最新版本代码相匹配,并根据此匹配我发送用户以获取Android市场的最新更新.
它运行良好但我的问题是我必须手动更改我的服务器上的最新版本代码,我不知道APK在市场上何时激活新版本.
有没有办法直接在Android市场上检查应用程序的版本代码,以便我可以在新的apk被激活时将用户直接发送到市场?
我们需要创建一个能够自我更新的Windows服务.
想到三个选择,
管理第一个服务的检索,卸载和安装的第二个服务.
使用一些第三方框架(建议欢迎.我相信.NET支持自动更新Windows窗体应用程序,但不支持Windows服务)
使用插件模型,其中服务仅仅是包含更新和运行逻辑的shell,并且服务的业务逻辑包含在可以换出的DLL中.
任何人都可以解决这个问题的解决方案吗?
谢谢
我需要stackoverflow的一些智慧.
我将开发一个GUI应用程序,它将通过表单处理xml数据.我选择了两个选项:Java(swing或swt)或Qt.
我已经尝试过Qt(Qt设计师)和Java(Eclipse)的基础教程.我必须承认,两者都将满足我的需求.
我要解决的最后一个问题是部署会有多痛苦?
最终用户是非技术人员,因此安装和更新过程必须简单.
Java具有Java Web Start,易于更新; 如果没有JVM需要,Qt可能会更"打包".
你怎么看 ?优缺点都有什么 ?
非常感谢
我今天在Google Play上发布了我的第一款应用,哇!在我看到Google Play中列出的应用后,我意识到我需要进行更改并发布更新.
我在清单文件中更改了代码并增加了versionCode和versionName.然后我构建了我的apk,使用与提交给Google Play的原始apk相同的密钥进行签名.
我上传了一个新的apk,取消了原来的apk,然后激活了新的apk并点击了Save.
我等了几个小时,在Google Play中查看并且可以看到是的,我在versionName中添加的新值已更新.
在我的Android手机上,我最初安装了第一个版本,但是当我在手机上使用Google Play时,我看到了我的应用程序的新版本,但唯一的选项是"打开"和"卸载".
我需要在开发者控制台或任何地方对我的应用程序执行什么操作,以便当我或任何其他用户在Google Play中访问我的应用时会显示更新选项?
在Android Developer中做一些研究,我读到了这个:
android:versionCode内部版本号.此数字仅用于确定一个版本是否比另一个版本更新,更高的数字表示更新的版本.这不是向用户显示的版本号; 该号码由versionName属性设置.该值必须设置为整数,例如"100".您可以根据需要定义它,只要每个连续版本具有更高的数字即可.例如,它可以是内部版本号.或者,您可以通过在低16位和高16位分别编码"x"和"y"将"xy"格式的版本号转换为整数.或者,每次发布新版本时,您只需将数字增加一即可. http://developer.android.com/guide/topics/manifest/manifest-element.html
然后我发现了这个:
如果满足以下条件,Google Play可以管理预装应用程序的更新:必须将包含预先加载的应用版本代码的软件包名称上传到开发者控制台 http://support.google.com/googleplay/android-开发商/的bin/answer.py?HL = EN&答案= 113476&话题= 2365760&CTX =话题
所以我很困惑,我是否增加版本代码.我很确定我应该增加它,但是再次更新选项没有出现.
我正在尝试在intellij中构建,部署和调试我的webapp.
我使用这个答案设置了我的tomcat ,我能够让服务器运行.问题是我的webapp没有被部署,尽管它在deployment选项卡中定义.
我收到以下错误: 服务器未连接.部署不可用
如果我复制战争并启动服务器,一切正常.端口8080和8000.
我究竟做错了什么?
为了防止它以某种方式相关,该项目是使用Maven和Spring构建的
我添加了服务器的运行/调试配置:
服务器标签

部署选项卡

调试控制台输出:
D:\development\infra\appServers\apache-tomcat-7.0.47\bin\catalina.bat run
[2014-08-05 01:23:11,413] Artifact devstage:war exploded: Server is not connected. Deploy is not available.
Using CATALINA_BASE: "C:\Users\chaim\.IntelliJIdea13\system\tomcat\Unnamed_devstage_4"
Using CATALINA_HOME: "D:\development\infra\appServers\apache-tomcat-7.0.47"
Using CATALINA_TMPDIR: "D:\development\infra\appServers\apache-tomcat-7.0.47\temp"
Using JRE_HOME: "C:\Program Files\Java\jdk1.7.0_45"
Using CLASSPATH: "D:\development\infra\appServers\apache-tomcat-7.0.47\bin\bootstrap.jar;D:\development\infra\appServers\apache-tomcat-7.0.47\bin\tomcat-juli.jar"
Aug 05, 2014 1:23:12 PM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.29 using APR version 1.4.8.
Aug 05, 2014 1:23:12 PM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile …Run Code Online (Sandbox Code Playgroud) 为.NET WinForms应用程序创建自动更新功能时,它如何更新DLL而不影响当前运行的应用程序?
由于应用程序在更新过程中运行,因此不会锁定DLL(因为在更新期间必须覆盖这些DLL).
通过互联网更新MSI安装的最佳方法是什么?
ClickOnce不支持MSI.
我需要通过互联网自动进行更新,就像发生Windows更新一样.
理想情况下,我希望我的应用程序能够自动检测到更新是否可用并下载并安装它.
答案应该只处理MSIs安装.我不介意是否需要安装Windows服务来监控更新.
我有一个用于Firefox的Greasemonkey脚本.该脚本包括这个元块和一些代码行.
我想在服务器上更新我的脚本,然后自动更新浏览器的脚本.该requireSecureUpdates选项已关闭.
我究竟做错了什么?
我的1.meta.js
// ==UserScript==
// @name Ibood autosubmit
// @include https://*.ibood.com/*
// @include http://*.ibood.com/*
// @include *
// @version 1.1
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @grant GM_addStyle
// @downloadURL http://www.tipsvoorbesparen.nl/1.user.js
// @updateURL http://www.tipsvoorbesparen.nl/1.meta.js
// ==/UserScript==
Run Code Online (Sandbox Code Playgroud) auto-update ×10
android ×3
deployment ×2
java ×2
google-play ×1
greasemonkey ×1
installer ×1
qt ×1
service ×1
tampermonkey ×1
tomcat ×1
war ×1
winforms ×1