我正在开发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。 这可能吗?而且,是否可以在更新时下载新图像?
答案 0 :(得分:1)
当您更新应用程序时 - 通过增加版本号并在市场中发布 - 用户移动设备中的apk文件将替换为您最新的应用程序。因此,如果您更改了代码,使其使用一些新的xml来检索数据,那么它应该可以工作。对于数据库,如果已增加数据库版本号,则将调用onUpgrade()
类中的SQLiteOpenHelper
方法,您也可以根据需要修改数据库。
修改(回答编辑问题):
现在,当我更新应用程序时,它将替换新的更新的xmls或在应用程序中添加新的xmls。这可能吗?
就像我上面提到的,如果你有一个新版本的apk有你的新xmls,那么当用户完成更新时,他的应用程序将拥有你的新xmls。但我所说的是,你可能需要更改你的代码,以便它可以解析和处理来自服务器和所有的新图像路径。
是否可以在更新时下载新图像?
在更新时无法做到这一点。但是,一旦你的应用程序被打开,你可以调用一些函数来读取和解析你的xml,并开始从你的服务器中提取图像和数据。
答案 1 :(得分:0)
除非通过Play商店(或备用商店)更新您的应用,否则您无法更新使用XML的应用的UI部分。
您可以将XML或JSON格式的数据从服务器传递到您的应用。您可以解析这些数据,并且必须创建某种形式的持久层来存储它(这可能是本地数据库或其他东西)。
然后,您可以从本地数据库中检索此数据,并根据需要使用它。