实现客户端的最佳方式< - >服务器< - > Android应用程序中的数据库架构?

时间:2010-02-13 01:05:59

标签: java mysql android

我正在制作Android应用程序。由于它非常简单,我首先想到的是我可以简单地消除服务器上作为中间件的Java应用程序的需要。我尝试使用MySQL的JDBC驱动程序直接连接到数据库但我的程序崩溃所以我不确定Android是否“支持”MySQL的JDBC驱动程序。

所以我在考虑如何实现该应用程序。基本上,应用程序从远程MySQL数据库写入一些数据,并从远程MySQL数据库中检索一些数据。

我是否使用套接字(或其他一些通信方法)连接到Java服务器程序?或者我可以从客户端应用程序实现与MySQL数据库的直接连接吗?

2 个答案:

答案 0 :(得分:20)

  

我试过直接连接到   数据库使用JDBC驱动程序   MySQL,但我的程序崩溃了   我不确定Android是否“支持”了   MySQL的JDBC驱动程序。

永远不要永远不要在Internet连接,任何数据库,任何平台,任何客户端,任何地方使用数据库驱动程序。这对于移动来说是双倍的。数据库驱动程序专为LAN操作而设计,不适用于片状/间歇连接或高延迟。

  

我是否连接到Java服务器程序   使用套接字(或其他一些方法)   通信)?

它不一定是Java。它必须是专为在互联网上使用而设计的东西。正如金先生的评论所暗示的那样,在过去十年的大部分时间里,Web服务已被用于此。对于Android,REST Web服务可能是最容易使用的,因为没有对SOAP或XML-RPC的内置支持。但是,Web服务是用Java,PHP,Perl还是SNOBOL实现的,取决于你。

好吧,好吧,也许SNOBOL不是一个可行的选择。 : - )

答案 1 :(得分:0)

我知道这可能会有点晚,但是当我在学校的一个项目中遇到同样的问题时,我想与您分享我的解决方案,因为您可能会从我的经验中受益。

Android对数据库操作不利,因此创建普通的数据库控制器不是一件容易的事。相反,我用Java创建了一个服务器,该服务器可以处理所有与数据库有关的内容,并且还可以进行扩展(在我的情况下,我也使用了反馈功能)。

Github-REPO是:https://github.com/Cedced-Bro/Public-Server,您可以签出它,它是开源的,因此,如果您有更多的想法,可以使用它并做出贡献。

为更正确地回答您的问题:我强烈建议您不要授予所有用户直接访问数据库的权限,因为您可能会遇到恶意用户的安全问题。这就是为什么我首先创建此控制器而不是仅使用PHP“转发”服务器的原因。