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();