设置连接到数据库的服务器,从中获取信息,然后将其发送到Android应用程序

时间:2017-01-18 09:17:49

标签: java android json sockets server

我有一个看似很复杂的项目:我有一个必须连接到服务器的android应用程序,该服务器必须从数据库提供这个应用程序信息。

现在,我必须用Java从头开始编写这个服务器(因为那是我所知道的语言,我想使用它)。这是我的计划:

1)创建数据库,用信息填充它(目前来自MySQL终端)。最终,我创建的这台服务器实际上必须连接到另一台服务器并从那里获取信息,然后使用该信息填充数据库。但我还没到那个阶段。

2)创建一个服务器(我猜测,使用Tomcat 7),其中有几个类"运行":一个使用JDBC连接到数据库以从那里获取信息的服务器从它那里得到的每个记录创建一个新对象(不完全确定我是怎么做的);和另一个充当JSON端点或作为套接字连接服务器的类(在我的生活中从未做过这样的事情 - 确实,我以前连接到JSON端点,但我从未创建过JSON端点我自己,服务器端)。此连接必须每2秒左右更新一次(数据库中的新信息必须从服务器发送,或从服务器请求),因此它以实时方式工作。

3)在我的Android应用程序中创建一种方法以从服务器获取信息。如果服务器端的解决方案是JSON端点,那么显然,连接到该JSON端点并获取类似的信息。如果它是套接字连接,显然,服务器应该在某个端口上推送信息,无论是否有任何客户端连接到该端口。再一次,不知道如何做到这一点。

4)然后,在Android中,解析数据并使用它显示在屏幕上,列表等中(一旦我从实际应用程序中获取数据,从服务器开始,这是后一阶段)

你们会推荐什么?我的方法应该是什么?

我想我应该安装某种服务器,比如Tomcat 7,然后......我怎么实际运行"运行"连接到数据库的类以及如何创建JSON端点以便我的应用程序可以连接到它?

显然我会在此期间查看教程,但是我如何获得这些类,假设我正在构建它们,实际上在Tomcat中运行(意思是,实际上在运行的机器的IP上可见)作为服务器)?

我知道这些是我在这里提出的一些问题,但是......这就是我必须要做的。任何帮助将不胜感激。

此外,您是否将套接字连接视为我的应用程序的可行选项,而不是JSON? (尽管在Android世界中,JSON似乎是#34;标准")。请记住,目前,我必须每两秒更新一次此信息。如何在我的应用程序和服务器之间保持连接打开,以便它不会每次或类似地做任何请求?

再次感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您正在谈论典型的客户端 - 服务器通信。有几种范式可以实现这一目标以及各种方法。

1)MySQL for DB是一个很好的,广泛使用的选择。

2)您可以使用Apache Tomcat,但您需要的服务器类型也取决于项目的规模(以及许多其他事项)。 Tomcat通常工作并查看您指定的一些基本方面,它应该足够了。其他选项是JBoss,GlassFish等,它们不像Tomcat那样轻量级,并且针对不同类别的应用程序。对于来自服务器和客户端的端点。您有几种技术 - Web服务,RPC,EJB等。我会选择网络服务。基于REST的,因为我觉得它们更简单。有很多可用的库和很好的教程来构建它们。数据库 - 服务器交互,如果您需要事务和对象到关系模型映射,请考虑使用ORM工具。 Hibernate被广泛使用。

3)取决于您在2中使用的技术。

4)不确定可以在Android中使用的客户端库。其他人将不得不填写那个。

希望它有所帮助。