Android ApiDemo分析(八)

app/Menu

这个Demo演示了各类menu的设置方法;

功能描述:通过下拉列表可以选择不同类型的Menu菜单,以实现不同的需求;

相关内容:

Android中的menu菜单与其他的View一样,支持xml和java代码两种定义方法,演示程序中使用了xml文件定义。创建菜单需要覆写Activity的

 public boolean onCreateOptionsMenu(Menu menu)方法,对菜单项的监听需要覆写public boolean onOptionsItemSelected(MenuItem item)方法,也可以使用OnMenuClickListener()接口。


app/Notification

这个Demo演示了Notification功能的基本使用方法;

功能描述:IncomingMessage演示了通知的基本设置方法,点击按钮后发出通知,标题栏中提示并产生振动提示;Notify Service Control演示了在服务中定时发出通知的功能,每隔5秒标题栏的通知都会改变;NotifyWithText使用Toast给用户简单的通知,通过设置可以获得两种不同的通知时常;StatusBar演示了对Notification不同的设置产生的细微差别。

相关内容:
Notification的几个要素
     1)NotificationManager 用于启用系统的通知服务,在设置的最后需要用到它的notify方法使通知得到发布;
     2)PendingIntent 用于用户查看通知并点击后产生的动作
     3)Notification 用于具体显示的一些设定,包括标题栏和通知栏的具体显示,振动、铃声,在这里可以自定义通知栏内容的显示样式,自定义后将不能使用其setLatestEventInfo()方法。

app/Preference

这个Demo演示了Android系统首选项的设置功能。

功能描述:Preferences from XML可以将用户设置的内容自动保存在本地文件中;Launching preferences演示了如何从一个Activity启动PreferenceActivity并取得返回值;Preferences dependence演示了设置项之间的关联作用;Default values演示了如何为项设置默认值;Preferences from code演示了用代码加载布局的方法;Advanced preferences演示了如何自定义一个Preference。

相关内容:
1、Preferences
应用程序需要提供选项来确定一些基本的配置信息,通过SharePreference即可以实现配置信息的存储,但Android系统为该种实现提供了一种统一的风格,即Preference;开发者可以在xml文件中定义这些选项,系统将自动保存修改后的配置信息。Preferences和layout的定义类似。Preferences文件的标签:
1)PreferenceScreen根元素,定义了一个显示窗口,在其中可以添加其他任意元素,包括PreferenceScreen本身;
2)PreferenceCategory组元素,定义了一个分组,其子元素将组成一个分组;
2)CheckBoxPreference 包含Checkbox 的一个配置项;
3)EditTextPreference 包含文本框的配置项,接受用户的输入文本;
4)ListPreference 包含一组单选钮 (列表)可以从中选择某一项;
5)MultiSelectListPreference 包含一组Checkbox,允许该配置项有多项值;
6)RingtonPreference 允许用户从选取某个铃声
///////////////////////////////////////////////////////////////////////////////////////////////
<PreferenceScreen >
           <PreferenceCategory>          
        <CheckBoxPreference/>
            <EditTextPreference />  
        <ListPreference/> 
           </PreferenceCategory>


           <PreferenceCategory
        <PreferenceScreen/>        
        </PreferenceScreen>
           </PreferenceCategory>   
</PreferenceScreen>
/////////////////////////////////////////////////////////////////////////////////////////////////
2、PreferenceActivity
Preferences需要在PreferenceActivity中加载,方法为addPreferencesFromResource(R.xml.preferences);
3、android:dependency="***"该属性可以设置项与项之间的关联;
     android:defaultValue="***"设置显示的默认值;
4、自定义Preferences
1)加载自定义布局setWidgetLayoutResource(R.layout.preference_widget_mypreference);
2)如有需要为自定义的Layout中的View 设置属性,可以在onBindView(View view)中完成;
3)如果在自定义的Preference 在XML确定了初值,如android:defaultValue=”100″,要在代码中使用这个初值来初始化变量则使用onGetDefaultValue(TypedArray a, int index)和onSetInitialValue(boolean restoreValue, Object defaultValue);
4) 重载 onSaveInstanceState,onRestoreInstanceState ,这两个方法是用来临时保存或是恢复一些变量值。在Preference 调用persistInt,persistBoolean, persistString等之前,preference 对应的值还没有被保存在或是更新在Shared preferences 中,如果这时用户旋转屏幕,则造成Activity重新创建,我们需要在屏幕旋转时用户选择项会保留,可以使用onSaveInstanceState,onRestoreInstanceState来保持一些临时数据。
5)Preference使用persistBoolean, persistFloat ,persistInt, persistLong ,persisitString 向Shared Preferences中存储数据,notifyChanged用于通知UI有数据变化,callChangeListener 将会调用注册过的Preference.OnSharedPreferenceChangeListener 以通知Preference有变化。

你可能感兴趣的:(android,xml,object,layout,存储,menu)