<<PrefsDemo_Dialog.zip>>

Dialog(使用对话框的Preferences)

  • 新建项目 PrefsDemo_Dialog 编辑res/layout/main.xml文件

    <?xml version="1.0" encoding="utf-8"?>

    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent" android:layout_height="fill_parent">

    <TableRow>

    <TextView android:text="Checkbox:" android:paddingRight="5px" />

    <TextView android:id="@+id/checkbox" />

    </TableRow>

    <TableRow>

    <TextView android:text="Ringtone:" android:paddingRight="5px" />

    <TextView android:id="@+id/ringtone" />

    </TableRow>

    <TableRow>

    <TextView android:text="Checkbox #2:" android:paddingRight="5px" />

    <TextView android:id="@+id/checkbox2" />

    </TableRow>

    <TableRow>

    <TextView android:text="Text:" android:paddingRight="5px" />

    <TextView android:id="@+id/text" />

    </TableRow>

    <TableRow>

    <TextView android:text="List Selection:"

    android:paddingRight="5px" />

    <TextView android:id="@+id/list" />

    </TableRow>

    </TableLayout>

    2. 在res/新建xml目,在xml目录下新建preferneces.xml 布局文件

    <?xml version="1.0" encoding="utf-8"?>

    <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">

    <PreferenceCategory android:title="简单的配置">

    <CheckBoxPreference android:summary="CheckBox说明说明"

    android:key="checkbox" android:title="Checkbox配置"></CheckBoxPreference>

    <RingtonePreference android:title="铃声设置"

    android:key="ringtone" android:summary="请选铃声....."

    android:ringtoneType="ringtone|notification|alarm|all"

    android:showDefault="true" android:showSilent="true"></RingtonePreference>

    </PreferenceCategory>

    <PreferenceCategory android:title="详细页">

    <PreferenceScreen android:key="detail" android:title="Detail Screen"

    android:summary="Additional preferences held in another page">

    <CheckBoxPreference android:summary="另一个CheckBox"

    android:key="checkbox2" android:title="CheckBox2配置"></CheckBoxPreference>

    </PreferenceScreen>

    </PreferenceCategory>

    <PreferenceCategory android:title="其他配置">

    <EditTextPreference

    android:key="text"

    android:title="Text Entry Dialog"

    android:summary="Click to pop up a field for entry"

    android:dialogTitle="Enter something useful"

    />

    <ListPreference android:title="Selection Dialog"

    android:entryValues="@array/airport_codes" android:entries="@array/cities"

    android:key="list" android:summary="Click to pop up a list a choose from"

    android:dialogTitle="Choose a City"></ListPreference>

    </PreferenceCategory>

    </PreferenceScreen>

    3. 添加EditProferences类继承自ProferencesActivity类:

    import android.os.Bundle;

    import android.preference.PreferenceActivity;

    public class EditPreferences extends PreferenceActivity {

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    // TODO Auto-generated method stub

    super.onCreate(savedInstanceState);

    addPreferencesFromResource(R.xml.preferences);

    }

    }

    4. 修改 ProfsDemo_Dialog类:

    import android.app.Activity;

    import android.content.Intent;

    import android.content.SharedPreferences;

    import android.os.Bundle;

    import android.preference.PreferenceManager;

    import android.view.Menu;

    import android.view.MenuItem;

    import android.widget.TextView;

    public class PrefsDemo_Dialog extends Activity {

    private static final int EDIT_ID = Menu.FIRST + 2;

    private TextView checkbox = null;

    private TextView ringtone = null;

    private TextView checkbox2 = null;

    private TextView text = null;

    private TextView list = null;

    @Override

    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    checkbox = (TextView) findViewById(R.id.checkbox);

    ringtone = (TextView) findViewById(R.id.ringtone);

    checkbox2 = (TextView) findViewById(R.id.checkbox2);

    text = (TextView) findViewById(R.id.text);

    list = (TextView) findViewById(R.id.list);

    }

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

    menu.add(Menu.NONE, EDIT_ID, Menu.NONE, "Edit Prefs")

    .setAlphabeticShortcut('e');

    return super.onCreateOptionsMenu(menu);

    }

    @Override

    public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {

    case EDIT_ID:

    startActivity(new Intent(this, EditPreferences.class));

    return (true);

    }

    return super.onOptionsItemSelected(item);

    }

    @Override

    protected void onResume() {

    // TODO Auto-generated method stub

    super.onResume();

    SharedPreferences prefs = PreferenceManager

    .getDefaultSharedPreferences(this);

    checkbox.setText(new Boolean(prefs.getBoolean("checkbox", false))

    .toString());

    ringtone.setText(prefs.getString("ringtone", "<unset>"));

    checkbox2.setText(new Boolean(prefs.getBoolean("checkbox2", false))

    .toString());

    text.setText(prefs.getString("text", "<unset>"));

    list.setText(prefs.getString("list", "<unset>"));

    }

    }

    5. 在AndroidManifest.xml中配置EditPreferences Activity

    <activity android:name="EditPreferences"></activity>

