8.1 Android Basic 数据存储 Preferences Dialog(使用对话框的Preferences)
<<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)相关推荐
- 8.2 Android Basic 数据存储 Database SQLite Demo 2
<<SQLiteDemo2.zip>> SQLite Demo 2 本演练演示一个日记本程序 新建项目SQLiteDemo2, 编辑res/layout/main.xml 文件 ...
- 005 Android之数据存储
文章目录 Android文件系统 Android文件的访问权限 文件访问权限实例 数据存储方式 内部存储 内部存储实例 外部存储 Shared Preferences Shared Preferenc ...
- android 储存方案,Android本地数据存储方案(一)
Android系列的博客主要是记录和总结自己在平时学习之中遇到的问题,方便日后用到时查看,同时也希望对读者有所帮助.不足之处,欢迎指正~ 在说到Android数据存储之前,先提一下数据持久化,所谓数据 ...
- Android的数据存储之一------SharedPreferences
下面将介绍下Android的数据存储,Android提供了5种方式存储数据: 1.SharedPreferences存储数据; 2.文件存储数据: 3.SQLite数据库存储数据: 4.使用Conte ...
- android app数据存储,基于Android开发的APP数据存储研究
谢原武+龙文 摘要: 作为一个完整的应用程序,数据存储操作是必不可少的.Android系统一共提供了四种数据存储方式分别为File文件存储.Shared Preferences存储.ContentPr ...
- android SharedPreferences数据存储
android SharedPreferences数据存储 很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为好友.对于软件配置参数的保存 ...
- android常用的存储方式,Android 常见数据存储方式
Android 常见数据存储方式有以下三种:1.使用SharedPreferences存储数据:其本质就是一个xml文件,可以保存字符串.布尔值.基础数据.集合等数据.常用于存储较简单的参数设置. 2 ...
- Android之数据存储-刘志远-专题视频课程
Android之数据存储-17742人已学习 课程介绍 本课程介绍了Android中几种数据存储方式,让大家对Android中的数据存储一个系统的认识 课程收益 本课程介绍了A ...
- Android常用数据存储之SharedPreferences存储和读取用法分享
一:Android常用数据存储,一共有五种方式,分别是 1.SharedPreferences储存数据, 2.文件存储 3.SQLite数据存储 4.ContentProvider储存数据 5.网络存 ...
最新文章
- 【百度分享】以太网卡TSO技术浅析
- 【项目实战课】基于Pytorch的DCGAN人脸嘴部表情图像生成实战
- 【每周NLP论文推荐】 开发聊天机器人必读的重要论文
- Python连接MySQL数据库执行sql语句时的参数问题
- SimpleDateFormat线程不安全了?这里有5种解决方案
- 实践案例丨云连接CC实现跨区域多VPC与线下IDC Server互联
- 如何检查python是否安装了pip_如何检测和删除通过pip安装的Python包?
- 不会写代码也能当程序员?无代码来了,是福还是祸?
- 科大讯飞:讯飞输入法日语音交互次数超10亿,将发力5G和AIoT领域
- 《转载》python爬虫实践之模拟登录
- 安装centos7.3操作系统
- 工业循环水浅层砂过滤器(励进浅层介质过滤器)介绍及现场案例图
- springboot slf4j log4j2 动态创建日志的方法
- java并发知识汇总
- android 键盘隐藏监听,Android监听键盘显示和隐藏
- 神经网络之极限学习机(ELM)
- (马蹄集)直线切平面 线段 圆切平面
- postgresql系统架构图
- 工控机上安装服务器级虚拟机vmware ESXi6.7
- linux应用程序的编写实验原理,操作系统实验 1.在linux下编写一个应用程序 联合开发网 - pudn.com...
热门文章
- MATLAB学习笔记(十一)
- ajax跨域为什么会失败,ajax跨域请求失败是怎么回事?
- Vue之条件渲染v-if和v-show
- pyqt5 qwidget 边框_实战PyQt5: 116-画刷类QBrush
- 2-2Pytorch1.5环境配置
- android 6.0编译环境,MacOS下编译Android6.0源代码
- 机器学习和深度学习_算法测评 | 机器学习VS深度学习
- 升级php5.4 mysql5.5_在CentOS上把PHP从5.4升级到5.5
- mysql 搭建日志服务器_rsyslog+mysql+loganalyzer 环境搭建日志服务器
- Java 并发编程之 Atomic 类