如何在android上存储wsdl首选项?

如何在android上存储wsdl首选项?,android,android-preferences,Android,Android Preferences,如果我使用ksoap2调用web服务,我如何在android上存储所需的首选项 我具有ksoap2所需的以下属性: 字符串方法名 字符串url 字符串名称空间 弦作用 我希望将这些属性的值存储在android上的一种首选项中,这样每当用户运行应用程序时,它们都会被加载 我对这种东西很陌生,非常感谢你的帮助 谢谢您使用该机制,这是一种保存键值对的简单方法。您可以将其存储在数据库中 或者创建一个具有所有必要属性的可序列化对象,并使用objectoutputstream将其保存到sdcard 先申报

如果我使用ksoap2调用web服务,我如何在android上存储所需的首选项

我具有ksoap2所需的以下属性:

字符串方法名
字符串url
字符串名称空间
弦作用

我希望将这些属性的值存储在android上的一种首选项中,这样每当用户运行应用程序时,它们都会被加载

我对这种东西很陌生,非常感谢你的帮助


谢谢您使用该机制,这是一种保存键值对的简单方法。

您可以将其存储在数据库中 或者创建一个具有所有必要属性的可序列化对象,并使用objectoutputstream将其保存到sdcard

  • 先申报

    私人共享参考; 私有字符串PREFNAME=“ThumbUpChamp”

  • 然后写入onCreate()
  • _pref=getSharedReferences(PREFNAME,Context.MODE\u PRIVATE)

    3.像这样使用

    编辑器_edit=_pref.edit(); _编辑.putFloat(“Qualify1”,wpm);
    _edit.commit()

    我假设您希望在项目中的文件中定义属性,并在启动时加载该属性。如果是的话。。然后:

    1) 在项目根目录中创建一个
    asset/
    文件夹

    2) 定义属性文件,例如ws.properties,并将其保存在资产文件夹中。格式必须如下所示:

    methodname=yourMethodNameHere
    url=http://your.url.here
    namespace=your_namespace_here
    action=your_action_here
    
    3) 在代码中的某个位置读取属性文件,如下所示:

    Resources resources = this.getResources();
    AssetManager assetManager = resources.getAssets();
    
    try {
        InputStream inputStream = assetManager.open("ws.properties");
        Properties properties = new Properties();
        properties.load(inputStream);
    } catch (IOException e) {
        e.printStackTrace();
    }
    
    String methodName = properties.getProperty("methodname");
    
    4) 现在,您可以继续使用properties变量引用设置,如下所示:

    Resources resources = this.getResources();
    AssetManager assetManager = resources.getAssets();
    
    try {
        InputStream inputStream = assetManager.open("ws.properties");
        Properties properties = new Properties();
        properties.load(inputStream);
    } catch (IOException e) {
        e.printStackTrace();
    }
    
    String methodName = properties.getProperty("methodname");
    


    当然,这可以像其他人所建议的那样,与使用
    共享引用相结合。然后,您可以仅在第一次启动应用程序时执行步骤3和步骤4,并将这些设置插入
    SharedReferences
    。如果要在代码中的多个位置使用这些设置,我想这将是最干净的方法。

    thx很多人,太棒了!!我可以通过代码2修改这个ws.properties吗?实际上,我认为使用AssetManager是不可能的。文档说:“这个类提供了一个较低级别的API,允许您打开和读取作为简单字节流捆绑在应用程序中的原始文件。”也许将属性文件加载到
    SharedReference
    中,然后使用它将是最好的选择,如果您都想在文件中定义属性,并且需要在安装后对其进行更改?