• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > android开发之路11(用SharedPreferences存储数据),sharedpreferences

android开发之路11(用SharedPreferences存储数据),sharedpreferences

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android开发之路11(用SharedPreferences存储数据),sharedpreferences等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

android开发之路11(用SharedPreferences存储数据),sharedpreferences


Android平台给我们提供了一个SharedPreferences类,实际上SharedPreferences处理的就是一个key-value(键值对),它是

 

一个轻量级的存储类,特别适合用于保存软件配置参数及用户的偏好设置参数,比如登录时候的记住密码功能等。使用

 

SharedPreferences保存数据,实际上是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下

 

:

1.获取SharedPreferences对象的两种方式:

①调用Context对象的getSharedPreferences()方法

②调用Activity对象的getPreferences()方法

两种方式的区别:

调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享.

调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用.

2.SharedPreferences的四种操作模式:

Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件

 

的内容

Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.

Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件.

MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.

MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入.

 

3.SharedPreferences类的应用实例:

①创建布局文件:activity_main.xml

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

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical">

 

    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="@string/name" />

    <EditText 

        android:id="@+id/name"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"/>

    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="@string/age" />

    <EditText 

        android:id="@+id/age"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:numeric="integer"/>

    <!--android:onClick用于指定一个方法名称,按钮被点击后就会执行该方法  -->

    <Button 

        android:id="@+id/button"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="@string/button"

        android:onClick="save"/>

 

</LinearLayout>

 

②创建业务类PreferenceService.java

public class PreferenceService {

private Context context;

 

public PreferenceService(Context context) {

this.context = context;

}

 

//保存配置参数

public void save(String name,Integer age){

SharedPreferences sp=context.getSharedPreferences("testSP", Context.MODE_PRIVATE);

Editor editor=sp.edit();

editor.putString("name", name);

editor.putInt("age", age);

//将数据提交的文件中

editor.commit();

}

//获取配置参数

public Map<String, String> getPreference(){

//创建Map集合用来保存我们从SharedPreference中获取的数据

Map<String, String> params=new HashMap<String, String>();

SharedPreferences sp=context.getSharedPreferences("testSP", Context.MODE_PRIVATE);

//SharedPreferences类的getString("name", "")方法中第一个参数是参数名,第一个参数是参数的默认值

params.put("name", sp.getString("name", ""));

params.put("age", String.valueOf(sp.getInt("age", 0)));

return params;

 

}

 

}

 

③创建程序的入口MainActivity.java

public class MainActivity extends Activity {

private EditText nameText;

private EditText ageText;

private PreferenceService service;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        nameText=(EditText) findViewById(R.id.name);

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • android开发之路11(用SharedPreferences存储数据),sharedpreferences

相关文章

  • 2017-05-26andriod 带看括弧的计算器,andriod括弧计算器
  • 2017-05-26Android基础部分再学习---activity的生命周期
  • 2017-05-26android布局--Android fill_parent、wrap_content和match_parent的区别,wrapparent
  • 2017-05-26android:eclipse看着很舒服的字体和启动速度很快android模拟器
  • 2017-05-26我的第一篇博客,我试试怎么用,第一篇博客,试试
  • 2017-05-26MVP解析,mvp模式解析实践
  • 2017-05-26浅谈Android Small插件化框架源码
  • 2017-05-26我的Android第二课,Android
  • 2017-05-26Android 热修复原理及Gradle插件源码解析(以Nuwa为例)
  • 2017-05-26Kotlin中变量不同于Java: var 对val(KAD 02),kotlinkad

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • PostgreSQL的区域设置
    • 自定义轮播图片框架的使用,自定义播图片框架
    • 手机安全卫士——主界面的开发,安全卫士主界面
    • android 实现漫天飞舞雪花以及下雨天的效果
    • 常用的adb命令,常用adb命令
    • Android的基本世界观——系统简介,组件逻辑及其他
    • 沉浸式状态栏与导航条,状态栏导航条
    • Android中Action Bar的使用
    • android 完全解析模拟遥控器按键,android遥控器
    • sed 替换、修改链接文件注意问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有