连接外部数据库 - Android 应用程序

19

我正在撰写一个大学三年级的项目应用程序。该应用程序需要与一个外部的mySQL数据库交互。应用程序将从数据库中检索数据并在ListView中向用户显示。

我对该应用程序将具有哪种功能有很好的想法。我也花了很多时间研究过ListViews和本地SQLite数据库。我还对HttpUrlConnection类进行了一些调查。

我只是想知道是否有人能够为我提供更多有关如何访问这个外部数据库的指导?

这是否需要我编写一个Web服务来处理事务?如果是,那么这需要什么步骤呢?因为我还没有在我的课程中接触过Web服务。

非常感谢任何建议。另外,我的应用程序旨在在ICS v4.0.4上使用。

谢谢大家!


最好的PHP + MySQL + Android教程。它对我的项目有很大帮助。http://www.androidhive.info/2012/05/how-to-connect-android-with-php-mysql/ - Scorpion
你能否制作一个面向高于v4.0.4版本的Android应用程序,因为包括我在内的一些研究人员需要这样做。我目前正在为Android制作酒店预订应用程序,并将在Android Jellybean上进行测试(v4.1.0)。 - David Dimalanta
5个回答

12

是的,您需要创建Web服务与外部数据库(在您的情况下为MySql)进行交互。在PHP中创建Web服务非常容易,因为它有一个函数,可以将您的数据库数据转换为JSON格式,然后您可以轻松解析JSON数据并在ListView中显示或按照您的要求进行相应处理。

以下是一些有用的链接,可帮助您获取更多详细信息:

http://www.androidhive.info/2012/05/how-to-connect-android-with-php-mysql/ - 最佳选择

http://www.coderzheaven.com/2011/04/08/android-phpmysql-connection/

http://blog.sptechnolab.com/2011/02/10/android/android-connecting-to-mysql-using-php/

希望有所帮助。

WC。如果这对您有帮助并解决了您的疑问,请接受它作为答案,这将有助于未来寻找相同问题答案的其他人。 - Scorpion
如果你在开发过程中遇到了困难,请随时问我。我已经完成了这些任务,所以可以帮助你。 - Scorpion

2

我建议您的 Android 应用程序与一个 RESTful 服务通信(这是一个中间服务,它与您的数据库进行通信),该服务将返回您需要的数据库对象。因此,这不是直接连接到数据库,但这是这种类型连接的一个很好的示例。


以下是一个实现的例子。http://netbeans.org/kb/69/websvc/rest-mysql.html - Gigaquad
我刚刚添加了 - 使用JSON作为API格式,搜索“创建RESTful API”。已经有一些工具,因此您不必编写很多代码。一些示例 - http://www.youtube.com/watch?v=vJVQi7ZFSaQ - Martin Vandzura
同意,JSON足够轻便,不会对应用程序的性能和内存消耗产生重大影响。当涉及到解析和内存消耗时,XML有点痛苦,特别是如果您使用DOM遍历多个对象时,对象开始失控增长。 - Gigaquad
谢谢,伙计们。我不知道 JSON 的这些内容,我一定会记住的。 - Javacadabra

1

这个链接肯定非常有用。完全按照这个链接操作,但是确保按照这个链接所述对你的WAMP服务器的httpd.config文件进行以下更改。


请提供比链接更多的信息 - slfan

1

这会涉及到我需要编写一个Web服务来处理交易吗?

是的,如果数据库不在设备上,您将不得不通过网络请求访问它,这将由某些东西处理。

那需要什么?

这取决于很多事情。只要支持托管服务器,您可以使用几乎任何语言编写Web服务。您可以使用Python、Ruby、PHP、Perl、Java或.NET(如果您有框架)等语言。实际处理数据库请求必须在服务器上完成,服务器将返回数据给您的应用程序-可能是JSON格式。


我以前遇到过JSON,但只是非常简单的接触过一次去年。JSON比XML更受欢迎吗?我倾向于选择XML的唯一原因是我们之前使用过XML。 - Javacadabra
我喜欢XML,如果你打算根据模式或类似的东西进行验证。JSON更简单 - 因此发送时更小。使用XML可能会产生许多膨胀字符。话虽如此,如果通过网络传输的数据量很小,那就无所谓了。 - toadzky
我还想说,在Android中解析JSON比解析XML容易得多,这是指数级的。我讨厌在Android中解析XML。 - toadzky

0

您需要一个网络托管来在线存储脚本。您可以使用例如php编写此脚本以将用户数据插入数据库中。 在您的应用程序中,使用Volley来处理脚本。一旦获取到用户数据,请调用脚本并监听结果:

  • 这是用户第一次登录
  • 用户已经注册过了
  • 发生了错误

示例


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接