在 Java Android 应用程序中获取 ruby 环境变量 DATABASE_URL

Getting ruby enviroment variable DATABASE_URL in Java Android Application

我在 heroku 中 Rails 应用程序并创建了数据库。当我使用 heroku config 时,我可以看到它是 url。我还有 Java android 应用程序,它有 2 个活动。我在那里创建数据库 class 正如文档所说:

public class Database
{
    public Database()
    {
        System.out.println(System.getenv("DATABASE_URL"));
        try {
            Connection connection=getConnection();
        } catch (URISyntaxException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    private static Connection getConnection() throws URISyntaxException, SQLException {
        URI dbUri = new URI(System.getenv("DATABASE_URL"));

        String username = dbUri.getUserInfo().split(":")[0];
        String password = dbUri.getUserInfo().split(":")[1];
        String dbUrl = "jdbc:postgresql://" + dbUri.getHost() + ':' + dbUri.getPort() + dbUri.getPath();
        System.out.println(username);
        return DriverManager.getConnection(dbUrl, username, password);
    }
}

并在我的 Activity:

中创建数据库对象
   public void onCreate(Bundle savedInstanceState) {
        Database database=new Database();
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

但我看到的是 null 而不是 url。好吧,这是可以预见的,因为它们是两个不同的应用程序。那么在我的 Java android 应用程序中获取 DATABASE_URL 的正确方法是什么?或者我应该将数据库的 url 复制到 Java 变量中?

我认为从 Android 应用程序直接连接到数据库是个很糟糕的主意。

如果你真的需要它,你可以通过一些 http api.

从 heroku 应用程序中获取它

但最好使用 HTTP API 进行 android 应用程序和数据库之间的所有交互,通过您的 ruby 应用程序。