AppConfig.java?试图使这种动态不是静态的

时间:2013-06-06 00:09:02

标签: android dynamic static app-config

我希望最终用户(Android应用程序)能够输入指向主机数据库的网址,目前这完美无缺,但我希望能够在我的主机帐户上安装几个不同的数据库,如现在我只能安装一个指向/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
  };
}

1 个答案:

答案 0 :(得分:0)

根据我的理解,您正在寻找存储用户输入的网址的最佳方式,您的应用将用它来访问数据库。

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

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

如果应用程序支持多个URL,则应使用数据库。 (您可以使用上面的方法,只存储多个共享首选项,如果只有2或3个可用网址,但它很容易且不可扩展)。

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

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