Android应用程序连接到本地服务器SQL

时间:2011-06-25 13:31:47

标签: android sql web-applications

我需要在Android应用程序中将数据存储在localserver(现在)上的SQL上。我想知道如何做到这一点?我读过“必须使用像php这样的网络服务”和“谷歌应用程序引擎”,但还没有清楚地了解整个过程/概念。如果那里的任何人可以为我提供关于开发下面提到的简单应用程序的教程,那就太棒了。

具有文本输入框的应用程序,当用户输入消息并单击发送消息时,应存储在本地服务器数据库中。另一个名为listener的按钮,它将从数据库中获取消息并在屏幕上显示它。

如果你给我一些关于如何在上面开发应用程序的指导,那就非常棒了。

3 个答案:

答案 0 :(得分:3)

在互联网上公开数据库端口是个愚蠢的想法,因为:

  • 安全原因
  • 通过网络传输的数据量
  • 由于Android API中缺乏对JDBC的支持而导致的实施问题。

在您的情况下,您应该用自己喜欢的语言编写Web服务(JSON ie)。服务几乎没有说任何页面的互联网应用程序。此服务应公开如下方法:

public void storeName(String name);

在Android客户端中,您调用服务并传递给app用户输入的参数。 调用时的服务只是将参数插入数据库。

答案 1 :(得分:1)

您肯定希望在互联网和mySql数据库之间存在中间层。即使是在有限的用户上,允许来自互联网的东西直接连接到您的数据库也是非常愚蠢的。

我的建议:

  • 创建一个非常有限的用户,可以使用最少的priveledges。
  • 创建一些你可以在android中使用HttpClient命中的php页面,向他们发送你的用户名/ pw用于有限的用户帐户。如果你愿意,你可以在这里更加谨慎安全。
  • 每个php页面将使用提供的用户名/ pw和可能的参数执行预定义的sql(如果是这样,研究如何防止SQL注入!)并在json中返回结果,这很容易在android中解析。 (参见android中的JSONObject)
  • 当您需要数据时,只需httppost到这些网址即可。

这也非常接近RESTful网络实施,这本身就很好,并且会让生活更轻松;)

答案 2 :(得分:0)

如果您希望数据库在手机上使用SQLite,请查看链接,它包括设置SQLite数据库,然后将其导入您的项目:

http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

启动并运行数据库帮助程序后,您可以创建自己的方法,使用db向/从表中插入/提取/编辑数据,此链接涵盖查询的语法:

http://www.firstsql.com/tutor.htm

希望这会有所帮助,它可能不是你想要的!