Android学习过程中,结合sqlite数据库完成小型的人员管理系统,尽管项目比较小,但是整体思路比较清晰,功能比较实用,适合新手学习。下面是效果图:
项目整体架构:
部分代码:
dbHelper.java
public class dbHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "data.db";
private static final int VERSION = 1;
private static final String SWORD="SWORD";
public dbHelper(Context context) {
super(context, DB_NAME, null, VERSION);
// TODO Auto-generated constructor stub
}
//create the db
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
Log.i(SWORD, "create a database");
String sql="create table user(name varchar(20) not null ," +
" password varchar(60) not null );";
db.execSQL(sql);
sql="create table client(name varchar(20) not null,"
+"age varchar(10),detail varchar(100),"
+"address varchar(50),phone varchar(12));";
db.execSQL(sql);
}
//update a db
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
Log.i(SWORD, "update a db");
}
}
Regester.java
register.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String edtName = name.getText().toString();
String edtPass = pass.getText().toString();
if(!(edtName.equals("") && edtPass.equals(""))){
if(addUser(edtName,edtPass)){
Toast.makeText(RegisterActivity.this, "注册成功!", Toast.LENGTH_SHORT).show();
//跳转到登录成功界面
Intent in = new Intent();
in.setClass(getApplicationContext(), MainActivity.class);
startActivity(in);
RegisterActivity.this.finish();
}
else{
new AlertDialog.Builder(RegisterActivity.this)
.setTitle("注册失败").setMessage("注册失败")
.setPositiveButton("OK", null).show();
}
}
else{
new AlertDialog.Builder(RegisterActivity.this)
.setTitle("账号密码不能为空").setMessage("账号密码不能为空")
.setPositiveButton("OK", null).show();
}
}
private boolean addUser(String name, String pass) {
// TODO Auto-generated method stub
String str = "insert into user values(?,?)";
database = new dbHelper(getApplicationContext());
SQLiteDatabase db=database.getReadableDatabase();
try{
db.execSQL(str,new String[]{name,pass});
return true;
}
catch(Exception e){
Log.i("RegisterActivity", "adduser-->error");
}
return false;
}
});
AddActivity.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.add);
findViews();
save.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
String strName = name.getText().toString();
String strAge = age.getText().toString();
String strDetail = detail.getText().toString();
String strAddress = address.getText().toString();
String strPhone = phone.getText().toString();
helper = new dbHelper(getApplication());
SQLiteDatabase db = helper.getReadableDatabase();
String str="insert into client values(?,?,?,?,?)";
try{
db.execSQL(str, new String[]{strName,strAge,strDetail,strAddress,strPhone});
Intent in = new Intent();
in.setClass(getApplicationContext(), WelcomeActivity.class);
startActivity(in);
AddActivity.this.finish();
}
catch(Exception e){
Log.i("AddActivity", "add---error");
}
}
});
}
源码下载