“更新”功能如何在Android移动应用程序中运行?

时间:2013-01-16 12:23:39

标签: android mobile-application

我正在开发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>

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

2 个答案:

答案 0 :(得分:1)

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

修改(回答编辑问题):

  

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

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

  

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

在更新时无法做到这一点。但是,一旦你的应用程序被打开,你可以调用一些函数来读取和解析你的xml,并开始从你的服务器中提取图像和数据。

答案 1 :(得分:0)

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

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

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