要成为honesr,我不确定如何为此设置标题。我正在学习http://developer.android.com/training/basics/data-storage/shared-preferences.html,并想稍微清楚一点。
让我们说:
SharedPreferences sharedPref = getSharedPreferences(USERNAME, MODE_PRIVATE);
和
SharedPreferences.Editor editor = sharedPref.edit();
当我将鼠标悬停在edit()上时(我使用Eclipse IDE),我学会了
打开声明编辑器android.content.SharedPreferences.edit()
public abstract SharedPreferences.Editor edit()
在API级别1中添加
为这些首选项创建一个新的编辑器,通过该编辑器,您可以对首选项中的>数据进行修改,并将这些更改原子地提交回SharedPreferences>对象。
请注意,您必须调用commit()以使您在编辑器中执行的任何更改实际显示在SharedPreferences中。
返回 返回SharedPreferences.Editor接口的新实例,允许您修改此SharedPreferences对象中的值。
所以我实际上有三个小问题:
1 / edit()是一个抽象方法,所以在哪个类中有edit()被覆盖(我已经学会了位于SharedPreferences接口的“public abstract SharedPreferences.Editor edit()”,所以必须有一些那里的类实现了这个接口)
2 / SharedPreferences.Editor是一个接口。据我所知,接口无法实例化。为什么上面的编辑器对象可以接收API中所述的“SharedPreferences.Editor接口的新实例”。
3 /我刚刚开始学习Android几天,这是一种很好的方法,我用这种方式学习,这意味着要解析所有内容以使我们清楚了吗?谢谢
答案 0 :(得分:1)
您应该了解的主要事情是,您不应该关心实现抽象类(或接口)的人和方式。如果是SharedPreferences
,则由Android内部类实现(这意味着您无法使用)SharedPreferencesImpl
。
换句话说,你不应该关心细节。界面只描述了这个对象可以做什么(你应该相信它)。
P.S。到目前为止,当你正在学习某些东西时 - 这是一个很好的方法。