我希望有多个客户端通过LAN连接到服务器并访问/修改服务器中的mySQL数据库。
我将如何做到这一点?你们能提供一些我可以研究的主题资源/链接
答案 0 :(得分:5)
有两种方法可以执行您的任务。您可以在android studio中添加JDBC驱动程序,或者更好地实现连接到数据库的REST API,并且所有Android客户端都可以向服务器发送HTTP请求,服务器将为您添加信息。在这里,您可以实现create,update,delete方法。对于HTTP请求,您可以使用Retrofit或Volley库。
如果您想使用JDBC,请在此处查看答案How to Mysql JDBC Driver to android studio
但是针对此类问题的最佳和最正确的解决方案是REST服务
答案 1 :(得分:1)
从长远来看,你真的需要一个"客户"在"用户之间的应用"和数据库。它通常通过网络服务器和PHP / Java / VB /来完成。是的,它需要你学习另一种语言,但在严肃的应用程序中这是不可避免的。
客户可以通过安全帮助(并且如果做得充分的话会受到伤害)。客户端可以将用户与数据库更改隔离开来,这最终会发生。客户应该抽象'数据库的接口,以便用户不必具有SQL精通。等
答案 2 :(得分:1)
您可能已为mySQL数据库安装了WAMP Server / XAMPP Server 单击WAMP图标并选择Apache,Open" httpd.conf"并找到标签以
开头 <Directory "c:/wamp/www">
...
</Directory>
并更新以下代码
<Directory "c:/wamp/www">
AllowOverride All
Require all granted
Order Deny,Allow
Deny from none
Allow from all
Allow from 127.0.0.1
Allow from ::1
Allow from localhost
</Directory>
现在在本地服务器中创建REST API,因为您可能使用PHP或其他, 并将带有分配IP地址的api连接到Android应用程序到局域网中的计算机。
答案 3 :(得分:0)
这不是一个单一的答案,而是一组答案。首先,您需要的是通过网络上的内省隧道进行数据转发的概念。在一天结束时,您的数据库始终在某个端口上侦听,该端口是您计算机的本地端口,这意味着只有您可以访问和修改数据库的内容。例如,如果您访问PHPMyAdmin,则可以在本地计算机上使用MySQL地址。
您需要做的是将访问权限公之于众,您需要的是将您的存在(互联网协议地址)广播到网络。因此,创建一个公共集线器,简而言之,本地隧道允许您轻松地在本地开发计算机上共享Web服务,而不会弄乱DNS和防火墙设置。
通过将本地计算机隧道连接到Web,具有分配的IP地址的任何人都可以通过任何连接访问您的计算机(数据库),而不仅仅是LAN或WI-FI。有许多选项可供选择,有ngrok,它将NAT或防火墙后面的本地服务器暴露给互联网。
功能是,
不要经常重新部署正在进行的工作以获得客户的反馈。 ngrok为您计算机上的本地网络服务器创建一个安全的公共URL(https://yourapp.ngrok.io)。在不中断流程的情况下立即反馈即可快速迭代。
针对计算机上运行的开发后端测试移动应用。在本地开发服务器上指向ngrok,然后将您的应用配置为使用ngrok URL。即使你改变网络,它也不会改变。
构建Web钩子集成可能很痛苦:它需要一个公共地址和大量设置来触发钩子。用ngrok节省自己的时间和挫败感。检查流经隧道的HTTP流量。然后,只需点击一下即可重播Web-hook请求,以便在保持上下文的同时快速迭代。
拥有您的数据。在您自己的专用网络上托管个人云服务。使用完全端到端加密,在硬件上运行Web邮件,文件同步和更安全。
它真的很棒,但有一个侧面说明,因为这个程序打开你的本地机器并使其在互联网上可以访问IP,出现了许多不同的安全挑战,所以它仅建议用于没有敏感数据的测试目的。
希望这会有所帮助:)