如何在我的android应用程序(eclipse)中实现和使用google cloud sql
Posted
技术标签:
【中文标题】如何在我的android应用程序(eclipse)中实现和使用google cloud sql【英文标题】:How to implement and use google cloud sql in my android app (eclipse) 【发布时间】:2014-02-22 05:56:15 【问题描述】:这看起来像一个愚蠢的问题,看起来我并没有在那里寻找答案。
问题是我正在开发一个 android 应用程序,并且在某个时候我对
谷歌云 SQL
和
谷歌应用引擎
所以我看了 20-30 篇教程并开始实施,但现在我被卡住了,找不到任何教程显示一步一步的简单 android 代码。
这是我所做的以及我现在遇到的问题:
-我的 android 应用运行良好,没有任何错误
-创建了一个应用引擎项目
-开启 Google Cloud SQL 服务及其 API 服务并为此付费
-在云端创建实例
-和“通过 api 控制台”在我的实例中创建了一个表和一个小型数据库
-为我的应用程序包生成了一个 App Engine 支持
这就是我卡住的地方!我不知道如何使用生成的文件,事情是如何工作的,我如何通过我的应用程序访问云中的表,找不到任何教程来解释这是如何发生的,所有的教程都只是跳过这一步,就好像它是世界上最简单的事情。
我只是想知道事物是如何协同工作的?在哪里正确的方法,我必须做什么才能从云中实例中的表中获取我的数据......
我会很感激任何链接 :) 谢谢。
【问题讨论】:
一个月过去了,我还是想不通...我对Servlet和Endpoint类逻辑不熟悉...我阅读了很多教程,都是关于Web应用程序的,但是我正在开发一个android应用程序,我只需要代码来访问我的云sql数据库,从手机上运行的应用程序读取和写入......任何一个? :(这是我的高级项目:( 【参考方案1】:如果你还没有弄清楚,这就是我所做的。
在开发者控制台中记下您的项目编号和 API 密钥。还要确保您的云实例允许访问您的项目 ID。
-
创建一个应用引擎连接的项目。文件 > 新建 > 其他 > Android > App Engine Connected Android 项目。
输入您的项目编号和 API 密钥。
创建项目后,右键单击生成的应用引擎项目 > Google > App Engine 设置,然后在应用程序 ID 字段中输入开发者控制台中的项目 ID。
右击生成应用引擎项目>谷歌>生成云端点客户端库
右键单击生成应用引擎项目 > Google > 部署到 App Engine
现在您可以从 Android 应用调用云 SQL 数据库。但是您必须将其作为 AsyncTask 来执行。在我这样做之前,它对我不起作用。创建一个 AsyncTask 类并在 doInBackground 中连接到您的数据库。我是这样做的:
public class Connect extends AsyncTask<Context, Integer, Long>
protected Long doInBackground(Context... contexts)
Connection connection;
String query = "Some query";
try
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://<your cloud IP address>/<database schema you want to connect to>", "<user>", "<password>");
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
如果您已经创建了一个 android 项目,只需右键单击该项目 > Google > Generate App Engine Backend 并从第 2 步开始。我希望这会有所帮助。
【讨论】:
您似乎没有发布完整的代码。你介意把它都加进去吗?谢谢。 这就是你所需要的。然后,您将运行查询并随心所欲地使用它。 我不熟悉 Google Endpoints。但是,在我弄清楚如何连接之后,我发现使用云数据存储更容易。它更便宜、更容易设置。 您在第 1 步中的确切位置?我没有看到像您描述的那样的菜单。 那是日食。你下载了eclipse的app engine SDK并安装了吗?【参考方案2】:你快到了。推荐的机制是通过 REST 服务公开您的 App Engine 托管功能,并从您的 Android 应用程序调用这些服务。
Google 可通过 Cloud Endpoints 功能让您更轻松地做到这一点。这将有助于为您的移动后端生成端点服务(想想 REST 服务)。它还将生成一组客户端类(在您的 Android 应用程序的 .java 中),您可以轻松地使用这些类从您的 Android 客户端调用服务。
查看这个涵盖“How to build a mobile app with an App Engine backend”的深入教程
【讨论】:
感谢您的回答我已经阅读了本教程,但我将应用它,也许之后它会变得清晰。再次感谢:) 我浏览了那个教程,但它没有说明任何关于访问 Cloud SQL 的内容。它只显示数据存储...以上是关于如何在我的android应用程序(eclipse)中实现和使用google cloud sql的主要内容,如果未能解决你的问题,请参考以下文章
为啥 logcat 在我的 Android 中不显示任何内容?
Android Studio - 如何使用库(来自 eclipse 项目)