package com.szu;
import com.szu.accountsoft.dao.PwdDAO;
import com.szu.accountsoft.model.Tb_pwd;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Register_Activity extends Activity {
private EditText password_1,password_2;
private Button sure,clear, back;
String password;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.register_activity);
password_1 = (EditText) findViewById(R.id.password_1);
password_2 = (EditText) findViewById(R.id.password_2);
sure = (Button) findViewById(R.id.login_button);
clear = (Button) findViewById(R.id.clear_Button);
back = (Button) findViewById(R.id.back);
setTitle("注册页面");
sure.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(password_1.getText().toString().trim().equals(""))
{
Toast.makeText(Register_Activity.this, "密码不能为空", Toast.LENGTH_LONG).show();
}
else if(password_2.getText().toString().trim().equals("") || password_2.getText().toString().trim().equals(""))
{
Toast.makeText(Register_Activity.this, "密码不能为空", Toast.LENGTH_LONG).show();
}
else if(password_1.getText().length()<6)
{
Toast.makeText(Register_Activity.this, "密码长度最少为6", Toast.LENGTH_SHORT).show();
}
else if(password_2.getText().length()<6)
{
Toast.makeText(Register_Activity.this, "密码长度最少为6", Toast.LENGTH_SHORT).show();
}
else if(password_1.getText().toString().trim().equals(password_2.getText().toString().trim()))
{
password = password_1.getText().toString().trim();
Tb_pwd tb_pwd=new Tb_pwd(password);
PwdDAO pwdDAO = new PwdDAO(Register_Activity.this);// 创建PwdDAO对象
if (pwdDAO.getCount()==0)// 判断数据库中是否已经设置了密码
{
pwdDAO.add(tb_pwd);// 添加用户密码
// 弹出信息提示
Intent intent2 = new Intent(Register_Activity.this, MainActivity.class);// 创建Intent对象
Toast.makeText(Register_Activity.this, "注册成功!", Toast.LENGTH_SHORT).show();
startActivity(intent2);
finish();
}
else
{
Toast.makeText(Register_Activity.this, "对不起,密码已存在!", Toast.LENGTH_SHORT).show();
}
}
else
{
Toast.makeText(Register_Activity.this, "密码不匹配!", Toast.LENGTH_SHORT).show();
}
}
});
clear.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
password_1.setText("");
password_2.setText("");
}
});
back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
finish();
}
});
}
}
getcount取的值不是0,或者丢出了异常
不是不执行,而是getcount判断以后不等于0,跑到else去了
int ret = -1;
if ( (ret = pwdDAO.getCount()) ==0 ){
}else{
}
//最后打印ret
已经用了try catch,还是不行,那个getcount的取值如果数据库里面不在就是用0
public long getCount() {
db = helper.getWritableDatabase();// 初始化SQLiteDatabase对象
Cursor cursor = db.rawQuery("select count(password) from tb_pwd;", null);// 获取密码信息的记录数
if (cursor.moveToNext())// 判断Cursor中是否有数据
{
return cursor.getLong(0);// 返回总记录数
}
return 0;// 如果没有数据,则返回0
}
String型默认值为NULL,不是0
cursor.getLong(0) 从数据库查询信息中往外取值,下标不是应该从1开始的么,怎么有getLong(0)呢,应该是getLong(1)吧。
还有给个小建议:
if ( (pwdDAO.getCount()) ==0 ){
}
像这种的,最好提前定义一个变量 将pwdDAO.getCount()返回值接收,然后再进行判断,这样不容易隐藏问题,要不有很多意外问题,出现后不利于查找。
long retflag = pwdDAO.getCount();
if ( retflag ==0 ){
}
你可以debug一下,或者是打印出pwdDAO.getCount()的值是什么,然后再去做判断