2013-01-16 51 views
0

我正在使用android移動應用程序,其中我使用xml顯示數據,應用程序也有圖像。當我第一次生成apk並安裝它時,它會正常工作。

我的問題是更新應用程序。

我有服務器上的數據庫中的數據,也有圖像在單獨的目錄中。當我將更新應用程序時,我希望來自服務器的數據庫和圖像的數據。爲此,我將生成包含數據庫表值的xml。
'更新'功能在android移動應用程序中如何工作?

在這裏,我的問題是,是否有可能用移動應用程序中新的覆蓋現有的xml,並將服務器中的圖像添加到移動設備?

它背後的邏輯,用戶將使用此應用程序脫機。

我不想在應用程序中使用數據庫。

下面是示例XML代碼

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

如果選用PROJECT1那麼它將從PROJECT1即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是所有項目的列表。第二個例子是每個項目的相關xml。 現在,當我更新應用程序時,它將替換新的更新的xmls或在應用程序中添加新的xmls。 這可能嗎?而且,是否可以在更新時下載新圖像?

回答

0

您無法更新使用XML的應用程序的UI部分,除非通過從Play商店(或備用商店)更新您的應用程序。

您可以將XML或JSON格式的數據從服務器傳遞到您的應用程序。您可以解析這些數據,並且必須創建某種形式的持久層來存儲它(這可能是本地數據庫或其他東西)。

然後,您可以從您的本地數據庫檢索這些數據,然後使用它,只要你喜歡。

+0

感謝Anup,在這裏我不想更改用戶界面,我只是想從我的服務器數據庫中創建新記錄並將其以xml格式存儲在應用程序中,以便我可以從jquery中獲取並顯示它,在此處使用JQuery的移動功能。我不想使用本地數據庫。 – Sachin

1

當您更新應用程序時 - 通過增加版本號並在市場上發佈 - 用戶手機中的apk文件被最新版本取代。因此,如果你已經改變了代碼,以便它使用一些新的XML來檢索數據,它應該工作。對於數據庫,如果您增加了數據庫版本號,SQLiteOpenHelper類中的onUpgrade()方法將被調用,您可以在其中根據需要修改數據庫。

編輯(應答到editted問題):

現在,當我更新應用程序,然後將更換新的更新個XML或應用程序中添加新的個XML。這可能嗎?

就像我上面提到的,如果你有一個新版本的apk,它有你的新xml,那麼當更新由用戶完成時,他的應用將會有你的新xml。但我要說的是,您可能需要更改代碼,以便它可以解析並處理來自服務器和全部的新映像路徑。

是否可以在更新時下載新圖像?

這在更新時是不可能的。然而,一旦你的應用程序被打開,你可能會調用一些函數來讀取和解析你的xml,並開始從服務器上拉取圖像和數據。

+0

謝謝Aswin,我不想更改代碼,我只是想從我的服務器數據庫中獲取新記錄並將其以xml格式存儲在應用程序中,以便我可以從jquery中獲取並顯示它,在這裏我使用的是Jquery移動功能。我不想使用本地數據庫。怎麼樣的圖像? – Sachin

+0

告訴我這個,更新應用程序的含義是什麼? –

+0

更新意味着,只能從實時服務器數據庫和新更新的圖像中檢索最新記錄。 – Sachin

相關問題