【问题标题】:How 'Update' functionality works in android mobile applications?“更新”功能如何在 Android 移动应用程序中发挥作用?
【发布时间】:2025-12-20 06:10:11
【问题描述】:

我正在开发 android 移动应用程序,其中我使用 xml 来显示数据,并且该应用程序也有图像。当我第一次生成 apk 并安装它时,它会正常工作。

我的问题是更新应用程序。

我在服务器上的数据库中有数据,并且在单独的目录中也有图像。当我将更新应用程序时,我想要来自数据库的数据和来自服务器的图像。为此,我将生成包含数据库表值的 xml。

我的问题是,是否可以在移动应用程序中用新的 xml 覆盖现有的 xml,并将图像从服务器添加到移动设备?

其背后的逻辑,用户将离线使用此应用程序。

我不想在应用程序中使用数据库。

下面是示例 xml 代码

<?xml version="1.0" encoding="iso-8859-1"?>
<projects>
    <list>
        <project1>
            <name>Project1</name>
        </project1>
        <project2>Project2</project2>
        .
        .
        .
    </list>
</projects>

如果我选择 project1,那么它将显示来自 project1 的相关 xml 的数据,即 project1.xml

<?xml version="1.0" encoding="iso-8859-1"?>
<project1>
    <overview>some text here</overview>
    <amenities>
        <amenity1>
            <title>Title1</title>
            <description>Some text here</description>
        </amenity1>
        <images>
            <sample1>Image Path</sample1>
            <sample2>Image Path</sample2>
        </images>
        .
        .
        .
    </amenities>
</project1>

在上面的例子中,第一个 xml 是所有项目的列表。第二个示例是每个项目的相关 xml。 现在,当我更新应用程序时,它将替换新更新的 xmls 或在应用程序中添加新的 xmls。 这可能吗?另外,更新时是否可以下载新图像?

【问题讨论】:

    标签: android mobile-application


    【解决方案1】:

    当您更新应用程序时 - 通过增加版本号并在市场上发布 - 用户手机中的 apk 文件将被您的最新文件替换。因此,如果您更改了代码,使其使用一些新的 xml 来检索数据,它应该可以工作。对于数据库,如果你增加了数据库版本号,将调用SQLiteOpenHelper类中的onUpgrade()方法,你也可以根据需要修改数据库。

    编辑(回答已编辑的问题):

    现在当我更新应用程序时,它将替换新更新的 xmls 或在应用程序中添加新的 xmls。这可能吗?

    就像我上面提到的,如果你有一个新版本的apk,它有你的新xmls,那么当用户完成更新时,他的应用程序就会有你的新xmls。但我要说的是,您可能需要更改代码,以便它可以解析和处理来自服务器的新图像路径。

    是否可以在更新时下载新图像?

    这在更新时是不可能的。但是,一旦您的应用程序打开,您可能会调用一些函数来读取和解析您的 xml,并开始从您的服务器中提取图像和数据。

    【讨论】:

    • 谢谢 Aswin,我不想更改代码,我只想从我的服务器数据库中获取新记录并将其以 xml 格式存储在应用程序中,以便我可以从 jquery 获取并显示它,这里我使用的是 Jquery 移动功能。我不想使用本地数据库。图片呢?
    • 告诉我,更新应用程序是什么意思?
    • 更新意味着,只从实时服务器数据库中检索最新记录和新更新的图像。
    • 您的情况从问题中不是很清楚。你能解释一下你正在使用的这个“xml”到底是什么(粘贴示例代码),以及你是如何使用它来显示数据的吗?
    【解决方案2】:

    您无法更新使用 XML 的应用的 UI 部分,除非从 Play 商店(或备用商店)更新您的应用。

    您可以将 XML 或 JSON 格式的数据从您的服务器传递到您的应用程序。您可以解析这些数据,并且必须创建某种形式的持久层来存储它(这将是一个本地数据库或其他东西)。

    然后,您可以从本地数据库中检索这些数据并随意使用它。

    【讨论】:

    • 谢谢 Anup,在这里我不想更改 UI,我只想从我的服务器数据库中获取新记录并将其以 xml 格式存储在应用程序中,以便我可以从 jquery 获取并显示它,这里我使用的是 Jquery 移动功能。我不想使用本地数据库。
    最近更新 更多