(需要建议)从我的 Android 应用程序与 MySQL 服务器数据库交谈

Posted

技术标签:

【中文标题】(需要建议)从我的 Android 应用程序与 MySQL 服务器数据库交谈【英文标题】:(need advice) Talk to MySQL server database from my Android App 【发布时间】:2012-08-10 22:41:13 【问题描述】:

我正在开始我的论文,这是一个适用于 android 的应用程序。此应用基于我创建的网络平台。

我需要建议的部分是:这是将数据从 mysql 服务器拉入应用程序的最有效方法。请给我一些建议和你在这件事上的经验。

(我已经阅读了有关在 json 中编码查询的内容,但这似乎是很多不必要的工作)

【问题讨论】:

访问外部数据通常使用一些基于 HTTP 的 API(因为 Android / Java 中有内置的 HTTP 支持)和具有良好 API 支持的数据编码格式,其中之一就是 JSON。但是您可以使用您能想到的任何“通过 Internet 传输数据”的方法。如果您喜欢将数据库暴露在网络上的风险,甚至可以直接与数据库服务器通信。 我可以想到两种方法:i) SOAP 和 ii) json。还有其他选择吗? json 一路走好,宝贝。 Android上有一个内置类来解析它。完成此操作后,我在服务器端编写了 python 脚本来生成 json。可能也有图书馆。 FWIW,我还编写了 java(不是 Android)应用程序来直接连接到远程 MySQL 服务器。由于 SQL 库是您必须将其引入应用程序的外部库,因此不值得付出努力。我最终切换到 Python/json。 谢谢。看起来很有趣。然后我会训练自己到 json 【参考方案1】:

也许,通过使用 MySQL Java 连接器,并使用 Java 的 JDBC 连接器作为导入到您的 Android 项目中的 Jar 库,通过端口 3306 直接连接到服务器,如图所示here,这也是blogged a好久不见

【讨论】:

嗯,第二个对我没有吸引力。第一个似乎是将SQL数据库复制到本地sqli Android db。这可能是一个好方法,但它暴露了数据库的基础设施。如果您为此特定目的更改基础架构,那还不错。我会考虑一下。谢谢! 澄清一下,两个linky,尤其是第二个linky,演示了如何在服务器端设置mysql,并展示了如何从Android访问它。没有将任何数据库复制到 android 端的提示:)【参考方案2】:

我建议您使用RESTful Web Service in Java using Jersey 作为Android App 和MySQL 服务器之间的中间层。您可以将 JSON(我对移动应用程序的建议)、xml 或 palin 文本格式的数据传输到您的 Android 应用程序。

您可以在@Elad 答案中找到在您的系统中使用 Web 服务的好处:Best way to access a remote database: via webservice or direct DB-access?

另外,如果您决定为您的系统开发其他智能手机平台,您只需要重用相同的 Web Service。因此,可以将此 Web 服务视为您系统的移动用户的通用协议。

我使用 Hibernate 将数据映射到 MySQL 数据库。 RESTful Service Using Jersey with Hibernate Persistence

如果您决定采用这种方法,请注意,强烈建议您将 hibernate 内容与 Jersey 服务分开。您需要将您的 DAO 连接到您的服务层。看看@Rick Mangi 给我写了什么:REST with Java (JAX-RS) using Jersey and hibernate

在您的 Android 应用程序中使用 HTTP 客户端也是一个好方法,因为它支持 @GET、@POST、@DELETE 和 @PUT 命令,并且您可以轻松地与您的数据库通信,例如 HTTP GET Request

【讨论】:

太好了,您发现它们很有用。

以上是关于(需要建议)从我的 Android 应用程序与 MySQL 服务器数据库交谈的主要内容,如果未能解决你的问题,请参考以下文章

从我的网站下载 iOS 和 Android 应用程序?

如何从我的 android 应用程序打开 youtube 应用程序主页活动?

如何从我的 Android 设备直接在 Helix 服务器上录制视频?

如何从我的 android 应用程序中尽快获得准确的纬度/经度?

如何从我的应用程序在MS-Excel或MS-Word - Android中打开excel,doc文件

如何从我的 Android 应用程序通过 WhatsApp 向特定联系人发送消息?