如何从sql server下载新的apk文件并使用新的apk版本更新应用程序

时间:2014-12-19 12:45:34

标签: android sql-server apk

我有一个Windows sql服务器,我已经上传了我的应用程序apk文件的新版本。现在我想在代码中下载apk并将其保存在我的设备上,然后刷新应用程序,以便运行新版本。如果这是不可能的,我需要一个解决方案,我有2个应用程序,其中应用程序A将进行版本检查和可选更新,然后自动启动应用程序B,这将是我希望用户使用的实际应用程序。

我见过类似的解决方案,开发人员从http服务器下载文件,但我没有这个选项,必须使用数据库来获取文件。有没有办法使用InputStream来定位一个不是Web URL的文件,而是从tge数据库中收到的byte []。

2 个答案:

答案 0 :(得分:0)

清单文件中的更改

android:versionCode="1"
    android:versionName="1.0"

将versionCode更新为“2”

答案 1 :(得分:0)

我设法解决了这个问题。

private void downloadNewVersion(ArrayList<CustomFileObjectWithIDAndFilePath> fileList) {

    CallableStatement statement = null;

    try {
        statement = con.prepareCall("{call some_stored_procedure (?)}");
        statement.setInt(1, fileList.get(0).ID);
        statement.execute();
        ResultSet rs = statement.getResultSet();


            while (rs.next()){

                byte[] fileContent= rs.getBytes("File");

                FileOutputStream fs = new FileOutputStream(new File(fileList.get(0).name));
                fs.write(fileContent, 0, fileContent.length);

                fs.flush();
                fs.close();
            }


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

我只是运行一个方法来启动我安装下载文件的意图。