0

我正在开发 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。这可能吗?另外,更新时是否可以下载新图像?

4

2 回答 2

1

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

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

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

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

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

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

于 2013-01-16T12:30:33.020 回答
0

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

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

然后,您可以从本地数据库中检索此数据并根据需要使用它。

于 2013-01-16T12:27:52.997 回答