从零到一:打造全能工具类库
需积分: 9 44 浏览量
更新于2024-09-08
收藏 1KB TXT 举报
"简易工具类是一个逐步发展的工具集,旨在帮助新手程序员积累经验和方便日常开发。这个工具类包含了几个常用的功能,如密码验证、显示Toast消息、存储和获取用户信息以及删除用户信息。"
在Java编程中,工具类通常是一组静态方法的集合,用于执行特定任务,例如数据验证、日志记录或UI操作。在这个简易工具类`mUtils`中,我们可以看到以下几个关键知识点:
1. **静态变量**:`toast` 和 `mSp` 都被声明为静态变量。这意味着它们在类级别上共享,无需实例化对象即可直接调用。`toast` 是一个 `Toast` 对象,用于短暂显示消息;`mSp` 是 `SharedPreferences` 的实例,用于持久化轻量级数据。
2. **密码验证**:`isPsd` 方法检查输入的字符串是否符合指定的密码规则。它首先检查字符串是否为空,然后使用正则表达式(`Pattern` 和 `Matcher`)验证密码是否以字母开头,且长度在6到18个字符之间。如果不符合规则,返回 `false`,否则返回 `true`。
3. **显示Toast**:`showToast` 方法用于显示一个短暂的消息。它首先检查 `toast` 是否为空,如果为空则创建一个新的 `Toast` 对象,然后设置消息文本并显示。如果 `toast` 已存在,则仅更新其文本内容。
4. **存储用户信息**:`saveUserInfo` 方法使用 `SharedPreferences` 来保存键值对。它获取一个编辑器(`Editor`),将键值对存入,然后提交更改。
5. **获取用户信息**:`getUserInfo` 方法用于根据指定的键从 `SharedPreferences` 中获取值。如果找不到对应的键,它会返回默认值。
6. **删除用户信息**:`delUserInfo` 方法用于移除与给定键关联的数据。它获取编辑器,删除键,然后提交更改。
7. **SharedPreferences**:`SharedPreferences` 是Android系统提供的一个接口,用于存储简单的键值对数据,如偏好设置。在这个工具类中,`getSp` 方法确保了 `SharedPreferences` 实例在首次使用时被初始化,并在之后的调用中复用,减少了不必要的内存分配。
8. **单例模式**:虽然这里没有明确实现单例模式,但 `mSp` 的初始化方式表明它试图实现类似的效果,确保 `SharedPreferences` 实例在整个应用程序中是唯一的。在 `getSp` 方法中,只有当 `mSp` 为 `null` 时才会创建新实例,之后的调用都会返回相同的实例。
这个工具类展示了如何通过静态方法封装常见的Android功能,提高代码的可复用性和可维护性。对于新手开发者来说,理解和使用这样的工具类可以帮助他们更好地适应Android开发环境。
2019-05-03 上传
2023-08-14 上传
2023-08-11 上传
2018-06-11 上传
2023-03-01 上传
2019-08-10 上传
2023-06-06 上传
点击了解资源详情
2022-05-29 上传
胖达
- 粉丝: 0
- 资源: 1
最新资源
- newsfeed_app
- Laravel应用的美丽错误页面-PHP开发
- Librarie-Ouadi,java源码解析,java开发一个网站源码下载
- AccessControl-4.2-cp36-cp36m-win_amd64.whl.zip
- 安卓Android源码——安卓Android 开启指定名称和密码的 Wifi热点 demo .zip
- elite-edu:精英教育计划
- Python库 | GeoBasesDev-6.0.0a10.zip
- 单片机C语言实例371-矩阵键盘.zip
- :computer:PHPUnit的并行测试-PHP开发
- FLAME-Algorithm-FLexible-and-Accurate-Motif-DEtector:纸
- 振动故障诊断,matlab电路的源码,matlab源码怎么用
- 安卓Android源码——安卓Android高仿广告条用ViewPager实现左右完美无限滑动.zip
- AccessControl-4.0-cp27-cp27m-win_amd64.whl.zip
- [重庆]现代高层+示范区规划设计文本PDF2020
- 单片机C语言实例1个共阳数码管显示变化数字.zip
- Flarepoint是基于Laravel 5的免费,开放源代码和自托管的CRM平台-PHP开发