Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.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
Java SharedReferences.Editor(Android)混乱_Java_Android_Sharedpreferences - Fatal编程技术网

Java SharedReferences.Editor(Android)混乱

Java SharedReferences.Editor(Android)混乱,java,android,sharedpreferences,Java,Android,Sharedpreferences,老实说,我真的不知道该如何为这个设置标题。我正在学习,我想把事情说清楚一点 假设我们有: SharedPreferences sharedPref = getSharedPreferences(USERNAME, MODE_PRIVATE); 及 当我将鼠标悬停在edit()上(我使用EclipseIDE)时,我了解到了这一点 打开声明编辑器android.content.SharedReferences.edit() 公共摘要SharedReferences.Editor编辑() 在API级

老实说,我真的不知道该如何为这个设置标题。我正在学习,我想把事情说清楚一点

假设我们有:

SharedPreferences sharedPref = getSharedPreferences(USERNAME, MODE_PRIVATE);

当我将鼠标悬停在edit()上(我使用EclipseIDE)时,我了解到了这一点

打开声明编辑器android.content.SharedReferences.edit()

公共摘要SharedReferences.Editor编辑()

在API级别1中添加

为这些首选项创建一个新的编辑器,通过该编辑器可以修改首选项中的>数据,并自动将这些更改提交回SharedReferences>对象

请注意,必须调用commit(),才能使在编辑器中执行的任何更改实际显示在SharedReferences中

返回 返回SharedReferences.Editor接口的新实例,允许您修改此SharedReferences对象中的值

我这里有三个小问题:

1/edit()是一个抽象方法,所以在哪个类中重写了edit()(我已经了解到“public abstract SharedPreferences.Editor edit()”位于SharedPreferences接口中,所以肯定有一些类实现了这个接口)

2/SharedReferences.Editor是一个接口。据我所知,接口不能被实例化。为什么上面的编辑器对象可以接收API中所述的“SharedReferences.editor接口的新实例”

3/我刚开始学习Android几天,我用这种方式学习是不是一种好的方法,也就是说,剖析一切,让我清楚地了解它们


谢谢

您应该理解的主要一点是,您不应该关心谁以及如何实现您接收的抽象类(或接口)。在
SharedReferences
的情况下,它由Android内部类实现(这意味着它对您不可用)
SharedReferencesImpl

换句话说,你不应该关心细节。接口只是描述了这个对象可以做什么(您应该相信它)


另外,就你所学而言,这是一个很好的方法。

我想我也能找到第二个问题的答案。它应该是这样的:。谢谢你的回答。
SharedPreferences.Editor editor = sharedPref.edit();