千牛地址和原来如何注册千牛账号的时候不一样了怎么改

31755人阅读
从头学Android系列(27)
SharedPreferences简介
在Android开发过程中,有时候我们需要保存一些简单的软件配置等简单数据的信息,而如果我们直接用数据库存储的话又不太方便,在这里我们就可以用到SharedPreferences,SharedPreferences保存的数据主要是类似于配置信息格式的数据,因此保存的数据主要是简单类型的键值对(key-value),它保存的是一个XML文件。
SharedPreferences常用的属性和方法
public abstract boolean contains (String key)
判断SharedPreferences是否包含特定key的数据
public abstract SharedPreferences.Editor edit ()
返回一个Edit对象用于操作SharedPreferences
public abstract Map&String, ?& getAll ()
获取SharedPreferences数据里全部的key-value对
getXXX(String key,XXX defvlaue)
获取SharedPreferences数据指定key所对应的value,如果该key不存在,返回默认值defValue。其中XXX可以是boolean、float、int、long、String等基本类型的值
由于SharedPreference是一个接口,而且在这个接口里并没有提供写入数据和读取数据的能力。但是在其内部有一个Editor内部的接口,Edit这个接口有一系列的方法用于操作SharedPreference。
Editor接口的常用方法
public abstract SharedPreferences.Editor clear ()
清空SharedPreferences里所有的数据
public abstract boolean commit ()
当Editor编辑完成后,调用该方法可以提交修改,而且必须要调用这个数据才修改
public abstract SharedPreferences.Editor putXXX (String key, boolean XXX)
向SharedPreferences存入指定的key对应的数据,其中XXX可以是boolean、float、int、long、String等基本类型的值
public abstract SharedPreferences.Editor remove (String key)
删除SharedPreferences里指定key对应的数据项
SharedPreferences是一个接口,程序是无法创建SharedPreferences实例的,可以通过Context.getSharedPreferences(String name.int mode)来得到一个SharedPreferences实例
name:是指文件名称,不需要加后缀.xml,系统会自动为我们添加上。一般这个文件存储在/data/data/&package name&/shared_prefs下(这个面试常问到)
mode:是指定读写方式,其值有三种,分别为:
Context.MODE_PRIVATE:指定该SharedPreferences数据只能被本应用程序读、写
Context.MODE_WORLD_READABLE:指定该SharedPreferences数据能被其他应用程序读,但不能写
Context.MODE_WORLD_WRITEABLE:指定该SharedPreferences数据能被其他应用程序读写。
实例:用SharedPreferences进行简单的操作
package com.jiahui.
import android.app.A
import android.content.SharedP
import android.os.B
import android.view.V
import android.widget.B
import android.widget.EditT
public class SharedPreferencesDemoActivity extends Activity {
private SharedPreferences sharedP
private SharedPreferences.E
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
sharedPreferences = this.getSharedPreferences(&test&,MODE_WORLD_READABLE);
editor = sharedPreferences.edit();
final EditText edtName = (EditText) this.findViewById(R.id.edtName);
final EditText edtAge = (EditText) this.findViewById(R.id.edtAge);
Button btnRead = (Button) this.findViewById(R.id.btnRead);
Button btnWrite = (Button) this.findViewById(R.id.btnWrite);
btnRead.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// 如果没有这个key就以默认值
String name = sharedPreferences.getString(&name&, null);
int age = sharedPreferences.getInt(&age&, 0);
edtAge.setText(String.valueOf(age));
edtName.setText(name);
btnWrite.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String name = edtName.getText().toString();
int age = Integer.parseInt(edtAge.getText().toString());
editor.putInt(&age&, age);
editor.putString(&name&, name);
// 一定要提交
实现效果:
用File Explorer可以查看在data/data/com.jiahui.preferences/shared_prefs/下多了一个XML文件
将XML文件导出我们可以看到在这个XML文件里存储了以下内容:
&?xml version='1.0' encoding='utf-8' standalone='yes' ?&
&int name=&age& value=&20& /&
&string name=&name&&jiahui&/string&
读写其他应用SharedPreferences
在有时的开发过程中,我们可能要访问其他的应用程序的SharedPreferences,要实现这样的功能,我们必须要保证要访问的那个应用程序的SharedPreferences的访问权限要是MODE_WORLD_READABLE,这表明该SharedPreferences可以被其他应用程序读取,如果指定的MODE_WORLD_WRITEABLE表明该SharedPreferences可以被其他应用程序读取写入其实现思路如下
1、& 获得其他应用程序对应的Context
2、& 通过这个Context得到这个应用程序的SharedPreferences,然后再利用这个SharedPreferences读取内容
以上一例的SharedPreference为例。实现代码:
package com.jiahui.preferences2;
import android.app.A
import android.content.C
import android.content.SharedP
import android.content.pm.PackageManager.NameNotFoundE
import android.os.B
import android.view.V
import android.widget.B
import android.widget.EditT
public class SharedPreferencesDemo02Activity extends Activity {
private Button btnR
private EditText edtR
Context otherC
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 获取其他应用程序的Context
otherContext = createPackageContext(&com.jiahui.preferences&,
CONTEXT_IGNORE_SECURITY);
} catch (NameNotFoundException e) {
e.printStackTrace();
edtResult = (EditText) this.findViewById(R.id.edtResult);
btnRead = (Button) this.findViewById(R.id.btnRead);
btnRead.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// 获取其他应用程序的SharedPreferences
SharedPreferences preferences = otherContext
.getSharedPreferences(&test&,
Context.MODE_WORLD_READABLE);
String name = preferences.getString(&name&, null);
int age = preferences.getInt(&age&, 0);
edtResult.setText(&访问的结果为:姓名:& + name + &年龄:& + age);
&实现效果:
SharedPreferences的注意事项:
编辑完SharedPreferences一定要记得调用Editor的commit()方法,否则不会将数据写入到文件里的。
回顾总结:
1、& 如何得到SharedPreferences
SharedPreferences preferences=getPreferences(“test”,MODE_PRIVATE);
2、& 如何编辑SharedPreferences
得到Editor对象实例
SharedPreferences.Editor editor=preferences.editor();
3、& SharedPreferences的存储位置
/data/data/&package name&/shared_prefs
如需转载引用请注明出处:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
专注移动互联网,爱技术,爱分享,创业中......
个人小站:
新浪微博:
访问:714659次
积分:8392
积分:8392
排名:第1761名
原创:111篇
评论:530条
阅读:30199
文章:28篇
阅读:326493
(3)(2)(1)(1)(4)(1)(3)(2)(1)(2)(5)(16)(12)(11)(24)(14)(3)(1)(1)(8)1646人阅读
Android基础知识(21)
& & & SharePrefences是Android数据存储最常用的方式之一,本文着重介绍一下
二、SharePrefence
& & & & SharePrefence是用来保存少量数据的方式,如保存程序配置信息等。SharePrefences的源码如下所示:
package android.
import java.util.M
import java.util.S
public interface SharedPreferences {
public interface OnSharedPreferenceChangeListener {
/*监听Shareprefences变化,当key变化时,做处理*/
void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key);
public interface Editor {
/*用于存储数据的方法*/
Editor putString(String key, String value);
Editor putStringSet(String key, Set&String& values);
Editor putInt(String key, int value);
Editor putLong(String key, long value);
Editor putFloat(String key, float value);
Editor putBoolean(String key, boolean value);
/*移除某一项*/
Editor remove(String key);
/*清空的方法*/
Editor clear();
/*同步保存更改的方法*/
boolean commit();
/*异步保存到磁盘,原子提交,性能更高,不保证结果*/
void apply();
/*获取所有的键值对*/
Map&String, ?& getAll();
/*取值的方法*/
String getString(String key, String defValue);
Set&String& getStringSet(String key, Set&String& defValues);
int getInt(String key, int defValue);
long getLong(String key, long defValue);
float getFloat(String key, float defValue);
boolean getBoolean(String key, boolean defValue);
/*判断是否包含某个key*/
boolean contains(String key);
/*编辑接口*/
Editor edit();
/*注册监听函数*/
void registerOnSharedPreferenceChangeListener(OnSharedPreferenceChangeListener listener);
/*注销监听看书*/
void unregisterOnSharedPreferenceChangeListener(OnSharedPreferenceChangeListener listener);
可以看出Shareprefences是一个接口,提供了保存和读取数据的方法。同时可以看出Shareprefences只能存储基本数据,它的Key只能是String。
三、使用方法
& & &保存数据的方法,获取默认名称的Shareprefences,其名称是工程包名:
SharedPreferences sp=this.getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor=sp.edit();
editor.putString(&username&, &root&);
mit();& & 支持三种模式:
MODE_PRIVATE:只支持本程序读写MODE_WORLD_READABLE:允许其它应用程序读MODE_WORLD_WRITEABLE :允许其它应用程序写
& & & 读取数据的方法:
SharedPreferences sp=this.getPreferences(MODE_PRIVATE);
String username=sp.getString(&username&, &error&);第二个参数为默认参数,即当sp中不存在username时,返回的字符串。
& & & &希望能结识更多的朋友,说的不全的地方,请大家指导。 &
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:71506次
积分:1743
积分:1743
排名:第17934名
原创:87篇
转载:10篇
评论:72条
欢迎站内联系
E-mail:winton_关于AlertDialog 和Activity 之间传值问题_android开发吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:108,537贴子:
关于AlertDialog 和Activity 之间传值问题收藏
请问有没有方法不用全局变量使得在 AlertDialog 和Activity 之间传递数据
new AlertDialog.Builder(this)
.setTitle(&设备操作&)
.setIcon(R.drawable.ic_launcher)
.setPositiveButton(&删除&, new DialogInterface.OnClickListener()
public void onClick(DialogInterface dialog, int which) {
.setNegativeButton(&修改&, new DialogInterface.OnClickListener()
public void onClick(DialogInterface dialog, int which) {
我想在 onClick方法中修改 option怎么传递option的值
学android开发选&达内&,上市公司专为培养Android&4G&工程师而设计就业培训课程,达内android开发培训,先就业后付款,学费0困扰,5W家合作企业,助您就业无忧!
我也是新手,使用shareprences应该可以修改的。错了,求不喷
自定义dialog多初始化一个参数就可以了
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 千牛注册 的文章

 

随机推荐