gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 12:01:38 25 4
gpt4 key购买 nike

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

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应用程序获取它。

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

关于java - 在Java Android应用程序中获取ruby环境变量DATABASE_URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27946373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com