2011-05-29 172 views
0

我找到了圍繞Android的方法,迄今爲止都非常棒。我的下一個重大挑戰就是要抓住Web服務。我想構建一個應用程序,從Web服務器上的網站或數據庫讀取數據並將數據存儲在我的應用程序中。Android - 從網站獲取數據

基本上,這將是一個應用程序,我與一個新聞網站一起構建,將他們的最新文章引入應用程序。我發現困難的是如何彌合我的應用程序和SQL Server數據庫中的數據之間的差距。

我很熟悉構建從數據庫中讀取數據的asp網站,但我該如何做一些類似的應用程序?

我是否要求網站以xml格式存儲文章?或者,有沒有另外一種方法可以請求特定文章並提供內容?

我希望我正確地解答了這個問題,並且有人可以指導我以正確的方式來解決這個問題。

在此先感謝。

回答

1

您可以從不同的角度來處理這個問題。

常見的解決方案是構建一個Web服務,它將彌合您的移動應用程序和保留在服務器中的數據之間的差距。我personnaly喜歡設置一個Rails後端,因此有一個RESTful API,可以幫助我訪問我的數據。例如,要檢索文章列表,我可以請求以下URL:http://my_server_host/articles。因此,對於Webservice部分,您可以擁有任何您想要的:Rails,J2EE,.NET等。您可以選擇適合您需求的模型(REST,SOAP,XML-RPC等)。

然後,您將不得不編寫一個類,其中包含所有對您構建的Webservice的必要調用。基本上,如果您的Web服務將結果作爲XML格式返回,您將必須:

  • 將請求發送到相應的URL。 (如果您想修改資源,請參閱:HttpGet或HttpPost)。
  • 解析返回的XML。 (總之,你可以使用SAX或DOM解析您的XML響應,並將其轉化爲商業實體(文章,用戶等)。)

此希望給你一個關於一個可能的解決方案提示。順便說一句,Google是你的朋友,但我可能會回來添加外部鏈接/資源來幫助你。

編輯

另一種可能的解決方案,可以爲你工作,因爲所有你需要的是找回了一些文章。例如,只需設置一個簡單的WordPress博客。 Wordpress爲您提供了該博客RSS源的URL,您只需解析該RSS源(XML)即可。在IBM網站上有一篇關於解析RSS feed的文章,您可以找到here。順便說一下,這種解決方案只有在您想要將您的文章保存在Wordpress博客上時纔有可能。但你有希望得到這一點。

+0

感謝您抽出寶貴時間。我可以收集的是我需要某種中間層來爲我提供數據。 XML似乎是最簡單的方法。我只想要最新的10篇文章,並將它們保存在應用程序的SQLite數據庫中。 我對web服務的想法很好奇。因爲我真的不那麼熟悉Google,所以我會這麼做。 – Richard 2011-05-30 07:15:07

+0

要明確,但Web服務仍然需要提供的數據爲XML?沒有辦法像使用SQL檢索記錄一樣簡單地將數據推送或從web服務讀取到應用程序? – Richard 2011-05-30 07:16:40

1

從服務器上的數據庫中讀取數據將是不好的做法。你將不得不開放一些端口,這不是你想要的(如果你沒有root權限,你也不能)。

對於非交互式內容(您想要的),您可以使用XML或JSON。

+0

謝謝。我將開始閱讀JSON以瞭解它。非常合適。 雖然,爲了利益,如果我想將數據推回服務器上的數據庫,您將如何處理這個問題? – Richard 2011-05-30 07:17:28