【问题标题】:Faster Way to Query Application's Current Version on Google Play?在 Google Play 上查询应用程序当前版本的更快方法?
【发布时间】:2012-08-12 21:15:54
【问题描述】:

我希望能够在应用程序启动时将运行版本与当前在 Google Play 上的同一应用程序版本进行比较。

我找到了一个很好的方法,描述为here

public String getLatestVersionNumber() {
    String versionNumber = "0.0.0";

    try  {
        Document doc = Jsoup.connect("http://www.appbrain.com/app/wallpaper-switch/com.mlevit.wallpaperswitch").get();
        Elements changeLog = doc.select("div.clDesc");

        for (Element div : changeLog) {
            String divText = div.text();

            if (divText.contains("Version")) {
                return divText.split(" ")[1];
            }

        }
    }
    catch (IOException e)  {
        e.printStackTrace();
    }

    return versionNumber;
}

但这太慢了,严重影响了用户在应用程序启动时的体验。

有没有一种更快的方法可以在 Google Play 上查询应用程序的当前版本?

也许是一些隐藏的 LVL 或应用内计费 API?

【问题讨论】:

  • 为什么不在 AsyncTask 中做呢?这样就不会干扰用户界面?另外,您到底想完成什么?
  • @kcoppock 我想显示一个对话框,通知用户更新版本并建议去 ​​Google Play 更新它(许多用户不会费心检查 Google Play 的更新,所以我需要让他们尽快了解新版本)。你能通过 AsyncTask 发表你的建议吗?
  • 这依赖于 AppBrain 不改变他们的网页设计,并间接依赖于 AppBrain 盗版 Play Store 数据。请在包含您应用程序版本号的某个地方(例如 Amazon S3)维护您自己的文件。并且总是在后台线程(例如,AsyncTask)上进行网络 I/O。
  • @CommonsWare 这就是我寻求更好方法的原因。您确定没有任何 API 可以更快地提供 Google Play 版本吗?你能通过 AsyncTask 发表你的建议吗?

标签: android google-play in-app-billing android-lvl


【解决方案1】:

您确定没有任何 API 可以更快地提供 Google Play 版本吗?

嗯,根据定义,网络访问很慢。即使 Google Play 有文档化、受支持和许可的 API(在撰写本文时还没有),它也只会比您正在做的事情快一点。

您能否发表关于如何通过 AsyncTask 执行此操作的建议?

第 1 步:创建文件。

第 2 步:在该文件中,输入您的版本号,还可以选择以某种格式(例如 JSON)输入其他数据(例如更新说明)。

第 3 步:将该文件上传到某个知名的稳定 URL。

第 4 步:创建一个 AsyncTask,将您的文件的 HTTP 请求放在 doInBackground()AsyncTask 中,同时更新您的 UI(最好通过 非模态 的方式)同一个AsyncTaskonPostExecute()

Here is a sample project 演示了一个 AsyncTask,它执行 HTTP 操作(从美国国家气象局获取天气预报)并解析结果,完成后更新 UI(填充 WebView)。

【讨论】:

  • 完美。效果很好。谢谢。
  • 链接失效了,在哪里可以找到示例?谢谢
  • @user2342558:这个答案来自 2012 年。我预计 AsyncTask 将在大约六周内被弃用。不要使用AsyncTask
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-19
  • 1970-01-01
  • 2020-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多