繁体   English   中英

在Android应用程序中实现客户端<->服务器<->数据库体系结构的最佳方法?

[英]Best way to implement Client <-> Server <-> Database architecture in an Android application?

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

因此,我正在考虑如何实施该应用程序。 基本上,应用程序从远程MySQL数据库写入一些数据,并从远程MySQL数据库检索一些数据。

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

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

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

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM