2011-03-07 114 views
2

我一直在研究如何管理我的Android項目中的配置屬性。我需要一個地方來存儲我的應用程序連接到的Web服務的URL,用戶名和密碼。在一個普通的java項目中,我會有一個config.properties文件,並使用spring將屬性注入到需要的地方。我想過使用strings.xml文件,這是存儲它們的不好的地方嗎?在那裏存儲密碼等敏感數據時是否存在任何問題?我可以做什麼的其他想法?Android配置屬性

任何意見將不勝感激!

大衛

回答

3

我一直只是把這樣的東西在strings.xml中,但我真的不對付的密碼。首選項也是一個選項。你可能會想要encrypt的密碼。

的rember,你有一個Web應用程序施維雅的控制,你沒有一個用戶設備的控制。它可能是紮根的,也可能不是,他們可能很容易獲得拉你的apk並查看它,或查看偏好。所以如果你真的擔心這些事情的安全性,你可能不想將它們存儲在設備上。

一個簡單的選擇是運行有必要的訪問代理服務器,並運行通過代理所有的Web服務調用。

+0

感謝您的答覆,我已經跑我所有的Web服務通過代理調用,該代理有一個用戶名和密碼,因爲我想限制對它的訪問。所以這將是我將存儲在strings.xml中的代理的URL,用戶名,密碼等,這聽起來合理嗎? – user648462 2011-03-08 09:40:05

1

一個不好的地方就是把這些在屬性文件中,其優點是,如果由於某種原因,那麼你的URL變化,你可以很容易地從服務器的新URL覆蓋文件中的鍵/值(前提是你有代碼,支持並在應用程序啓動時運行)。進一步來說,這種機制可以用來啓用/禁用應用程序的功能,啓用調試日誌來幫助排除客戶服務問題的故障等。

+0

任何教程,你可以建議創建屬性? – Tarun 2015-10-29 06:48:49

0

Android Shared Preferences看起來像任何應用程序配置數據保存在應用程序的正確存儲重新啓動(在這種情況下,您可能需要數據庫才能提供數據不太大)。 希望這有助於 羅伯特