如何解决使用API从Android设备连接到数据库
我需要创建一个android应用程序,该应用程序将与外部数据库交互(我使用android studio,java)
因此,我尝试访问本地主机上的数据库,但没有成功。经过一番研究,我知道,如果我想从任何Android设备访问DB,我应该使用某些服务器而不是localhost,并创建API(PHP)。
- 请解释一下,我可以创建API并获得对localhost的访问吗?还是仅在服务器上?
- 有很多教程如何从VIRTUAL android设备访问数据库,但是我想创建一个应用程序,该应用程序可以在任何REAL设备上运行,不仅适用于连接到WI-FI的设备。
- 如果您建议一些教程,它将真的很有帮助。我已经搜索了很长时间,但现在什么都没有了。
非常感谢您的回答!
解决方法
localhost始终是localhost:)
意思是当您的android设备上的某个东西想要连接到localhost时,localhost是android设备。
从Android设备直接连接到数据库也有很多缺点,包括必须在应用程序中的代码上设置用户名和密码以及将要打开的用户数/连接数。
您应该这样做的方法是在应用程序和数据库之间的中间位置放置一个后端程序。
该后端程序将提供您的Android应用程序可以使用的api,另一方面,该后端程序将与数据库进行交互。
,- 您将需要服务器来访问数据库。想象一下,您的应用程序在全球10台设备上运行。如果您希望这10台设备直接访问数据库,则需要知道您的数据库用户名和密码,这是非常不安全的。
因此,您需要一台知道数据库登录名和密码的服务器,并且如果某个android应用与该服务器通信,则该服务器可以确定数据库上允许和不允许的操作(例如,如果您的用户可以登录您的应用,服务器可以确保用户A无法看到用户B的数据。或者,如果您的数据库中有公共数据,则服务器可以确保仅选择了数据,并且没有人执行DROP TABLE命令)
- 要使用真实的设备,您将需要一台服务器(我建议对“ LAMP-stack”进行谷歌搜索,为此有很多有用的教程)。该服务器知道您的数据库密码,并且可以访问该数据库,并且您的客户端仅与该服务器通信,而不能直接与该数据库通信。
如果您已经有一个数据库,则不需要进行配置,但是可以在以下位置找到Apache和PHP的教程(由您的服务器组成),例如:https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-ubuntu-18-04
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。