如何从Android应用程序访问AWS(由Ruby on rails制成)中的DB?

如何从Android应用程序访问AWS(由Ruby on rails制成)中的DB?,android,ruby-on-rails,amazon-web-services,devise,Android,Ruby On Rails,Amazon Web Services,Devise,我现在正在尝试制作一个移动应用程序,它要求用户输入用户帐户信息以登录,并从AWS中的DB获取数据(web应用程序是用Ruby on Rails制作的) Ruby应用程序目前使用Desive Gem。接收用户信息有两种方式:一种是电子邮件和密码,另一种是Google+登录 作为支持内容,我还想构建一个Android移动应用程序。此应用程序应要求用户输入用户帐户信息,并作为唯一定义的用户获取唯一可访问的数据 如何实现此功能?我现在正在使用Android Studio,如果我能了解全局,那将非常有用

我现在正在尝试制作一个移动应用程序,它要求用户输入用户帐户信息以登录,并从AWS中的DB获取数据(web应用程序是用Ruby on Rails制作的)

Ruby应用程序目前使用Desive Gem。接收用户信息有两种方式:一种是电子邮件和密码,另一种是Google+登录

作为支持内容,我还想构建一个Android移动应用程序。此应用程序应要求用户输入用户帐户信息,并作为唯一定义的用户获取唯一可访问的数据


如何实现此功能?我现在正在使用Android Studio,如果我能了解全局,那将非常有用

你不能直接从你的移动应用程序(在你的例子中是android)访问DB,你必须为此构建一个
api

所以基本的工作流程是

  • 您有一个api端点,比如,
    users/login
  • 您使用
    用户名
    密码
    向该api发送post请求 (ajax/json)
  • 登录方法将使用
    designe
    验证用户信息
  • api
    将返回适当的json响应(例如:用户对象为json)
因此,有几种编写api的方法

1-最简单的方法是使用带有namespce api Ex的控制器:

#app/controllers/api/login_controller.rb
controller Api::LoginController < ApplicationController
  def create 
     #some code to validate user input and response
  end  
end
#app/controllers/api/login_controller.rb
控制器Api::LoginController

2) 更可持续的长期解决方案是使用某种
gem
来构建它。曾经是这样的gem,它支持更有用的功能,比如
api版本控制

,所以你有一个ruby-on-rails web应用程序,你想创建一个使用相同数据库的android应用程序。。。是吗?是的,是的!!android应用程序还将具有登录功能,并从AWS数据库获取数据(主要是获取方法)!有没有办法做到这一点?@sameera207的回答应该会让你走上正确的道路。当通过API进行身份验证时,您应该查看令牌身份验证w/designe。