一、学习目标
1
、了解
Android
事件处理机制;
2
、掌握基于监听的事件处理机制和基于回调的事件处理机制;
3
、使用
Configuration
类获取系统的配置信息;
4
、熟练掌握
Handler
的消息传递机制。
5
、掌握
ButterKnife
开源框架
6
、设计一个登录界面
二、环境
1.JDK-15.0.2
以上
2.Android Studio 4.1.2
以上
3.Android 10.0
(
API level 29
)
三、项目实现
1. 项目结构
项目共有 1 个页面,即一个简便的登录页面,拥有 XML 布局文件以及
activity.java 逻辑文件
2. 模块划分
1)主界面---登录页面
3. 使用方法:
1)
SharedPreferences
对象的
getSharedPreferences()方法:
sharedPreferences = getSharedPreferences("massage", Context.MODE_PRIVATE);
2
)重写
onClick
方法,当用户点击登录按钮,产生相应的响应:
@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.btn_login:
String account = etAccount.getText().toString();
String password = etPassword.getText().toString();
//String account =
sharedPreferences.getString("etAccount",null);
//String password =
sharedPreferences.getString("etPassword",null);
if("admin".equals(account)&&"123456".equals(password)){
SharedPreferences.Editor editor=
sharedPreferences.edit();
editor.putBoolean("remenberpassword",true);
editor.putString("account",account);
editor.putString("password",password);
editor.commit();
finish();
}else {
Toast.makeText(this,"账号或密码有误",
Toast.LENGTH_LONG).show();
}
break;
}
} }
(
3
)在页面布局文件中主要定义了两个输入框用于输入账号和密码,以及一个按钮用于登陆:

4. 测试结果

问题思考
1.
为什么要采用嵌入式数据库存储本地信息?
答:
它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百 K
的内存就够了
2.
采用
SQLite
与采用
SharedPreferences
存储有什么区别?
答:
Shared Preferences:类似于我们常用的 ini 文件,用来保存应用程序的一些属性设置,在 Android 平台常用于存储较简单的参数设置。我们无法在多个应用程序间共享 Preferences 数据。SQLite:是一个轻量级的软件库原子量性坚固性独立性耐久性体积大小只用几千字节一些 SQL 的指令只是部分支持,例如:ALTER、TABLE,Android提供了一个名为 SQLiteDatabase 的类,该类封装了一些操作数据库的 API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称为 CRUD)。
Gitee
源码仓库地址
[
项目源码地址
]
https://gitee.com/mo-rugui/XZY5