毕业设计
图 4.2 工程结构图
为了使代码文件结构更加清晰, HealthyApp工程设置了多个命名空间,分别保存了用户界面、数据适配器、常用类库和实体多个包,源代码的名称以及说明如表4.3所示: 包名称 com.cm.healthyapp.activity com.cm.healthyapp.activity com.cm.healthyapp.activity com.cm.healthyapp.activity 文件名 LoginActivity.java RegisterActivity.java HealthyResultActivity.java 说明 登录界面视图 注册界面视图 查询结果界面视图 AddHealthyInfoActivity.java 信息录入界面视图 表 4.3 系统代码结构
Android的资源文件保存在/res的子目录中。其中、/res/anim目录中保存的是产生动画效果的XML文件,/res/drawable/目录中保存的是图像文件,/res/values目录中保存的是用来自定义字符串和颜色的文件,/res/xml目录中保存的是XML格式的数据文件。
16
毕业设计
5 系统实现
本章介绍本系统的各个模块的设计和实现。首先在Eclipse中配置好ADT和Android SDK等开发环境,然后新建一个Android项目,项目名为HealthyApp,然后在Android项目中的AndroidManifest.xml文件中配置本软件需要使用的权限。
个人健康APP的主要功能有:用户登录,用户注册,收入支出管理,数据统计,便笺管理和系统设置。本软件是一个结合手机用户特别是智能手机用户常用功能的一个软件平台,本软件可以通过SQLite数据库来实现用户数据的永久性管理,是用户日程生活中不可多得的一款实用性软件。
5.1用户登录界面
本系统需要用户登录后才能使用,本界面包括两个EditText和两个Button
组件,同时也包括一个Checkbox组件,用户登录时需要提供帐号和密码,输入帐号和密码后通过单击登录按钮来提交登录请求,这时系统会通过提取SQLite数据库的用户信息来验证当前的用户身份是否有效,如果有效系统会自动跳转进入主界面,否则给出登录失败的提示语。
同时,如果还没注册可以通过右上角的“注册”按钮注册;
登录的同时用户可以通过选择勾选“记住密码”按钮来基本本次登录的密码,这样下次进入到本界面后,系统会自动提取上次登录成功的密码出来并显示在界面的密码框里,省去了用户每次都要输入密码的麻烦,另外,对于帐号系统是默认记录的,也就是说只要用户登录成功,系统都会自动保存本次登录成功的帐号信息,同样的,下次用户在进入本系统时,系统也会自动提取和显示上次保存的帐号。
具体的实现效果如图5.1所示:
17
毕业设计
图5.1 用户登录主界面
核心实现代码:
@SuppressWarnings(\)
private class btnLoginOnClickListener implements OnClickListener { @Override
public void onClick(View v) {
if (etLoginID.getText().length() == 0) { toastUtil.show(\请输入账号\); return; }
if (etPassword.getText().length() == 0) { toastUtil.show(\请输入密码\); return; }
BaseUtil.HideKeyboard(LoginActivity.this); Dao dao = orm.getDBTable_UserDao();
HashMap
try {
map.put(\, etLoginID.getText()); map.put(\, etPassword.getText());
18
毕业设计
List
if (list.size() > 0) {
SPUtil.set(LoginActivity.this, \, etLoginID.getText().toString());
if (ckbSavePwd.isChecked()) {
SPUtil.set(LoginActivity.this, \, etPassword.getText().toString()); } else {
SPUtil.set(LoginActivity.this, \, \);
}
OnLineUser lineUser = new OnLineUser(); lineUser.setId(list.get(0).getId());
lineUser.setLoginid(list.get(0).getLoginid());
// lineUser.setOther(list.get(0).getId()); // 保存登录用户信息
application.setLoginUser(lineUser); toastUtil.show(\登录成功\);
Intent intent = new Intent(LoginActivity.this, GroupMainActivity.class);
startActivity(intent);
LoginActivity.this.finish();
} else {
toastUtil.show(\帐号或密码错误\); }
} catch (SQLException e) {
e.printStackTrace(); } } };
5.2用户注册界面
本系统需要用户登录后才能操作,如果用户没有帐号可以通过注册模块注册一个帐号,注册时用户需要提供帐号和密码这两个字段信息,填写完信息后可以通过单击“确定注册”按钮来完成注册操作。
同时系统也会限制帐号和密码的长度,假如用户输入的帐号或密码长度低于6位,则系统会给出提示,这也是为了帐号安全性考虑的。
19