0

私はデータを表示するためにxmlを使用しているAndroidモバイルアプリケーションに取り組んでおり、アプリケーションにも画像があります。初めて 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 はすべてのプロジェクトのリストです。2 番目の例は、すべてのプロジェクトに関連する xml です。アプリを更新すると、新しい更新された xml が置き換えられるか、アプリケーションに新しい xml が追加されます。これは可能ですか?また、アップデート時に新しい画像をダウンロードすることはできますか?

4

2 に答える 2

1

アプリケーションを更新すると (バージョン番号を増やして市場に公開することにより)、ユーザーのモバイルの apk ファイルが最新のものに置き換えられます。したがって、データを取得するために新しい xml を使用するようにコードを変更した場合、それは機能するはずです。データベースの場合、データベースのバージョン番号を増やした場合、必要に応じてデータベースを変更できるクラスのonUpgrade()メソッドが呼び出されます。SQLiteOpenHelper

編集(編集された質問への回答):

アプリを更新すると、新しい更新された xml が置き換えられるか、アプリケーションに新しい xml が追加されます。これは可能ですか?

上で述べたように、新しい xml を持つ apk の新しいバージョンがある場合、ユーザーが更新を行うと、ユーザーのアプリには新しい xml が含まれます。しかし、私が言いたいのは、おそらくコードを変更して、サーバーなどからの新しい画像パスを解析して処理できるようにする必要があるということです。

アップデート時に新しい画像をダウンロードすることはできますか?

アップデート時はできません。ただし、アプリが開いたら、xml を読み取って解析し、サーバーから画像とデータのプルを開始する関数を呼び出すことができます。

于 2013-01-16T12:30:33.020 に答える
0

Play ストア (または別のストア) からアプリを更新する場合を除き、XML を使用するアプリの UI 部分を更新することはできません。

サーバーからアプリに XML または JSON の形式でデータを渡すことができます。このデータを解析することができ、それを格納するためになんらかの形式の永続レイヤーを作成する必要があります (これはローカル データベースなどになります)。

その後、このデータをローカル データベースから取得して、好きなように使用できます。

于 2013-01-16T12:27:52.997 に答える