Android检查没有Play商店的新更新

时间:2014-12-13 09:49:22

标签: android

我上周从谷歌搜索,但我没有找到任何可以帮助我的教程。

我正在使用Android应用程序,并且几天前加入了Android开发,这意味着我是新手。

我开发了一个应用程序来执行某些任务,如发送电子邮件,发送消息等。

我不打算在Google Play商店中托管我的应用程序,因为我认为现在不适合这样做。这意味着我在自己的服务器上托管我的应用程序。

我想对我的应用程序进行更新检查,以便在服务器上有新版本时立即通知用户。[在后台运行]

此外,页面上还有一个Check for Update按钮,点击后会检查更新是否可用,并通知用户下载(如果有)。

请帮帮我。 因为我是新来的,所以尽量准确,一步一步指导会很明显。

3 个答案:

答案 0 :(得分:2)

你应该在你的按钮上添加一个点击监听器,它会执行一些代码,这些代码会向你的服务器发送一个请求,告诉他现在使用的是哪个版本,服务器会将它与当前版本进行比较并发送回结果(版本是否相同,如果它们不相等,它也可以发送实际版本的下载链接。)

分步指南:

  • 在服务器端实现逻辑。
  • 在您的应用中实施请求发送代码。
  • 在您的应用中实施请求接收代码。
  • 将click侦听器设置为该按钮,它应该调用您在步骤2中编写的代码。
  • 使用步骤3中收到的链接实现文件下载(您也可以自动打开下载的文件)

警告:

如果您将应用上传到Google Play™,则不需要上述任何内容。再想一想,值得吗?

更新1

请勿忘记确保您的服务器使用HTTPS,并在连接时验证证书的有效性。

答案 1 :(得分:2)

我找到了解决问题的方法。

这是我为了让它发挥作用而做的......

1。从github下载WVersionManager

下载链接:Click Here

download wversionmanager

2。将下载的文件解压缩到桌面上的文件夹(或您希望的任何目录)

enter image description here

3。从java目录中复制最新版本的WVersionManager.java

WVersionManager.java

4。打开您的Android项目并展开libs文件夹,然后右键单击并粘贴

copy paste in lib folder


粘贴后

paste wversionmanager.java in lib

5。打开要在其中添加功能的layout.java文件(例如,activity_main.java或将新的类文件设置为update.java。并粘贴更新代码ofter onCreate()

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        WVersionManager versionManager = new WVersionManager(this);
        versionManager.setVersionContentUrl("http://link_to_version_test_file/version.txt");
        versionManager.setUpdateUrl("http://link_to_updated_apk_file/latest.apk");
        versionManager.checkVersion();

此代码将在每次启动应用程序时检查更新,并且新的更新可用,它将通过弹出窗口通知用户。

6。点击按钮

添加更新

更新也可以分配给按钮点击,即,如果用户点击按钮,它将检查新的更新。

public class about extends ActionBarActivity {

    Button updateButton;

    @Override
    protected void onCreate (Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.about);

        updateButton = (Button)findViewById(R.id.button_Update);

        updateButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
        WVersionManager versionManager = new WVersionManager(this);
        versionManager.setVersionContentUrl("http://link_to_version_test_file/version.txt");
        versionManager.setUpdateUrl("http://link_to_updated_apk_file/latest.apk");
        versionManager.checkVersion();
            }
        });
    }

7。 version.txt文件的内容

version.txt包含以下代码:

{"version_code":6,"content":"Version 1.5 <p>Added feature 1</p><li>Added feature 2</li><li>Added feature 3</li><li>Added feature 4</li><li>Added feature 5</li>"}

version_codecontent:version分别是应用程序的版本代码和版本名称,如清单文件中所述。

要添加更多功能,只需添加<li>Added feature title</li>

即可

8。为您的应用授予互联网权限

将这些行添加到应用程序的清单文件中。

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

9。多数民众赞成......你现在已经完成了......

现在检查您的应用程序,它必须正常工作。

注意:您可以为更新脚本添加更多自定义,检查解压缩的文件夹以获取更多详细信息。希望这也适用于其他人。

我已经在android 2.3和android 4.3版本及其工作中测试过它。

答案 2 :(得分:1)

解决方案很简单。编写Web服务以检查最新的应用程序版本。在您的应用程序中,以编程方式将webservice的版本号与当前安装的版本号进行比较。如果来自webservice的版本代码比其他版本大,请调用“检查更新”,并显示您的应用程序有新版本。