2011-12-09 55 views
20

因此,我一直在编写小型Android应用程序,并希望开始编写能够允许用户创建帐户的大型应用程序,允许我以某种形式在线存储其帐户数据数据库,真的只是添加一些需要某种后端的功能。将数据库/后端添加到Android应用程序

我是新手编程,并从Java/Android开始。我应该从哪里开始了解这个东西?这会成为我需要的数据库吗?什么类型的流行或好学习/使用?

我读了关于https://www.parse.com,它看起来很有趣并且易于使用,但是我不想学习那些不是标准的东西,或者我只能使用它们的客户端。

+0

也许你想看看一些更多的选择,这是在这个问题中解释:http://stackoverflow.com/questions/7912570/ready-to-use-backend-for-mobile-applications/10235975# 10235975 – Andreas

回答

28

我以前从来没有使用过Parse,但它似乎是一个简单的方法,让您不用担心编写所有服务器端代码,缺点是:它需要更多的资金才能使用它,而您也与他们的API和做事方式联系在一起。如果你使用Parse,你只需要担心为你的Android应用程序编写代码来与Parse进行交互。你可以看到他们的文件的细节。

便宜的路线需要更多的工作。你需要一个

  • 服务器来承载后端

  • 服务器端语言(即Java,PHP和Python的...不胜枚举),以控制从Android应用程序/处理请求。

  • 数据库(MySQL和PostgreSQL,Oracle等)设置你想要的模式(即用户表)

的一般流程是:你的Droid的应用程序将作出http://yourserver.com/BackendFunction请求具有该功能的参数。您的服务器端脚本语言将完成后端工作(即将用户添加到数据库)。服务器通过一些信息(通常是JSON或XML,无论您选择什么)和相关信息来回应您的应用程序,并且您的应用程序会显示该信息的良好视图。

您需要研究如何使用任何服务器端语言&数据库来查询数据库以及如何发送/处理HTTP请求&响应。

+0

谢谢!那基本上是我想知道的,关于教程的任何建议还是真的有什么开始学习这个的?我猜想使用Java服务器端将是我最好的选择,因为我已经知道了一些,但我正在考虑学习python。 – Peter

+2

下面是一个[Python web框架列表](http://wiki.python.org/moin/WebFrameworks)和[Java框架](http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks#Java)。你需要学习很多东西,这是一个很深的课题。一些Web框架遵循模型 - 视图 - 控制器设计。您可以忽略在您的服务器上为您的应用创建视图,并对模型(数据库对象)和控制器(将这些数据库对象处理到您的应用)进行编码。阅读框架的文档 - 查看您是否可以创建url,向其提交一些数据并让它返回数据。 – JMoy

+0

即使我在寻找相同的答案。有没有任何在线资源,可以从头到尾引导我?我认为你是唯一正确理解问题的人! –

5

你说得对,你需要服务器端的某种数据存储来存储数据。它可能是一个传统的RDBMS数据库(mysql或postgresql),或者像noSQL解决方案(mongodb,riak,couchdb)之类的新东西。解析看起来很酷,但我从来没有尝试过。

对于我最近的Android项目,我一直在使用Couchbase的Android库(http://www.couchbase.org)和ektorp(http://www.ektorp.org),这些库允许我复制到服务器端的CouchDB实例。它是有很多原因有了很大:

  • 使用HTTP默认发送数据
  • 发送数据的JSON格式(无转换 - 绑定/序列化)
  • 简单的EKTORP“复制”命令拉客户端和服务器之间/推数据

此外,根据您选择的数据存储,你仍然需要几件事情决定:

  • 你将数据发送到服务器的格式是什么?我会推荐JSON。其他选项是XML或YML。
  • 如何将客户端上的数据转换为传输?如果您选择JSON,jackson-json库非常棒。
  • 您是否需要一个中间层来保护和/或翻译您选择的数据格式?如果你需要一个中间层的话,你可能希望看看Spring MVC构建基于restful的web服务。

这似乎令人望而生畏(服务器端的东西有时会感觉这种方式),但保持在它,你会得到它!

相关问题