Mydb.java//数据库
public class Mydb extends SQLiteOpenHelper {
public Mydb(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table if not exists userinfo(id integer PRIMARY KEY autoincrement,user text,password text)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
MainActivity.java//登陆界面
package com.zuqiuyu.signup;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity {
private EditText etUser,etPassword;
SQLiteDatabase mDb;
Mydb dao1;
String user,password;
float exittime;
Cursor cursorUserId,cursorPasswordId,cursorPassword;
int i1,i2,i3;
String s1,s2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etUser = (EditText) findViewById(R.id.etUser);
etPassword = (EditText) findViewById(R.id.etPassword);
etUser.setText("");
etPassword.setText("");
dao1 = new Mydb(this,"userinfo.db",null,1);
findViewById(R.id.btnSignUp).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
Intent intent = new Intent();
intent.setClass(getApplicationContext(),SignUp.class);
startActivity(intent);
}
});
findViewById(R.id.btnLogIn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (check()) {
Intent intent = new Intent();
intent.setClass(getApplicationContext(), welcome.class);
Bundle bundle = new Bundle();
bundle.putString("user", user);
intent.putExtras(bundle);
intent.setClass(getApplicationContext(), welcome.class);
startActivity(intent);
} else {
// Toast.makeText(getApplicationContext(),s1+"\t"+s2,Toast.LENGTH_SHORT).show();
// Toast.makeText(getApplicationContext(),String.valueOf(i1)+"\t"+String.valueOf(i2), Toast.LENGTH_SHORT).show();
Toast.makeText(getApplicationContext(), "账号名或密码错误!", Toast.LENGTH_SHORT).show();
etPassword.setText("");
}
}
});
}
public boolean check() {
user = etUser.getText().toString();
password = etPassword.getText().toString();
mDb = dao1.getReadableDatabase();
if (!user.equals("") && !password.equals("")) {
cursorUserId = mDb.query("userinfo", new String[]{"id"}, "user=?", new String[]{user}, null, null, null);
cursorPasswordId = mDb.query("userinfo", new String[]{"id"}, "password=?", new String[]{password}, null, null, null);
cursorUserId.moveToFirst();
cursorPasswordId.moveToFirst();
if (cursorUserId.getCount() != 0 && cursorPasswordId.getCount() != 0) {
cursorUserId.moveToFirst();
cursorPasswordId.moveToFirst();
i1 = cursorUserId.getCount();
i2 = cursorPasswordId.getCount();
i3 = cursorUserId.getInt(0);
cursorPassword = mDb.query("userinfo", new String[]{"password"},"id=?",new String[]{String.valueOf(i3)},null,null,null);
cursorPassword.moveToFirst();
if (cursorPassword.getString(0).equals(password)) {
return true;
}
}
}
else
Toast.makeText(getApplicationContext(),"账号名或密码错误",Toast.LENGTH_SHORT).show();
cursorUserId.close();
cursorPasswordId.close();
mDb.close();
return false;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK){
if (System.currentTimeMillis()-exittime>2000){
Toast.makeText(getApplicationContext(),"再按一次退出程序",Toast.LENGTH_SHORT).show();
exittime = System.currentTimeMillis();
}
else
{
finish();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
}
signup.java//注册界面
package com.zuqiuyu.signup;
import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import javax.xml.transform.Templates;
public class SignUp extends ActionBarActivity {
private EditText etUser,eTPassword,etIspassoord;
String user,passowrd,ispassoword;
SQLiteDatabase mDb;
Mydb dao1;
String index;
Cursor cursor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sign_up);
etUser = (EditText)findViewById(R.id.etUser);
eTPassword = (EditText)findViewById(R.id.etPassword);
etIspassoord = (EditText)findViewById(R.id.etIsPassword);
dao1 = new Mydb(this,"userinfo.db",null,1);
findViewById(R.id.btnCheck).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
etUser = (EditText)findViewById(R.id.etUser);
user = etUser.getText().toString();
if (!user.equals("")){
if (isUser()){
Toast.makeText(getApplicationContext(),"恭喜,用户名"+user+"未被注册",Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(getApplicationContext(),"抱歉,用户名"+user+"已被注册,请重新输入用户名!",Toast.LENGTH_SHORT).show();
etUser.setText("");
}
}
else
Toast.makeText(getApplicationContext(),"用户名不准为空",Toast.LENGTH_SHORT).show();
}
});
findViewById(R.id.btnSignUp).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
user = etUser.getText().toString();
passowrd = eTPassword.getText().toString();
ispassoword = etIspassoord.getText().toString();
ContentValues values = new ContentValues();
mDb = dao1.getWritableDatabase();
if (!user.equals("")&&!passowrd.equals("")&&!ispassoword.equals("")) {
if (isUser()) {
if (passowrd.equals(ispassoword)) {
values.put("user", user);
values.put("password", passowrd);
mDb.insert("userinfo", null, values);
Toast.makeText(getApplicationContext(), "恭喜" + user + ",注册成功", Toast.LENGTH_SHORT).show();
values.clear();
Intent intent = new Intent();
intent.setClass(getApplicationContext(), welcome.class);
Bundle bundle = new Bundle();
bundle.putString("user", user);
intent.putExtras(bundle);
finish();
startActivity(intent);
} else {
Toast.makeText(getApplicationContext(), "两次密码输入不一致!请重新输入", Toast.LENGTH_SHORT).show();
eTPassword.setText("");
etIspassoord.setText("");
}
} else {
Toast.makeText(getApplicationContext(), "抱歉,用户名" + user + "已被注册,请重新输入用户名!", Toast.LENGTH_SHORT).show();
eTPassword.setText("");
etIspassoord.setText("");
etUser.setText("");
}
}
else
Toast.makeText(getApplicationContext(),"输入值不准为空",Toast.LENGTH_SHORT).show();
mDb.close();
}
});
}
public boolean isUser(){
user = etUser.getText().toString();
mDb = dao1.getReadableDatabase();
cursor = mDb.query("userinfo", new String[]{"user"}, "user=?", new String[]{user}, null, null, null);
if (cursor.getCount() == 0){
cursor.close();
return true;
}
else {
cursor.close();
return false;
}
}
@Override
public void onBackPressed() {
cursor.close();
finish();
super.onBackPressed();
}
}
welcome.java//欢迎界面
package com.zuqiuyu.signup;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
public class welcome extends ActionBarActivity {
private TextView tvUser;
private LinearLayout ll;
SQLiteDatabase mDb;
Mydb dao1;
String user;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
tvUser = (TextView)findViewById(R.id.tvUser);
Intent intent = getIntent();
final Bundle bundle = intent.getExtras();
user = bundle.getString("user");
tvUser.setTextColor(Color.RED);
tvUser.setText(user);
findViewById(R.id.btnReturn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
}
});
findViewById(R.id.btnUpdate).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(), UpdatePassword.class);
Bundle bundle1 = new Bundle();
bundle1.putString("user",user);
intent.putExtras(bundle);
startActivity(intent);
}
});
findViewById(R.id.btnDelete).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog alertDialog = new AlertDialog.Builder(welcome.this).create();
alertDialog.setTitle("友情提示!");
alertDialog.setMessage("您确定要注销账号吗?注销后您的所有数据将会丢失!");
alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "我再想想", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "明智之选", Toast.LENGTH_SHORT).show();
}
});
alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, "去意已绝", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dao1 = new Mydb(getApplicationContext(),"userinfo.db",null,1);
mDb = dao1.getWritableDatabase();
mDb.delete("userinfo", "user=?", new String[]{user});
Toast.makeText(getApplicationContext(), "欢迎再来", Toast.LENGTH_SHORT).show();
ll = new LinearLayout(getApplicationContext());
ll = (LinearLayout) findViewById(R.id.ll);
ll.removeAllViews();
TextView tv = new TextView(getApplicationContext());
tv.setText("您好,尊敬的游客,请先注册或登录");
tv.setTextColor(Color.BLACK);
Button b1 = new Button(getApplicationContext());
b1.setText("注册");
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(), SignUp.class);
startActivity(intent);
}
});
Button b2 = new Button(getApplicationContext());
b2.setText("登录");
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
}
});
ll.addView(tv);
ll.addView(b1);
ll.addView(b2);
}
});
alertDialog.show();
}
});
}
@Override
public void onBackPressed() {
finish();
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
super.onBackPressed();
}
}
updatepassword.java//修改密码界面
package com.zuqiuyu.signup;
import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class UpdatePassword extends ActionBarActivity {
private EditText etPassword,etNewpassword,etIsNewpassowrd;
private String password,newpassword,IsNewpassowrd,user;
SQLiteDatabase mDb;
Mydb dao1;
Cursor cursor,curorid,cursoruser;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_update_password);
dao1 = new Mydb(this,"userinfo.db",null,1);
etPassword = (EditText) findViewById(R.id.etPassword);
etNewpassword = (EditText) findViewById(R.id.etNewPassword);
etIsNewpassowrd = (EditText)findViewById(R.id.etIsNewPassword);
Bundle bundle = getIntent().getExtras();
user = bundle.getString("user");
findViewById(R.id.btnUpdate).setOnClickListener(new View.OnClickListener() {
;
@Override
public void onClick(View v) {
password = etPassword.getText().toString();
newpassword = etNewpassword.getText().toString();
IsNewpassowrd = etIsNewpassowrd.getText().toString();
mDb = dao1.getReadableDatabase();
//cursoruser = mDb.query("userinfo", new String[]{"user"}, "user=?", new String[]{user}, null, null, null);
curorid = mDb.query("userinfo", new String[]{"id"}, "user=?", new String[]{user}, null, null, null);
curorid.moveToFirst();
int i3 = curorid.getInt(0);
// cursorUserId = mDb.query("userinfo", new String[]{"id"}, "user=?", new String[]{user}, null, null, null);
// i3 = cursorUserId.getInt(0);
// cursorPassword = mDb.query("userinfo", new String[]{"password"},"id=?",new String[]{String.valueOf(i3)},null,null,null);
cursor = mDb.query("userinfo", new String[]{"password"}, "id=?", new String[]{String.valueOf(i3)}, null, null, null);
cursor.moveToFirst();
String s1 = cursor.getString(0);
// Toast.makeText(getApplicationContext(),s1,Toast.LENGTH_SHORT).show();
if (cursor.getString(0).equals(password) ) {
if (newpassword.equals(IsNewpassowrd)) {
mDb = dao1.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("password", newpassword);
mDb.update("userinfo", values, "id=?", new String[]{curorid.getString(0)});
Toast.makeText(getApplicationContext(), "修改成功!,请重新登录", Toast.LENGTH_SHORT).show();
cursor.close();
curorid.close();
Intent intent = new Intent();
intent.setClass(getApplicationContext(), MainActivity.class);
startActivity(intent);
} else
Toast.makeText(getApplicationContext(), "两次输入密码不一致", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "原密码错误", Toast.LENGTH_SHORT).show();
}
cursor.close();
curorid.close();
}
});
}
@Override
public void onBackPressed() {
cursor.close();
curorid.close();
super.onBackPressed();
}
}