[android] sharedPreference入门

/********************2016年5月6日 更新**************************************/

知乎:Android 如何实现判断用户首次使用,比如首次使用时展示软件使用教程?

 

面条:

你需要的是SharedPreferences。

SharedPreferences可以在本地存储一些简单的数据。

 

首次进入的时候判断在本地存储的一个boolean值或者int值,例如叫做isFirstOpen。

/**************************************************************************/

 

为了保存带有特殊字符的数据到文件中,谷歌提供的SharedPreference(共享参数)。

通过Context对象的getSharedPreference(name,mode)方法得到SharedPreference对象,name参数是文件名称,mode参数是上一节的那些模式。

调用sp对象的edit()方法,得到Editor编辑器对象

调用Editor对象的putString(key,value)方法放入数据,很像Map集合

调用Editor对象的commit()方法提交一下,很像数据库的事务操作,保证数据同时提交成功

 

自动创建文件/data/data/包名/shared_prefs/文件名.xml

读取sp很简单,同样的获取SP对象,调用SP对象的getString(key,defaultValue),应用程序的配置信息都可以利用这个来保存。不同类型的值保存时,节点就是自身的类型。特殊字符会进行转义。

 

拷贝项目,修改完包名后一定要重新导一下R文件,上诉方法不会抛异常,函数定义成void无返回类型。

java代码:

 

    /**
     * 保存用户名和方法的业务方法
     * @param context 上下文
     * @param username 用户名
     * @param password 方法
     * @return
     */
    public static void saveUserInfo(Context context,String username,String password){
        
        SharedPreferences sp=context.getSharedPreferences("config", Context.MODE_PRIVATE);
        Editor ed=sp.edit();
        ed.putString("username", username);
        ed.putString("password", password);
        ed.commit();
    }

 

        //读取
        SharedPreferences sp=getSharedPreferences("config", Context.MODE_PRIVATE);
        et_username.setText(sp.getString("username",""));
        et_password.setText(sp.getString("password",""));

 

posted @ 2016-03-02 21:51  唯一客服系统开发笔记  阅读(327)  评论(0编辑  收藏  举报