[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",""));
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具