第171页
>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center_horizontal"
android:text="请输入密码:"
android:textSize="25dp"
android:textColor="#8C6931"
/>
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tvLogin"
android:inputType="textPassword"
android:hint="请输入密码"
/>
android:layout_width="90dp"
android:layout_height="wrap_content"
android:layout_below="@id/txtLogin"
android:layout_alignParentRight="true"
android:layout_marginLeft="10dp"
android:text="取消"
/>
android:layout_width="90dp"
android:layout_height="wrap_content"
android:layout_below="@id/txtLogin"
android:layout_toLeftOf="@id/btnClose"
android:text="登录"
/>
15.8.2 登录功能的实现
在com.xiaoke.accountsoft.activity包中创建一个Login.java文件,该文件的布局文件设置为login.xml。当用户在“请输入密码”文本框中输入密码后,单击“登录”按钮,为“登录”按钮设置监听事件。在监听事件中,判断数据库中是否设置了密码、输入的密码是否为空、输入的密码是否与数据库中的密码一致,如果条件满足,则登录主Activity;否则,弹出信息提示框。代码如下:
txtlogin=(EditText) findViewById(R.id.txtLogin); //获取密码文本框
btnlogin=(Button) findViewById(R.id.btnLogin); //获取“登录”按钮
btnlogin.setOnClickListener(new OnClickListener() { //为“登录”按钮设置监听事件
@Override
public void onClick(View arg0) {
//TODO Auto-generated method stub
Intent intent=new Intent(Login.this, MainActivity.class); //创建Intent对象
PwdDAO pwdDAO=new PwdDAO(Login.this); //创建PwdDAO对象
if((pwdDAO.getCount()==0| pwdDAO.find().getPassword().isEmpty()) && txtlogin.getText().toString(). isEmpty()){ //判断是否有密码及是否输入了密码
startActivity(intent); //启动主Activity
}
else {
//判断输入的密码是否与数据库中的密码一致
if (pwdDAO.find().getPassword().equals(txtlogin.getText().toString())) {
startActivity(intent); //启动主Activity
}
else {
//弹出信息提示
Toast.makeText(Login.this, "请输入正确的密码!", Toast.LENGTH_SHORT).show();
}
}
txtlogin.setText(""); //清空密码文本框
}
});
说明: 本系统中,在com.xiaoke.accountsoft.activity包中创建的.java类文件都是基于Activity类的,下面再遇到时将不再说明。
15.8.3 退出登录窗口
单击“取消”按钮,为“取消”按钮设置监听事件。在监听事件中,调用finish()方法实现退出当前程序的功能。代码如下:
btnclose=(Button) findViewById(R.id.btnClose); //获取“取消”按钮
btnclose.setOnClickListener(new OnClickListener() { //为“取消”按钮设置监听事件
@Override
public void onClick(View arg0) {
//TODO Auto-generated method stub
finish(); //退出当前程序
}
});
15.9 系统主窗体设计
教学录像:光盘\TM\lx\15\系统主窗体设计.exe
主窗体是程序操作过程中必不可少的,是与用户交互的重要环节。通过主窗体,用户可以调用系统相关的各子模块,快速掌握本系统中所实现的各个功能。家庭理财通系统中,当登录窗体验证成功后,将进入主窗体,主窗体中以图标和文本相结合的方式显示各功能按钮,单击这些功能按钮可打开相应功能的Activity。主窗体运行结果如图15.11所示。
图15.11 家庭理财通主窗体
15.9.1 设计系统主窗体布局文件
在res\layout目录下新建文件main.xml,用来作为主窗体的布局文件,在该布局文件中,添加一个GridView组件,用来显示功能图标及文本,实现代码如下:
android:id="@+id/gvInfo"
android:layout_width="fill_parent"