0

我希望最终用户(android 应用程序)能够输入一个指向主机数据库的 url,目前这工作得很好,但是我希望能够在我的主机帐户上安装几个不同的数据库,就像现在一样我只能安装一个/valueTracker/我认为是静态的指向我如何打开它以使其更具动态性?

package com.valuetracker;

public class AppConfig {
  public static final boolean debugging = false;

  public static String strSitePrefix = "";
  public static String strServerPrefix = "";

  static {
    if(debugging) {
      strSitePrefix = "/valueTracker/api/";     
    } else {
      strSitePrefix = "/valueTracker/api/";
    }
  }

  enum ErrorCode {
    ERROR_PARSE_MESSAGE,
    ERROR_NETWORK_FAIL
  };
}
4

1 回答 1

0

好的,据我了解,您正在寻找存储用户输入 URL 的最佳方法,您的应用程序将使用该 URL 访问数据库。

如果应用程序只允许用户拥有 1 个服务器,最好的方法是将 URL 存储在 android Shared Preference 中。SharedPreferences 基本上只是您的应用程序可以存储值的设置。一个非常基本的数据库,非常易于使用。它看起来像:

 SharedPreferences settings = context.getSharedPreferences(0);
 SharedPreferences.Editor prefEditor = settings.edit();
 prefeditor.putString("user_url", url);

如果应用程序要支持超过 1 个 URL,您应该使用数据库。(如果只有 2 或 3 个 url 可用,您可以使用上面的方法并只存储多个共享首选项,但它是 hacky 且不可扩展的)。

对于像存储字符串这样简单的事情,实现数据库解决方案将非常容易。我推荐ActiveAndroid

按照示例代码存储仅包含字符串 url 字段的模型。在应用程序启动时,从数据库中加载所有 URL,并将它们存储在某个位置,例如 Application 类,它是一个单例。

于 2013-06-06T10:53:11.487 回答