2012-08-22 41 views
0

我正在製作一個使用Google Cloud Messaging的應用程序。我想使它能夠從XML文件中檢索字符串「SERVER_URL」,並且能夠在不重新安裝應用程序的情況下修改此字符串。Android,創建安裝應用程序後可以修改的XML文件

那樣;

用戶花費他們的記憶卡取出手機,把它放在自己的電腦,他們現在可以通過存儲卡導航找到XML文件,並修改字符串SERVER_URL。

..After做一些研究,我不能肯定我可以訪問已安裝的Android應用程序的任何XML數據,而不做某種反編譯的(我無法找到任何存儲卡上讀取其一)。我最初的意圖是將這個值簡單地放在android應用程序的'strings.xml'中。任何關於如何做到這一點的幫助都會非常感謝,即使它確實知道我所要做的事實際上肯定是不可能的。

爲什麼我要這樣?

此SERVER_URL值有可能改變(試點項目,東西不斷移動),導致應用程序需要修改並重新安裝到所有手機上。我們希望避免必須這樣做,而只是修改該文件。

但是,我們不希望爲應用程序添加功能以允許您在應用程序本身內更改SERVER_URL,以便用戶不會在使用電話時輕易地意外更改此值(精神上受到挑戰用戶,看管人會做文件修改)。

感謝,

韋斯

注:這是我在這個網站的第一篇文章!

+0

的版本是Android 2.2的 –

回答

0

這是我在這個網站上的第一個答案!

那麼,你要做的是讓配置值開箱即用。由於該應用程序是關於使用互聯網資源的,爲什麼不創建一個Web服務/網站,讓管理員可以在必要時進行更改,並且您的應用程序可以在連接時使用該值。

因此,服務器的地址可能會因版本而改變,並且所做的一切對用戶來說都是透明的。

希望這有助於

+0

雅這是我想如何去做,但負責我的人堅持我這樣做:( –

+0

不能接受這兩個答案,但我會以不同的方式去做,但這肯定是你和Abhinav建議的更正確的方式。 –

0
  1. 將設置放入資產文件夾中的xml文件中。
  2. 當應用程序啓動時,檢查設置文件是否存在於SDCard上的所需文件夾中。如果不是,則從資產中複製它。
  3. 從SDCard文件夾讀取設置,以便任何更改都會自動反映到應用程序中。

不過,我勸你把你的應用程序本身的設置,請使用兩種機制 -

  1. 發佈應用程序的更新時的設置更改,並要求用戶更新。
  2. 將設置存儲在數據庫或內部文件中,並使用後臺服務或C2DM定期從服務器更新設置。
+0

它不會出現在SD卡中,但如果我複製並粘貼文件在我還是不會從中讀出,除非我指定的直接路徑Android文件夾對不對? –

相關問題