android - 在 Google Play 上查询应用程序当前版本的更快方法?

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

我希望能够在应用程序启动时将正在运行的版本与当前在 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?

最佳答案

Are you sure there isn't any API that provides the Google Play version much faster?

嗯,顾名思义,网络访问速度很慢。即使 Google Play 有一个记录的、受支持的和许可的 API(在撰写本文时他们还没有),它也只会比您正在做的事情快一点。

Can you post your suggestion on how to do that via AsyncTask?

第 1 步:创建文件。

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

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

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

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

关于android - 在 Google Play 上查询应用程序当前版本的更快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11925945/

相关文章:

android - 是否可以将布局 xml 放在/res/layout 下的子目录中?

android - 什么算作地理编码?

java - 在 Android 中取消应用内计费订阅

android - 应用内计费设计 - 如何在首次安装时为用户提供免费项目

使用同一测试帐户在多台设备上进行 Android 应用内结算 v3 测试

安卓测试 : Target app vs Test app?

Android - 快速点击后点击按钮的点击声音停止

Android Inapp 版本 3 错误

google-play - 发生意外的错误。请再试一次。 (7854D9A9) Google Play 控制台

android - 市场过滤器,如何排除布局-notlong