转载于:https://www.cnblogs.com/xingquan/archive/2011/03/25/1995713.html

8.1 Android Basic 数据存储 Preferences Dialog(使用对话框的Preferences)相关推荐

  1. 8.2 Android Basic 数据存储 Database SQLite Demo 2

    <<SQLiteDemo2.zip>> SQLite Demo 2 本演练演示一个日记本程序 新建项目SQLiteDemo2, 编辑res/layout/main.xml 文件 ...

  2. 005 Android之数据存储

    文章目录 Android文件系统 Android文件的访问权限 文件访问权限实例 数据存储方式 内部存储 内部存储实例 外部存储 Shared Preferences Shared Preferenc ...

  3. android 储存方案,Android本地数据存储方案(一)

    Android系列的博客主要是记录和总结自己在平时学习之中遇到的问题,方便日后用到时查看,同时也希望对读者有所帮助.不足之处,欢迎指正~ 在说到Android数据存储之前,先提一下数据持久化,所谓数据 ...

  4. Android的数据存储之一------SharedPreferences

    下面将介绍下Android的数据存储,Android提供了5种方式存储数据: 1.SharedPreferences存储数据; 2.文件存储数据: 3.SQLite数据库存储数据: 4.使用Conte ...

  5. android app数据存储,基于Android开发的APP数据存储研究

    谢原武+龙文 摘要: 作为一个完整的应用程序,数据存储操作是必不可少的.Android系统一共提供了四种数据存储方式分别为File文件存储.Shared Preferences存储.ContentPr ...

  6. android SharedPreferences数据存储

    android  SharedPreferences数据存储 很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为好友.对于软件配置参数的保存 ...

  7. android常用的存储方式,Android 常见数据存储方式

    Android 常见数据存储方式有以下三种:1.使用SharedPreferences存储数据:其本质就是一个xml文件,可以保存字符串.布尔值.基础数据.集合等数据.常用于存储较简单的参数设置. 2 ...

  8. Android之数据存储-刘志远-专题视频课程

    Android之数据存储-17742人已学习 课程介绍         本课程介绍了Android中几种数据存储方式,让大家对Android中的数据存储一个系统的认识 课程收益     本课程介绍了A ...

  9. Android常用数据存储之SharedPreferences存储和读取用法分享

    一:Android常用数据存储,一共有五种方式,分别是 1.SharedPreferences储存数据, 2.文件存储 3.SQLite数据存储 4.ContentProvider储存数据 5.网络存 ...

最新文章

  1. 【百度分享】以太网卡TSO技术浅析
  2. 【项目实战课】基于Pytorch的DCGAN人脸嘴部表情图像生成实战
  3. 【每周NLP论文推荐】 开发聊天机器人必读的重要论文
  4. Python连接MySQL数据库执行sql语句时的参数问题
  5. SimpleDateFormat线程不安全了?这里有5种解决方案
  6. 实践案例丨云连接CC实现跨区域多VPC与线下IDC Server互联
  7. 如何检查python是否安装了pip_如何检测和删除通过pip安装的Python包?
  8. 不会写代码也能当程序员?无代码来了,是福还是祸?
  9. 科大讯飞:讯飞输入法日语音交互次数超10亿,将发力5G和AIoT领域
  10. 《转载》python爬虫实践之模拟登录
  11. 安装centos7.3操作系统
  12. 工业循环水浅层砂过滤器(励进浅层介质过滤器)介绍及现场案例图
  13. springboot slf4j log4j2 动态创建日志的方法
  14. java并发知识汇总
  15. android 键盘隐藏监听,Android监听键盘显示和隐藏
  16. 神经网络之极限学习机(ELM)
  17. (马蹄集)直线切平面 线段 圆切平面
  18. postgresql系统架构图
  19. 工控机上安装服务器级虚拟机vmware ESXi6.7
  20. linux应用程序的编写实验原理,操作系统实验 1.在linux下编写一个应用程序 联合开发网 - pudn.com...

热门文章

  1. MATLAB学习笔记(十一)
  2. ajax跨域为什么会失败,ajax跨域请求失败是怎么回事?
  3. Vue之条件渲染v-if和v-show
  4. pyqt5 qwidget 边框_实战PyQt5: 116-画刷类QBrush
  5. 2-2Pytorch1.5环境配置
  6. android 6.0编译环境,MacOS下编译Android6.0源代码
  7. 机器学习和深度学习_算法测评 | 机器学习VS深度学习
  8. 升级php5.4 mysql5.5_在CentOS上把PHP从5.4升级到5.5
  9. mysql 搭建日志服务器_rsyslog+mysql+loganalyzer 环境搭建日志服务器
  10. Java 并发编程之 Atomic 类