首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓-无需使用over服务器即可通过局域网连接到mySQL数据库

问安卓-无需使用over服务器即可通过局域网连接到mySQL数据库
EN

Stack Overflow用户
提问于 2016-07-11 20:34:42
回答 5查看 3K关注 0票数 10

我希望有多个客户端通过局域网连接到服务器,并访问/修改服务器中的mySQL数据库。

我该怎么做呢?你们能提供一些我可以研究这个主题的资源/链接吗

EN

回答 5

Stack Overflow用户

发布于 2017-05-07 10:31:48

为了回答您的问题,您应该能够通过在Android Studio中将jdbc驱动程序作为jar文件添加到您的项目中来连接到mysql数据库。

现在,对于计划分发给数千用户的真实应用程序,存在安全问题、性能问题和可伸缩性问题。

安全问题:

  1. 您可以通过开放数据库的端口以供应用程序连接,从而将数据库直接暴露给互联网。web应用程序在中间添加一层,将数据库访问保持在intranet内部。
  2. 您可以通过提供至少一个每个人都知道的公共帐户来直接向公众公开您的数据(我认为这将是访问的方式,因为管理每个用户的一个帐户是不现实的)。网络应用程序将用户帐户与数据库帐户隔离。
  3. 通过以这种方式提供访问权限,因为安卓移动设备可以作为根,因此您可能会授予对数据的匿名访问权限。

性能问题:

  1. 中间有一个web应用程序,它是管理数据库连接的web应用程序。这使得可以在不同的用户之间共享连接,而不是每个用户只有一个专用连接如果不同的设备分别使用connections.
  2. For,同样的原因,您不能利用连接池,这就省去了为每个传入请求建立到数据库的连接的麻烦。

可扩展性问题:

  1. 由于连接不是共享的,因此并发用户数将绑定到您可以同时打开到数据库的连接数。

编辑1个

我正在添加一种替代方案,它涉及到使用web应用程序,但它不是使用web服务器实现的。它是一个独立运行的java NIO框架。此解决方案的限制是您需要shell访问服务器和java,这在传统主机中并不常见。查看Netty。

票数 7
EN

Stack Overflow用户

发布于 2017-05-09 18:02:39

有两种方法可以完成你的任务。您可以在android studio中添加JDBC驱动程序,或者更好地实现连接到数据库的REST API,所有android客户端都可以向服务器发送HTTP请求,服务器会为您添加信息。在这里,您可以实现创建、更新、删除方法。对于HTTP请求,您可以使用Retrofit或Volley库。

如果您想使用JDBC,请在这里查看答案How to Mysql JDBC Driver to android studio。

但是,对于这类问题,最好、最正确的解决方案是REST服务

票数 4
EN

Stack Overflow用户

发布于 2017-05-05 03:11:22

从长远来看,您确实需要在“用户”和数据库之间建立一个“客户端”应用程序。它通常是通过via服务器加上PHP/Java/VB/....完成的。是的,它需要你学习另一门语言,但在一个严肃的应用程序中,这不是要避免的事情。

客户端可以在安全方面提供帮助(如果做得足够的话,也会受到伤害)。客户端可以将用户与数据库更改隔离开来,这最终会发生。客户端应该将接口“抽象”到数据库中,这样用户就不必精通SQL了。等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38307067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档