所以我一直在编写小型Android应用程序,并希望开始编写更大的应用程序,这些应用程序能够允许用户创建帐户,允许我将他们的帐户数据存储在某种类型的数据库中,并且实际上只是添加某种功能需要某种后端.
我是编程新手,刚开始使用Java/Android.我应该从哪里开始了解这些东西?这是我需要的数据库吗?什么类型的流行或好学习/使用?
我读到了https://www.parse.com,它看起来很有趣且易于使用,但我不想学习一些不是标准或我只能与他们的客户一起使用的东西.
我之前从未使用过Parse,但它似乎是一种简单的方法让你不用担心编写所有服务器端代码,缺点是:它花钱你想要使用它越多,你也被绑在他们的API和做事方式.如果你使用Parse,你只需要担心为你的Android应用编写代码以与Parse交互.您可以查看其文档以获取相关详细信息.
更便宜的路线涉及更多的工作.你需要一个
用于承载后端的服务器
服务器端语言(即Java,PHP,Python ..列表继续)来控制/处理来自Android应用程序的请求.
使用您想要的模式(即用户表)设置数据库(mySQL,PostgreSQL,Oracle等)
一般流程是:您的Droid应用程序会向http://yourserver.com/BackendFunction请求该功能的参数.您的服务器端脚本语言将执行后端工作(即将用户添加到数据库).服务器使用相关信息通过一些信息(通常是JSON或XML,无论您选择哪种方式)回复您的应用程序,并且您的应用程序会显示该信息的精彩视图.
您需要研究如何使用您正在使用的任何服务器端语言和数据库查询数据库以及如何发送/处理HTTP请求和响应.
你是对的,你需要在服务器端使用某种数据存储来存储你的数据.它可能是传统的RDBMS数据库(mysql或postgresql),或者像noSQL解决方案(mongodb,riak,couchdb)更新的东西.Parse看起来很酷,但我从未尝试过.
对于我最近的Android项目,我一直在使用Couchbase的Android库(http://www.couchbase.org)和ektorp(http://www.ektorp.org),它允许我复制到服务器端的CouchDB实例.它有很多原因:
默认情况下使用HTTP发送数据
以JSON格式发送数据(无转换 - 绑定/序列化)
ektorp中简单的'replicate'命令,用于在客户端和服务器之间提取/推送数据
此外,根据您选择的数据存储区,您仍需要确定以下几项:
您将以何种格式将数据发送到服务器?我推荐JSON.其他选项是XML或YML.
您将如何在客户端上转换数据以进行传输?如果选择JSON,jackson-json库很棒.
您是否需要中间层来保护和/或翻译您选择的数据格式?如果需要中间层,您可能需要查看Spring MVC以构建基于restful的Web服务.
它可能看起来令人生畏(服务器端的东西往往会有这样的感觉),但保持它,你会得到它!