代码之家  ›  专栏  ›  技术社区  ›  alex

在android studio中编辑和保存共享首选项

  •  0
  • alex  · 技术社区  · 4 年前

    我可以从设备文件资源管理器访问Android Studio中的共享首选项,但编辑文件后,更改的值不会保存。我如何保存更改?

    0 回复  |  直到 4 年前
        1
  •  2
  •   dominicoder    4 年前

    我可以从设备文件资源管理器访问Android Studio中的共享首选项,但编辑文件后,更改的值不会保存。我如何保存更改?

    您没有直接编辑文件。当你打开设备上的文件时,Android Studio实际上是在将副本拉到你的本地计算机上。

    例如,如果我随机选择这个 i_log 我的SDCard中的文件最终在我的本地计算机上 Documents 在Mac上(显示在Android Studio的顶部状态栏中)。 enter image description here

    如果你想将更改保存回设备,你需要将文件“上传”回设备。

    1. 在设备资源管理器中要将文件移动到的文件夹上,单击鼠标右键。
    2. 选择 上传。。

    enter image description here

    1. 在文件选择器对话框中,导航到您编辑的本地副本。

    enter image description here

    AS将把该文件推回设备。

        2
  •  1
  •   Hassan    4 年前

    要访问由资源字符串标识的共享首选项文件,请使用以下代码:

    Kotlin:

    var sharedPref = activity?.getSharedPreferences(
        getString(R.string.preference_file_key), Context.MODE_PRIVATE)
    

    Java

    Context context = getActivity();
    SharedPreferences sharedPref = context.getSharedPreferences(
        getString(R.string.preference_file_key), Context.MODE_PRIVATE);  
    

    它使用私人模式,因此只有您的应用程序可以访问该文件。

    您可以使用以下代码编写sharedpref:

    Kotlin:

       val sharedPref = activity?.getPreferences(Context.MODE_PRIVATE) ?: return
       with (sharedPref.edit()) {
           putInt("number", num)
           apply()
       }
    

    Java

    SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPref.edit();
    editor.putInt("number", num);
    editor.apply();  
    

    您可以将布尔值、字符串等放入sharedpref文件中。

    那么,如果你想得到这个值,你可以说:

       val num = sharedPref.getInt("number", defvalue = 0 )  
    

    如你所知,你可以获取布尔值、字符串等

    请参阅 documentation 也。

        3
  •  1
  •   ubuntudroid    3 年前

    或者,你也可以使用像脸书这样的工具 flipper 除其他事项外,它还允许您 edit SharedPreferences live .

    请注意,您需要将其与您的应用程序集成。不过,这相当简单,可以通过这种方式完成,发布版本根本不受其影响。