这是我关于stackoverflow的第一篇文章,所以希望我听起来不太无能。我在将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数据库以允许连接,甚至将传入连接设置为“信任”,这样密码就不会妨碍。我还打开了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,这非常简单。
答案 0 :(得分:3)
AFAIK Android本身不支持JDBC。 (更新:更新的版本)。老实说,你 WAY 更好地运行网络服务,让你的Android应用程序通过网络服务请求与数据库通信。
在SO中搜索“android postgresql”。
一些相关的讨论:
答案 1 :(得分:1)
您收到的错误消息表明您没有将postgres jdbc驱动程序jar复制到您的应用程序中。
话虽如此,直接与远程数据库建立SQL连接甚至可能超过3g网络可能无法提供您想要的性能。
如果您只需要在应用程序中存储数据库来存储某些内容,则应该查看嵌入式SQLite数据库。