Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用SharedReferences读取SD卡中的配置文件?_Android_Sharedpreferences - Fatal编程技术网

Android 如何使用SharedReferences读取SD卡中的配置文件?

Android 如何使用SharedReferences读取SD卡中的配置文件?,android,sharedpreferences,Android,Sharedpreferences,我找到了从配置文件读取值的代码,但我无法从SD卡读取文件。我试着这样做: static File GPSCfgFile = new File(Environment.getExternalStorageDirectory() + "/Config/GPSLogService.cfg"); public static final String PREFS_NAME = String.valueOf(GPSCfgFile); 当我启动服务时,它意外停止。这是在日志中

我找到了从配置文件读取值的代码,但我无法从SD卡读取文件。我试着这样做:

static File GPSCfgFile = new File(Environment.getExternalStorageDirectory()
            + "/Config/GPSLogService.cfg");
    public static final String PREFS_NAME = String.valueOf(GPSCfgFile);
当我启动服务时,它意外停止。这是在日志中:

FATAL EXCEPTION: main
GPSLogService.cfg.xml contains a path separator

如何从SD卡读取该文件?

您可以使用
String.valueOf()方法获取文件:
如果您使用的是XML配置文件,您可以查看以下链接以了解如何操作:

如果您使用的是纯文本文件,可以在此处查看:

读取配置文件时,必须将每个值保存在单个
SharedReferences

SharedPreferences prefs = getSharedPreferences(ConstantsUtils.PREFERENCES,
            Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("IPAddress", "Tag value" );
editor.commit();

我认为您无法读取带有
String.valueOf()
的文件。谢谢。如何将此SharedReferences转换为long并在其他方法中使用?我被困在这里了。您可以使用您在问题SharedReferences settings=GetSharedReferences(PREFS_NAME,0)中编写时保存的首选项;String ipAddress=settings.getString(“ipAddress”,”);
SharedPreferences prefs = getSharedPreferences(ConstantsUtils.PREFERENCES,
            Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("IPAddress", "Tag value" );
editor.commit();