2013-02-13 112 views
3

我需要一些帮助,如何通过编程来更新Android应用程序没有Android市场

1)我开发的应用程序中,我要显示脱机网站,包括视频,所以我加在原始文件夹影片的离线访问应用程序,我想在几天后更改视频(可能会添加或删除应用程序中的一些视频)。 因此有可能在不使用android市场的情况下更新我的应用程序?

这个想法是当我启动应用程序它将解析json并检查我的网站上是否有新版本的应用程序可用。如果它是可用的,它将开始下载它(我不想打开浏览器进行下载,更新应该在我的应用程序或后台完成),然后重新安装它。如何通过编程方式来实现?

还我怎么能在缓存网页的整个网站view.currently我使用这个代码,但它仅缓存访问过的网页(我们在应用程序中打开页面)

webView.getSettings().setLoadsImagesAutomatically(true); 
webView.getSettings().setDomStorageEnabled(true); 
webView.getSettings().setAppCacheMaxSize(1024*1024*24); 
String appCachePath = getApplicationContext().getCacheDir().getAbsolutePath(); 
webView.getSettings().setAppCachePath(appCachePath); 
webView.getSettings().setAllowFileAccess(true); 
webView.getSettings().setAppCacheEnabled(true); 
webView.setWebChromeClient(new WebChromeClient()); 
webView.setWebViewClient(new WebViewClient()); 
if (savedInstanceState == null) { 
if(isNetworkAvailable() == true){ 
webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); 
webView.loadUrl("http://www.xyz.com"); 
    } else { 
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ONLY); 
webView.loadUrl("http://www.xyz.com"); 
    } } } 

2)如何安装通过USB无需点击日蚀运行按钮从苹果机到平板电脑的apk。 我想安装这个apk到200片,所以我正在寻找一些批处理程序或一些脚本,这将是一个点击安装脚本的应用程序。 我在gooogle上搜索时发现有一个Multiple apk on click,但我不知道它是否适用于非植根平板电脑。

等待回复。 谢谢

+1

我有一个开源项目,可以让你检查,下载和安装更新从你的应用程序[这里](https://github.com/RaghavSood/AppaholicsUpdateChecker/) – 2013-02-13 13:15:30

+0

@RaghavSood非常感谢你的男人。 。你有一些实现示例吗?并在下载apk后会要求用户安装?如果同一应用程序正在运行并且完成下载,则会发生什么情况,而不是退出应用程序并安装或等到退出并安装更新。 – 2013-02-13 13:25:11

+0

有一个集成指南[这里](https://github.com/RaghavSood/AppaholicsUpdateChecker/wiki/API-2-Integration-Guide)。除此之外,您可以选择立即下载和安装,或下载并在不同的时间安装。它会下载并安装,如果退出你的应用程序,如果它在前台。 – 2013-02-13 13:27:17

回答

2

有两种方法可以做到这一点 首次使用推送通知,当他们从你的Web服务器上的通知下载点击APK,让他们安装告知用户新的版本(我用这个)

其他选项可能会在某些修复时间(一天)后轮询您的Web服务器,并检查新版本是否可用一旦可用,将新版本可用时将其推送到新的版本可用,当用户单击它时会再次重复上述过程为您所需要的一切是您将请求发送的网络服务器,并从那里您将使用户下载应用程序

+0

嗯声音cool..but当我点击通知,下载更新比它不会打开网页浏览器下载..它应该下载在我的应用程序(或在后台)。如果您不介意的话,您可以与我分享您的示例实施代码吗? – 2013-02-13 13:28:45

1

我认为商店视频等资源是一个不好的方法。

您可以通过定时器将您的数据与您的网站同步,并将所有数据全部保存在数据库或SD卡中 - 因此您无需重新安装应用程序,但有时只需下载一些数据,所有数据都将在您的设备上可用的离线。

而关于脚本 - 你可以编写自己的脚本,只能运行abd install app - 因此你只需要在不打开IDE的情况下启动adb。

顺便说一句,无需用户操作(在非root用户的设备上),您就可以“重新安装”您的应用程序 - 因此用户重新安装应用程序非常不方便。

修订

通过USB安装应用程序 - 这个人必须有亚洲开发银行。

他们不想等到下载完成

但在这种情况下,他们不得不等待,直到应用程序被下载=)。 他们必须下载内容甚至是资源内容或在线提供。

如果你想创建这样的应用程序有内置的内容,您可以与一些问题,面对:

  • 有些设备将不会接受你非常巨大的APK(> 20 MB用于例如HTC Desire的是一个坏想法=)
  • 每次你想更新你的应用程序,人们必须重新下载大量的梗死,如果你内置在线缓存,他们可以花更少的时间下载差异。即使人们通过USB安装您的应用 - 您可以将所有数据放在SD卡上。
  • 您无法以非人为设备升级您的应用程序,以免人们生气 - 每次都必须重新安装应用程序。但用我的方法可以睡觉和内容可以下载。

所以我不能想象任何用例,当你的方法比平常的“在线”方法更好。

+0

我想像批处理文件(如窗口),这将做所有工作在一个点击和安装(非技术人员在平板电脑上安装应用程序)或像make文件..但我不知道我怎么能创建它。你可以帮我吗。 – 2013-02-13 13:39:12

+0

我正在开发的应用程序更离线,更少在线..就像我在平板电脑上安装应用程序使用将使所有信息离线。他们不想等到下载完成。你的想法很好,但我的情况是不同的,这就是为什么当添加新视频时,我会将它添加到项目文件夹中,并为我的应用进行版本更新,并且会自动下载和更新。你有其他建议吗? – 2013-02-13 13:43:20

+0

检查更新回答 – dilix 2013-02-13 14:16:19

相关问题