- 浏览: 3462498 次
- 性别:
- 来自: China
文章分类
- 全部博客 (536)
- ajax (1)
- Algorithm (14)
- Android (40)
- CSS/HTML... (2)
- defy (3)
- DesignPattern (2)
- dorado (0)
- Drools (6)
- English/日本語 (7)
- Flex (2)
- Framework (0)
- Google (3)
- hibernate (13)
- homework (3)
- HTML5 (0)
- IDE (29)
- java (45)
- javaee (7)
- Javascript (14)
- java组件 (5)
- jQuery (4)
- jsp (8)
- jsf (2)
- Linux (2)
- lucene (0)
- mysql (6)
- news (3)
- Oracle (8)
- other (4)
- PHP (5)
- Python (0)
- Software Engineering (3)
- spring (7)
- struts1.x (14)
- struts2.x (14)
- strolling in cloud (1)
- subject:javaEnhance (20)
- Tomcat (7)
- validator (3)
- 学习·方法·心得 (8)
- .NET (2)
- vba (6)
- groovy (5)
- grails (2)
- SWT (0)
- big data (1)
- perl (1)
- objective-c (50)
- product (1)
- mac (7)
- ios (188)
- ios-phone (2)
- ios-system (15)
- ios-network (5)
- ios-file (4)
- ios-db (1)
- ios-media (3)
- ios-ui (27)
- ios-openSource (6)
- ios-animation (5)
- ios-drawing (7)
- c (2)
- ios-app (2)
- ios-course (15)
- ios-runtime (14)
- ios-code (8)
- ios-thread (8)
- ios-LBS (2)
- ios-issue (1)
- ios-design (2)
- Jailbreak (2)
- cocos2d (0)
- swift (16)
- ios-framework (4)
- apple watch (4)
- ios-web (1)
- react native (3)
- TVOS (1)
- OpenGL (1)
最新评论
-
xiaobinggg:
...
Session机制详解 -
菜鸟学生会:
Drools规则工作流引擎开发教程网盘地址:http://pa ...
Drools入门-----------环境搭建,分析Helloworld -
wangyudong:
不是很好用,不支持自动化测试RESTful API,也不支持自 ...
Simple REST Client POST使用方法 -
Paul0523:
很棒的一篇文章,感谢楼主分享
Session机制详解 -
啸笑天:
获取原型对象的三种方法<script>functi ...
复习JavaScript面向对象技术
1.创建Android工程
Project name:sharedPreferences
BuildTarget:Android2.2
Application name:软件参数设置
Package name:com.com.jbridge.pres.activity
Create Activity:PreferencesActivity
Min SDK Version:8
2.编辑strings.xml:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, PreferencesActivity!</string> <string name="app_name">软件参数设置</string> <string name="tv_name">姓名</string> <string name="tv_age">年龄</string> <string name="bt_write">设置</string> <string name="bt_read">读取</string> <string name="save_success">保存成功</string> <string name="save_failed">保存失败</string> </resources> |
3.编辑main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/tv_name" android:id="@+id/tv_name" android:textSize="30px" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/et_name" android:layout_toRightOf="@id/tv_name" android:layout_alignTop="@id/tv_name" android:layout_marginLeft="30px" /> </RelativeLayout> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/tv_age" android:id="@+id/tv_age" android:textSize="30px" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/et_age" android:layout_toRightOf="@id/tv_age" android:layout_alignTop="@id/tv_age" android:layout_marginLeft="30px" /> </RelativeLayout> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/bt_write" android:text="@string/bt_write" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/bt_read" android:text="@string/bt_read" android:layout_toRightOf="@id/bt_write" android:layout_alignTop="@id/bt_write" android:layout_marginLeft="30px" /> </RelativeLayout> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/tv_show" /> </LinearLayout>
4.为按钮添加事件代码
package com.jbridge.pres.activity; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.content.res.Resources.NotFoundException; import android.os.Bundle; import android.text.Editable; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class PreferencesActivity extends Activity { private EditText etName; private EditText etAge; private View.OnClickListener onClickListener=new View.OnClickListener() { public void onClick(View view) { Button button=(Button) view; SharedPreferences sharedPreferences=PreferencesActivity.this.getSharedPreferences("zyj", Context.MODE_PRIVATE); switch (button.getId()) { case R.id.bt_write: try { Editor editor=sharedPreferences.edit(); editor.putString("name", etName.getText().toString()); editor.putInt("age",Integer.valueOf(etAge.getText().toString()) ); editor.commit(); Toast.makeText(PreferencesActivity.this, R.string.save_success, Toast.LENGTH_LONG).show(); } catch (NumberFormatException e) { Toast.makeText(PreferencesActivity.this, R.string.save_failed, Toast.LENGTH_LONG).show();; e.printStackTrace(); } catch (NotFoundException e) { Toast.makeText(PreferencesActivity.this, R.string.save_failed, Toast.LENGTH_LONG).show();; e.printStackTrace(); } break; case R.id.bt_read: String name=sharedPreferences.getString("name", "no name"); String age=String.valueOf(sharedPreferences.getInt("age", 0)); TextView tvShow=(TextView) PreferencesActivity.this.findViewById(R.id.tv_show); tvShow.setText("姓名: "+name+" 年龄: "+age); break; default: break; } } }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); SharedPreferences sharedPreferences=PreferencesActivity.this.getSharedPreferences("zyj", Context.MODE_PRIVATE); etName=(EditText) this.findViewById(R.id.et_name); etAge=(EditText) this.findViewById(R.id.et_age); etName.setText(sharedPreferences.getString("name", "no name")); etAge.setText(String.valueOf(sharedPreferences.getInt("age", 0))); Button btWrite=(Button) this.findViewById(R.id.bt_write); Button btRead=(Button) this.findViewById(R.id.bt_read); btWrite.setOnClickListener(onClickListener); btRead.setOnClickListener(onClickListener); } /* 如果访问其他应用中的Preference,前提条件是:该preference创建时指定了Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE权限。如:有个<package name>为com.jbridge.pres.activity的应用使用下面语句创建了preference。 getSharedPreferences("zyj", Context.MODE_WORLD_READABLE); 其他应用要访问上面应用的preference,首先需要创建上面应用的Context,然后通过Context 访问preference ,访问preference时会在应用所在包下的shared_prefs目录找到preference : Context otherAppsContext = createPackageContext("com.jbridge.pres.activity", Context.CONTEXT_IGNORE_SECURITY); SharedPreferences sharedPreferences = otherAppsContext.getSharedPreferences("zyj", Context.MODE_WORLD_READABLE); String name = sharedPreferences.getString("name", "no name"); int age = sharedPreferences.getInt("age", 0); */ }
启动模拟器,运行程序。输入名称和年龄,点击保存。我们使用的代码是getSharedPreferences("zyj",Context.MODE_PRIVATE);,当然commit时。它会为我们为”/data/data/com.jbridge.pres.activity/shared_prefszyj.xml”。将 preferences.xml导出,查看它的内容为:
- sharedPreferences.rar (91.3 KB)
- 下载次数: 118
发表评论
-
Android 桌面部件
2011-07-06 19:26 1865桌面部件是一种利用AppWidget框架将应用程序的某个部件放 ... -
Android 实时文件夹
2011-07-06 15:38 2852实时文件夹是一种用来显示由某个ContentProvider提 ... -
android 添加桌面快捷方式
2011-07-05 19:20 13281、在桌面创建快捷方式方法: 方法一:通过长按某一个应用程序的 ... -
Android权限详解
2011-07-04 09:43 2239在Android的设计中,资源的访问或者网络连接,要得到这 ... -
Android权限注解
2011-07-04 09:33 3474Android应用程序在使用很多功能的时候必须在Mainife ... -
ListView使用SimpleAdapter加载网络图片
2011-07-02 19:14 7706ListView是一种常见的布局,通过SimpleAdapte ... -
android:layout_gravity 和 android:gravity 的区别
2011-07-02 19:00 2099gravity 这个英文单词是重心的意思,在这里就表示 ... -
横竖屏切换时不销毁当前activity 和 锁定屏幕
2011-07-02 18:58 3623首先在Mainifest.xml的Activity元素 ... -
onSaveInstanceState和onRestoreInstanceState触发的时机
2011-07-02 17:49 2879当某个activity变得“容易”被系统销毁时,该ac ... -
strings.xml文件中提供占位符来格式化数据
2011-07-01 16:16 3223有些朋友可能会动态的修改Android中strings. ... -
ANDROID开机动画分析
2011-05-25 15:40 5925Android 2.0 开机动画文件分析。开机动画文件:boo ... -
Android专栏地址,真的不错啊!!!
2011-05-22 20:22 1651第三极: http://disanji.net/cate ... -
A1200入门DIY
2011-05-22 11:40 0A1200入门DIY 2007-04-16 19:33 ... -
android用户界面数据绑定
2011-05-19 21:25 5279当我们想用合适的方式显示并操作一些数据(如数组,链表,数据库等 ... -
emulator: ERROR: the user data image is used by another emulator. aborting
2011-05-19 13:48 2351今天早上起床,运行项目时报错:Error the use ... -
Android Map demo
2011-04-23 22:24 3392AndroidManifest.xml <?xm ... -
Android Map申请key
2011-04-23 22:02 31161. 首先先要获取你的debug keystore位置 ... -
conversion to dalvik format failed with error 1
2011-04-23 21:52 3471android低版本工程(如1.5)放到高版本环境中(如2.2 ... -
Android GPS基础
2011-04-20 22:14 2778package org.example.locationtes ... -
Android API:Activity.managedQuery()
2011-04-20 19:22 2626描述: 获取一个包含指定数据的 Cursor 对 ...
相关推荐
本文将详细介绍如何在Android中使用SharedPreferences进行数据的读写操作。 一、SharedPreferences概述 SharedPreferences是一个接口,提供了存储和检索简单键值对(如布尔值、整数、浮点数、字符串和字符串集)的...
- `layout11`可能展示SharedPreferences数据存储和读取的完整流程,例如创建一个设置界面,用户可以在其中更改一些应用设置,然后在另一个界面显示这些设置的当前状态。 4. 使用示例: ```java ...
通常,SharedPreferences数据是私有的,即每个应用只能访问自己创建的SharedPreferences文件,无法直接读取其他应用的SharedPreferences。但在某些情况下,我们可能需要在不同的应用程序之间共享数据,这就涉及到跨...
SharedPreferences数据不会随应用的关闭而丢失,因此它适合存储持久化的设置。但是,当应用升级或需要更新已保存的数据时,可能需要处理数据的迁移。 在"SaveDataDemo"这个示例中,开发者可能已经演示了如何从网络...
1. 简单易用:SharedPreferences提供了简单的API,使得开发者可以快速地进行数据的读写操作。 2. 数据持久化:保存的数据会在应用重启后依然存在,直到被清除或覆盖。 3. 小型数据存储:适合存储少量配置数据,如...
在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储一些简单的配置信息,如用户偏好设置、应用程序的状态等。它是一个键值对的存储系统,支持基本数据类型,如布尔型、...
5. 监听数据变化:为了实时响应SharedPreferences的变化,可以使用OnSharedPreferenceChangeListener接口,当SharedPreferences中的数据发生改变时,监听器的onSharedPreferenceChanged()方法会被调用。刘氏一键拨号...
在Android开发中,SharedPreferences是一个轻量级的数据存储机制,用于保存和读取少量的基本数据类型,如字符串、整型、布尔值等。它非常适合用来存储应用程序的配置信息或用户偏好设置,因为这些数据通常不需要复杂...
- 接着,我们使用`edit()`方法创建一个`SharedPreferences.Editor`对象,它是用来修改SharedPreferences数据的。 - 在`SharedPreferences.Editor`对象上,我们可以调用`putXXX()`方法(XXX代表数据类型,如`...
5. **读取SharedPreferences**:当需要从SharedPreferences中读取数据时,使用相应的`getXXX()`方法,配合键值来获取之前保存的数据。例如,获取"username"的值。 ```java String username = sharedPreferences....
【Android中的DataStore替代SharedPreferences】 Android开发者们长期以来一直依赖SharedPreferences作为轻量级的数据存储解决方案,它的简单易用性使其在小规模数据存储方面受到了广泛欢迎。然而,随着应用程序...
在Android开发中,SharedPreferences通常用于实现数据持久化,即使应用关闭,保存的数据也不会丢失。 SharedPreferences的工作原理是基于XML文件,这些文件存储在设备的私有数据目录下,每个应用都有自己的...
在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储一些简单的配置信息,如用户偏好设置、登录状态等。当需要在两个不同的Activity之间传递数据时,尤其是在数据量不大...
在Android开发中,SharedPreferences是一个轻量级的数据存储方式,常用于保存应用的配置信息或用户设置,如登录状态、主题颜色、用户偏好等。在这个场景中,我们将详细探讨如何使用SharedPreferences来设置和修改...
在Android开发中,SharedPreferences通常用于持久化数据,即使应用关闭或者设备重启,数据依然可以被保留。 **使用SharedPreferences的主要步骤** 1. **获取SharedPreferences对象** 获取SharedPreferences对象有...
在Android开发中,当你需要临时保存一些简单数据,比如用户首选项、开关状态等,SharedPreferences是一个理想的选择。 一、SharedPreferences基本操作 1. 创建SharedPreferences对象:通常在需要使用...
- `edit()`:返回一个SharedPreferences.Editor实例,用于修改SharedPreferences中的数据。 - `putXXX(String key, XXX value)`:添加或更新键值对,XXX代表数据类型,如putBoolean、putString等。 - `apply()`:...
2. **读取SharedPreferences数据** 要读取已保存的数据,我们可以使用`SharedPreferences`的`getString()`, `getInt()`, `getBoolean()`等方法,配合`getDefaultEditor()`获取的`SharedPreferences.Editor`对象进行...