Android - 从网站获取数据

时间:2011-05-29 12:40:34

标签: java android web-services

我找到了解决Android问题的方法,到目前为止一切顺利。我的下一个重大挑战是掌握Web服务。我想构建一个应用程序,从Web服务器上的网站或数据库读取数据,并将数据存储在我的应用程序中。

基本上,它将是我与新闻网站一起构建的应用程序,该网站将他们的最新文章引入应用程序。我发现困难的是如何弥合我的应用程序和SQL Server数据库中的数据之间的差距。

我熟悉构建从数据库读取数据的asp网站,但我如何使用应用程序做类似的事情呢?

我是否要求网站以xml格式存储文章?或者,是否有其他方式可以请求特定文章并提供内容?

我希望我能正确地表达这个问题,并且有人可以指导我以正确的方式解决这个问题。

提前致谢。

2 个答案:

答案 0 :(得分:1)

从服务器上的数据库中读取数据将是不好的做法。你必须打开一些端口,这肯定不是你想要的(如果你没有root访问权限,你也不能)。

对于非交互式内容(您想要的),您将使用XML或JSON。

答案 1 :(得分:1)

您可以从不同的角度处理此问题。

常见的解决方案是构建一个Web服务,它将弥补移动应用程序与服务器中剩余数据之间的差距。我个人更喜欢设置Rails后端,因此有一个RESTful API可以帮助我访问我的数据。例如,要检索文章列表,我只需要请求以下网址:http://my_server_host/articles。因此,对于Webservice部分,您可以拥有任何您想要的东西:Rails,J2EE,.NET等。您可以选择适合您需求的模型(REST,SOAP,XML-RPC等)。

然后,您必须编写一个类,其中包含对您构建的Web服务的所有必要调用。基本上,如果您的Web服务将结果作为XML格式返回,则必须:

  • 将请求发送到相应的网址。 (如果要修改资源,请参阅:HttpGet或HttpPost)。
  • 解析返回的XML。 (简而言之,您可以使用SAX或DOM来解析XML响应并将其转换为业务实体(文章,用户等)。)

这有希望为您提供有关可能解决方案的提示。顺便说一下谷歌是你的朋友,但我可能会回来添加外部链接/资源来帮助你。

修改

另一种可能对您有用的解决方案,因为您只需要检索一些文章。例如,只需设置一个简单的Wordpress博客。 Wordpress为您提供了博客RSS源的URL,您所要做的就是解析该RSS源(XML)。 IBM网站上有一篇很棒的文章,用于解析您可以找到的here RSS源。顺便说一句,只有当您想要将文章保存在Wordpress博客上时,才能使用此解决方案。但是你希望得到这一点。