无法将 Android 连接到 PostgreSQL 数据库

Posted

技术标签:

【中文标题】无法将 Android 连接到 PostgreSQL 数据库【英文标题】:Can't connect Android to PostgreSQL DB 【发布时间】:2012-10-03 04:10:36 【问题描述】:

这是我在 *** 上的第一篇文章,所以希望我听起来不会太无能。我在将我的 android 应用程序连接到我创建的 PostgresDB 时遇到问题。我使用了本教程中的代码http://appliedcoffeetechnology.tumblr.com/post/10657124340。尽管我将 String url ... 行修改为以下内容: String url = "jdbc:postgresql://192.168.1.101:5556/postgres?user=postgres&password=yeahright"; 我按照其他说明下载 JDBC 并将其添加到包中,还添加了 Internet 权限行。

我已经在我的 Windows 7 机器上配置了 postgreSQL DB 以允许连接,甚至将传入连接设置为“信任”,这样密码就不会妨碍。我还在 Windows 防火墙上打开了 5556 端口。我可以使用以下命令从我的 Ubuntu 笔记本电脑连接到它:psql 192.168.1.101 -U postgres -p 5556 -d postgres 但是,在运行 Android 应用程序(在真实设备上)时,conn = DriverManager.getConnection(url) 调用会引发“java.sql.SQLException:没有合适的驱动程序”。

非常感谢您的帮助,如果我能提供任何其他有用的信息,请告诉我。

Craig Ringer 下面提到了一个网络服务应用程序。起初我很犹豫,因为我不想让我的学习曲线变得更陡峭,但我决定使用 Django,它非常简单。

【问题讨论】:

安卓版本?目标设备? 在 Galaxy S Tab2 10.1 上运行冰淇淋三明治 【参考方案1】:

AFAIK Android 本身不支持 JDBC。 (更新:较新的版本可以)。老实说,您WAY最好运行一个 Web 服务并让您的 Android 应用通过 Web 服务请求与 DB 进行通信。

搜索“android postgresql”。

一些相关讨论:

Android OS and postgreSQL How to create webservice in java using apache tomcat using PostgreSQL Driver JDBC PostgreSQL with Android How can I securely (indirectly) query a postgresql database within android? PostgreSQL JDBC connection fails on Android 4.0

【讨论】:

我的时间有点紧,你知道我在哪里可以得到一些简单的东西并运行吗?好久没搭建webservice了,db主机是windows机器,一般来说配置资源很少。目前将有两个 Android 设备使用数据库,并且查询/修改将相距甚远。如果网络服务是唯一的出路,我理解。 查看您上面列出的帖子之一(如何使用 PostgreSQL 使用 apache tomcat 在 java 中创建 Web 服务)您提到了 JBoss AS 7、Jersey 和 RESTEasy。我假设如果我使用 JBoss AS 7,那么我不需要研究 Jersey 或 RESTEasy。对吗? @Lokist 很多人用 php 等来破解东西。选择一种已经熟悉的语言并使用该语言的 REST 服务库构建一些东西。我发现 Java 应用服务器上的 JAX-RS 很容易;你可能更喜欢别的东西。搜索“REST”和您选择的语言可能会提供信息。【参考方案2】:

您收到的错误消息表明您没有将 postgres jdbc 驱动程序 jar 复制到您的应用程序中。

话虽如此,直接 SQL 连接到远程数据库甚至可能通过 3g 网络可能无法提供您想要的性能。

如果您的应用程序中只需要一个数据库来存储一些东西,您应该查看嵌入式 SQLite 数据库。

【讨论】:

.jar 文件最终位于“引用库”部分中。还有什么我应该看的东西来确定 jar 是否将它放入包中?我实际上将数据库存储在远程 Windows 服务器上,以便多个 Android 设备可以同时访问它。话虽如此,性能确实不应该成为问题,也许每秒最多 10 个查询。谢谢! 仅供参考,这将仅通过 WiFi 进行。

以上是关于无法将 Android 连接到 PostgreSQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章

无法将 Android Studio 连接到我的手机或 Bluestacks

如何连接到 Pivotal HD(来自 Spark)?

无法通过 BLE 将 Android 应用程序连接到 Raspberry Pi 3

无法将 Nexus One 手机连接到 Android adb

无法将 Android 模拟器连接到 React Native 调试器

Expo react-native 将无法连接到 socketio(Android 和 iOS)