这看起来像一个愚蠢的问题,看起来我似乎没有找到答案但是.
问题是我正在开发一个Android应用程序,并且在某个时刻我是新的
Google Cloud SQL
和
Google App Engine
所以我看了20-30教程并开始实现,但现在我卡住了,可以找到没有教程,显示一步一步的简单的Android代码.
这就是我所做的以及我现在所处的位置:
-my android app工作得很好,没有一个错误
- 创建了一个app引擎项目
- 转而使用Google Cloud SQL服务及其API服务,并为此付费
- 在云中创建一个实例
- 并且"通过api控制台"在我的实例中创建了一个表和一个小数据库
生成为我的应用程序包支持的App Engine
而这就是我被卡住的地方!我不知道如何使用生成的文件,如何工作,如何通过我的应用程序访问云中的表,可以找到解释如何发生的教程,所有教程都跳过这一步,就像它是世界上最简单的事情.
我只是想知道事情是如何协同工作的?在哪里使用方法,我需要做什么才能从云中的实例中的表中获取数据...
我甚至会感谢任何链接:)谢谢.
如果你还没有想到这个,那就是我做的.
在开发人员控制台中,记下您的项目编号和API密钥.还要确保您的云实例允许访问您的项目ID.
创建一个app引擎连接项目.文件>新建>其他> Android> App Engine连接Android项目.
输入您的项目编号和API密钥.
创建项目后,右键单击生成的应用程序引擎项目> Google> App Engine设置,然后在应用程序ID字段中从开发人员控制台输入项目ID.
右键单击生成应用程序引擎项目> Google>生成云端点客户端库
右键单击生成应用程序引擎项目> 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>生成App Engine后端,然后从步骤2开始.我希望这会有所帮助.
你快到了.推荐的机制是通过REST服务公开您的App Engine托管功能,并从您的Android应用程序调用这些服务.
Google可让您通过Cloud Endpoints功能轻松实现这一目标.这将有助于为您的移动后端生成端点服务(思考REST服务).它还将生成一组Client类(在Android应用程序的.java中),您可以轻松地从Android客户端调用服务.
查看这个深入的教程,内容涵盖" 如何使用App Engine后端构建移动应用程序 "