论坛首页 移动开发技术论坛

玩转Android--UI篇--PreferenceActivity

浏览 4813 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-09-01   最后修改:2011-09-02

由于iteye不支持动态更改博客,总是保留之前一个,所以修改后的地址是:http://hualang.iteye.com/blog/1163185

 

添加了播放背景音乐和开启wifi的功能实现

 

 

 

我们可以使用PreferenceActivity来添加设置,Android提供了放百年的工具来定义所有的程序的首选项,并支持既不不许要编写代码的情况写显示这些首选项。可以在一个名为res/xml/settings.xml的资源文件中定义这些首选项:

res/xml/settings.xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
  xmlns:android="http://schemas.android.com/apk/res/android">
    <CheckBoxPreference
    	android:key="voice"
    	android:title="@string/voice"
    	android:summary="@string/voice_summary"
    	android:defaultValue="true" 
    />
    <CheckBoxPreference
    	android:key="wifi"
    	android:title="@string/wifi"
    	android:summary="@string/wifi_summary"
    	android:defaultValue="true" 
    />
</PreferenceScreen>

 res/values/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, AddSetting!</string>
    <string name="app_name">AddSetting</string>
    <string name="voice">声音</string>
    <string name="voice_summary">开启手机音量</string>
    <string name="wifi">无线</string>
    <string name="wifi_summary">开启无线网络</string>
</resources>

 AddSetting.java

package com.settings.test;

import android.os.Bundle;
import android.preference.PreferenceActivity;

public class AddSetting extends PreferenceActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.settings);
    }
}

 addPreferencesFromResource()方法从XML文件中读取设置定义,并将其解压缩到当前的活动视图中。所有耗时的解压缩工作都在PreferenceActivity类中处理

 

在编写程序的时候,我们可以将其放在自己定义的menu菜单的设置中


  • 大小: 18.7 KB
  • 大小: 20.4 KB
  • 大小: 21.3 KB
  • 大小: 16.9 KB
   发表时间:2011-09-01  
保存的设置的配置文件在哪里?在其他地方如何调用这个设置呢?还没有讲完啊!
0 请登录后投票
   发表时间:2011-09-01  
funever 写道
保存的设置的配置文件在哪里?在其他地方如何调用这个设置呢?还没有讲完啊!

不好意思,稍后就补上
0 请登录后投票
   发表时间:2011-09-10  
保存的文件放在data/data/包名/shared_prefs目录下,如设置的存放在:/data/data/com.android.settings/shared_prefs.
其它地方的引用可以使用
先SharedPreferences pres = getSharedPreferences(SHAREPREFERENCE_NAME, 0)
之后再boolean b = pres.getBoolean(SHOWAGAIN, true);
类似以上句子取得
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics