src文件数如下:
layout文件
在res文件夹添加drawable,在drawable添加3张图片
pic.gif
pic1.jpg
pic2.jpg
strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">hm20151221</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="title">用户管理系统</string>
<string name="Register_name">请输入你的名字</string>
<string name="Register_password">请输入你的密码</string>
<string name="Register_repassword">请输入确认密码</string>
<string name="Register_email">请输入你的邮箱</string>
<string name="Register_btn">注册</string>
<string name="Login_name">请输入你的名字</string>
<string name="Login_password">请输入你的密码</string>
<string name="Login_btn">登录</string>
<string name="update">修改</string>
<string name="delete">删除</string>
<string name="back">返回</string>
<string name="username">用户名:</string>
<string name="userpassword">密码:</string>
</resources>
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/pic1"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<LinearLayout
android:id="@+id/myProject"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/pic2"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/title"/>
</LinearLayout>
</LinearLayout>
package com.example.hm20151221;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.LinearLayout;
public class MainActivity extends Activity {
private LinearLayout myProject;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myProject=(LinearLayout) findViewById(R.id.myProject);
myProject.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this, Login.class);
startActivity(intent);
finish();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
User.java
package com.example.entity;
public class User {
private int userId;
private String userName;
private String userPassword;
/**
* 无参构造函数
*/
public User() {
super();
}
/**
* 有参构造函数
* @param userId 用户编号
* @param userName 用户名
* @param userPassword 用户密码
*/
public User(int userId, String userName, String userPassword) {
super();
this.userId = userId;
this.userName = userName;
this.userPassword = userPassword;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
}
Constant.java
package com.example.constant;
public class Constant {
//数据库名
public static final String DATABASE="hm20151221.db";
//表名
public static final String TABLE_1="myuser";
//数据库版本号
public static final int VERSON=1;
}
CreateTable.java
package com.example.util;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
public class CreateTable extends SQLiteOpenHelper {
private Context context;// 上下文内容
private String name;// 表名
private CursorFactory factory;// 游标工厂
private int version;// 版本号
/**
* 有参构造函数
* @param context 上下文内容
* @param name 表名
* @param factory 游标工厂
* @param version 版本号
*/
public CreateTable(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
this.context = context;
this.name = name;
this.factory = factory;
this.version = version;
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建表
String sql = "create table "
+ name
+ " (userid integer primary key autoincrement,username text not null,userpassword text not null)";
// 执行语句
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
DBUtil.java
package com.example.util;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import com.example.constant.Constant;
import com.example.util.CreateTable;
/**
* 数据库的工具类
* @author Lenovo
*
*/
public class DBUtil {
Context context;//上下文内容
String name;//表名
CursorFactory factory;//游标工厂
int version;//版本号
CreateTable ct;//创建表的类
SQLiteDatabase sqlDatabase;//数据库读写对象
Cursor cursor;//游标对象
/**
* 有参构造函数
* @param context 上下文内容
* @param name 表名
* @param factory 游标工厂
* @param version 版本号
*/
public DBUtil(Context context, String name, CursorFactory factory, int version) {
super();
this.context = context;
this.name = name;
this.factory = factory;
this.version = version;
}
public void openDb(){
ct=new CreateTable(context, name, factory, version);
}
/**
* 关闭数据库
*/
public void closeDb(){
if (cursor!=null) {
cursor.close();
}
if (ct!=null) {
ct.close();
}
}
/**
* 增删改
* @param values 存值的容器
* @param keyparams 存值的名字
* @param valueparams 存值的值
* @param whereClause 带问号sql语句
* @param whereArgs 问号的值
* @return
*/
public long doUpdate(ContentValues values,String[] keyparams,String[] valueparams,String whereClause,String[] whereArgs){
openDb();
sqlDatabase=ct.getWritableDatabase();
long length=0;
// sqlDatabase.insert(table, nullColumnHack, values)
// sqlDatabase.update(table, values, whereClause, whereArgs)
// sqlDatabase.delete(table, whereClause, whereArgs)
if (keyparams==null) {
length=sqlDatabase.delete(Constant.TABLE_1, whereClause, whereArgs);
}else {
for (int i = 0; i < valueparams.length; i++) {
values.put(keyparams[i], valueparams[i]);
}
if (whereClause==null) {
length=sqlDatabase.insert(Constant.TABLE_1, null, values);
}else {
length=sqlDatabase.update(Constant.TABLE_1, values, whereClause, whereArgs);
}
}
closeDb();
return length;
}
/**
*
* @param selection
* @param selectionArgs
* @return
*/
public Cursor doQuery(String selection,String[] selectionArgs){
openDb();
sqlDatabase=ct.getReadableDatabase();
return sqlDatabase.query(Constant.TABLE_1, null, selection, selectionArgs, null, null, null)
}
}
UserDao.java
package com.example.dao;
import java.util.List;
import com.example.entity.User;
public interface UserDao {
/**
* 根据用户名查找用户
* @param name
* @return
*/
public boolean findUserByName(String name);
/**
* 添加用户
* @param name 用户名
* @param password 用户密码
* @return
*/
public long addUser(String name,String password);
/**
* 根据用户名和用户密码
* @param name
* @param password
* @return
*/
public boolean findUser(String name,String password);
/**
* 查找所有用户
* @return
*/
public List<User> findAllUser();
/**
* 修改用户
* @param id 要修改的用户编号
* @param name 修改后的用户名
* @param password 修改后的用户密码
* @return
*/
public int updateUser(int id,String name,String password);
public int deleteUser(int id);
}
UserDaoImp.java
package com.example.dao.imp;
import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import com.example.constant.Constant;
import com.example.dao.UserDao;
import com.example.entity.User;
import com.example.util.DBUtil;
public class UserDaoImp implements UserDao{
private Context context;
private ContentValues values=new ContentValues();
private DBUtil DBUtil;
private List<User> userList;
public UserDaoImp(Context context){
this.context=context;
}
@Override
public boolean findUserByName(String name) {
String selection="username=?";
String[] selectionArgs={name};
DBUtil=new DBUtil(context, Constant.TABLE_1, null, Constant.VERSON);
Cursor cursor=DBUtil.doQuery(selection, selectionArgs);
if (cursor.moveToNext()) {
DBUtil.closeDb();
return true;
}
DBUtil.closeDb();
return false;
}
@Override
public long addUser(String name,String password) {
long length=0;
DBUtil=new DBUtil(context, Constant.TABLE_1, null, Constant.VERSON);
String[] keyparams={"username","userpassword"};
String[] valueparams={name,password};
length=DBUtil.doUpdate(values, keyparams, valueparams, null, null);
return length;
}
@Override
public boolean findUser(String name, String password) {
String selection="username=? and userpassword=?";
String[] selectionArgs={name,password};
DBUtil=new DBUtil(context, Constant.TABLE_1, null, Constant.VERSON);
Cursor cursor=DBUtil.doQuery(selection, selectionArgs);
if (cursor.moveToNext()) {
DBUtil.closeDb();
return true;
}
DBUtil.closeDb();
return false;
}
@Override
public List<User> findAllUser() {
userList=new ArrayList<User>();
DBUtil=new DBUtil(context, Constant.TABLE_1, null, Constant.VERSON);
Cursor cursor=DBUtil.doQuery(null, null);
while (cursor.moveToNext()) {
int id=cursor.getInt(cursor.getColumnIndex("userid"));
String name=cursor.getString(cursor.getColumnIndex("username"));
String password=cursor.getString(cursor.getColumnIndex("userpassword"));
User user=new User(id, name, password);
userList.add(user);
}
DBUtil.closeDb();
return userList;
}
@Override
public int updateUser(int id,String name,String password) {
int length=0;
DBUtil=new DBUtil(context, Constant.TABLE_1, null, Constant.VERSON);
String[] keyparams={"username","userpassword"};
String[] valueparams={name,password};
String whereClause="userid=?";
String[] whereArgs={""+id};
length=(int) DBUtil.doUpdate(values, keyparams, valueparams, whereClause, whereArgs);
return length;
}
@Override
public int deleteUser(int id) {
int length=0;
DBUtil=new DBUtil(context, Constant.TABLE_1, null, Constant.VERSON);
String whereClause="userid=?";
String[] whereArgs={""+id};
length=(int) DBUtil.doUpdate(null, null, null, whereClause, whereArgs);
return length;
}
}
ManagerAdapter.java
package com.example.adapter;
import java.util.List;
import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;
import com.example.dao.UserDao;
import com.example.dao.imp.UserDaoImp;
import com.example.entity.User;
import com.example.hm20151221.R;
import com.example.hm20151221.UpdateUser;
public class ManagerAdapter extends BaseAdapter {
private List<User> userList;
private Context context;
private UserDao userdao;
public ManagerAdapter(List<User> userList, Context context) {
super();
this.userList = userList;
this.context = context;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return userList.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return userList.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
MyView myView;
if (convertView == null) {
// 加载对象
LayoutInflater layoutInflater = LayoutInflater.from(context);
// 实例化加载对象item的view对象
convertView = layoutInflater.inflate(R.layout.list_item, parent,false);
// 实例化内部静态类
myView = new MyView(convertView);
// 设值
convertView.setTag(myView);
}else {
myView=(MyView) convertView.getTag();
}
myView.useridTv.setText(userList.get(position).getUserId()+"");
myView.usernameTv.setText(userList.get(position).getUserName());
myView.updateBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(context, UpdateUser.class);
intent.putExtra("id",userList.get(position).getUserId());
intent.putExtra("name",userList.get(position).getUserName());
intent.putExtra("password",userList.get(position).getUserPassword());
context.startActivity(intent);
}
});
myView.deleteBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
int id=userList.get(position).getUserId();
userdao=new UserDaoImp(context);
userdao.deleteUser(id);
userList.remove(position);
ManagerAdapter.this.notifyDataSetChanged();
}
});
return convertView;
}
static class MyView {
TextView useridTv, usernameTv;
Button updateBtn, deleteBtn;
public MyView(View v) {
useridTv = (TextView) v.findViewById(R.id.userid);
usernameTv = (TextView) v.findViewById(R.id.username);
updateBtn = (Button) v.findViewById(R.id.update);
deleteBtn = (Button) v.findViewById(R.id.delete);
}
}
}
login.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/pic"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:gravity="center"
android:orientation="vertical" >
<EditText
android:id="@+id/Login_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="@string/Login_name" />
<EditText
android:id="@+id/Login_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/Login_password" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:gravity="center_horizontal"
android:orientation="horizontal" >
<Button
android:id="@+id/Login_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FFCC99"
android:textSize="15dp"
android:text="@string/Login_btn" />
<Button
android:id="@+id/Login_register"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:background="#FFCC99"
android:textSize="15dp"
android:text="@string/Register_btn" />
</LinearLayout>
</LinearLayout>
package com.example.hm20151221;
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;
import com.example.dao.UserDao;
import com.example.dao.imp.UserDaoImp;
public class Login extends Activity implements OnClickListener{
private EditText loginName,loginPassword;
private Button loginBtn,registerBtn;
private UserDao userdao=new UserDaoImp(Login.this);
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
loginName=(EditText) findViewById(R.id.Login_name);
loginPassword=(EditText) findViewById(R.id.Login_password);
loginBtn=(Button) findViewById(R.id.Login_login);
registerBtn=(Button) findViewById(R.id.Login_register);
loginBtn.setOnClickListener(this);
registerBtn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.Login_login:
//获取文本框内容
String loginname=loginName.getText().toString().trim();
String loginpassword=loginPassword.getText().toString().trim();
boolean isexist=userdao.findUser(loginname, loginpassword);
//判断
if (isexist) {
//设置intent
Intent intent=new Intent(Login.this, Welcome.class);
//页面跳转
startActivity(intent);
finish();
}else if (loginname.equals("admin")&&loginpassword.equals("admin")) {
//设置intent
Intent intent=new Intent(Login.this, ManagerWelcome.class);
//页面跳转
startActivity(intent);
finish();
}else {
Toast.makeText(Login.this, "名字不存在或密码错误,请重新输入", 0).show();
}
break;
case R.id.Login_register:
Intent registerIntent=new Intent(Login.this, Register.class);
startActivity(registerIntent);
finish();
break;
default:
break;
}
}
}
register.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/pic"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp" >
<EditText
android:id="@+id/Register_name"
android:layout_width="210dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="@string/Register_name" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/Rjudge_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp" >
<EditText
android:id="@+id/Register_password"
android:layout_width="210dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="@string/Register_password" />
<TextView
android:id="@+id/Rjudge_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp" >
<EditText
android:id="@+id/Register_repassword"
android:layout_width="210dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="@string/Register_repassword" />
<TextView
android:id="@+id/Rjudge_repassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp" >
<EditText
android:id="@+id/Register_email"
android:layout_width="210dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="@string/Register_email" />
<TextView
android:id="@+id/Rjudge_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal">
<Button
android:id="@+id/Register_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FFCC99"
android:textSize="15dp"
android:text="@string/Register_btn" />
</LinearLayout>
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/pic"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp" >
<EditText
android:id="@+id/Register_name"
android:layout_width="210dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="@string/Register_name" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/Rjudge_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp" >
<EditText
android:id="@+id/Register_password"
android:layout_width="210dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="@string/Register_password" />
<TextView
android:id="@+id/Rjudge_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp" >
<EditText
android:id="@+id/Register_repassword"
android:layout_width="210dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="@string/Register_repassword" />
<TextView
android:id="@+id/Rjudge_repassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp" >
<EditText
android:id="@+id/Register_email"
android:layout_width="210dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="@string/Register_email" />
<TextView
android:id="@+id/Rjudge_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal">
<Button
android:id="@+id/Register_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FFCC99"
android:textSize="15dp"
android:text="@string/Register_btn" />
</LinearLayout>
</LinearLayout>
package com.example.hm20151221;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.example.dao.UserDao;
import com.example.dao.imp.UserDaoImp;
import com.example.entity.User;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnFocusChangeListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class Register extends Activity {
private EditText registerName, registerPassword, registerRepassword, registerEmail;
private TextView judgeName, judgePassword, judgeRepassword, judgeEmail;
private Button registerBtn;
private String regestername, regesterpassword, regesterrepassword, regesteremail;
private String judgename, judgepassword, judgerepassword, judgeemail;
private UserDao userdao=new UserDaoImp(Register.this);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.register);
// 文本框
registerName = (EditText) findViewById(R.id.Register_name);
registerPassword = (EditText) findViewById(R.id.Register_password);
registerRepassword = (EditText) findViewById(R.id.Register_repassword);
registerEmail = (EditText) findViewById(R.id.Register_email);
// 文本框监控
registerName.setOnFocusChangeListener(new MyListener());
registerPassword.setOnFocusChangeListener(new MyListener());
registerRepassword.setOnFocusChangeListener(new MyListener());
registerEmail.setOnFocusChangeListener(new MyListener());
// 文本
judgeName = (TextView) findViewById(R.id.Rjudge_name);
judgePassword = (TextView) findViewById(R.id.Rjudge_password);
judgeRepassword = (TextView) findViewById(R.id.Rjudge_repassword);
judgeEmail = (TextView) findViewById(R.id.Rjudge_email);
registerBtn = (Button) findViewById(R.id.Register_btn);
registerBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 获取文本框的值
regestername = registerName.getText().toString().trim();
regesterpassword = registerPassword.getText().toString().trim();
regesterrepassword = registerRepassword.getText().toString().trim();
regesteremail = registerEmail.getText().toString().trim();
judgename = judgeName.getText().toString().trim();
judgepassword = judgePassword.getText().toString().trim();
judgerepassword = judgeRepassword.getText().toString().trim();
judgeemail = judgeEmail.getText().toString().trim();
// 设置intent
Intent intent = new Intent(Register.this, Login.class);
// 页面跳转
if (judgename.equals("") && judgepassword.equals("") && judgerepassword.equals("")
&& judgeemail.equals("")) {
userdao.addUser(regestername,regesterpassword);
startActivity(intent);
finish();
} else {
Toast.makeText(Register.this, "注册失败,重新注册", 0).show();
}
}
});
}
class MyListener implements OnFocusChangeListener {
@Override
public void onFocusChange(View v, boolean hasFocus) {
switch (v.getId()) {
case R.id.Register_name:
regestername = registerName.getText().toString().trim();
boolean isrepeat=userdao.findUserByName(regestername);
if (regestername.equals("") || regestername == null) {
judgeName.setText("名字不能为空,请输入名字");
} else if (isrepeat) {
judgeName.setText("有重名,请重新输入");
} else {
judgeName.setText("");
}
break;
case R.id.Register_password:
regesterpassword = registerPassword.getText().toString().trim();
if (regesterpassword.equals("") || regesterpassword == null) {
judgePassword.setText("密码不能为空,请输入密码");
} else {
judgePassword.setText("");
}
break;
case R.id.Register_repassword:
regesterrepassword = registerRepassword.getText().toString().trim();
if (regesterrepassword.equals("") || regesterrepassword == null) {
judgeRepassword.setText("确认密码不能为空,请输入密码");
} else if (!regesterrepassword.equals(regesterpassword)) {
judgeRepassword.setText("两次密码不符,请重新输入");
} else {
judgeRepassword.setText("");
}
break;
case R.id.Register_email:
regesteremail = registerEmail.getText().toString().trim();
if (regesteremail.equals("") || regesteremail == null) {
judgeEmail.setText("邮箱不能为空,请输入邮箱");
} else if (isEmail(regesteremail)) {
judgeEmail.setText("");
} else {
judgeEmail.setText("邮箱错误,请重新输入");
}
break;
default:
break;
}
}
}
public static boolean isEmail(String strEmail) {
String strPattern = "^[a-zA-Z][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$";
Pattern p = Pattern.compile(strPattern);
Matcher m = p.matcher(strEmail);
return m.matches();
}
}
list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="30dp"
android:orientation="horizontal">
<TextView
android:id="@+id/userid"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:layout_marginLeft="10dp"/>
<TextView
android:id="@+id/username"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:layout_marginLeft="10dp"/>
<Button
android:id="@+id/update"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:focusable="false"
android:layout_marginLeft="10dp"
android:background="#FFCC99"
android:textSize="15dp"
android:text="@string/update"/>
<Button
android:id="@+id/delete"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:layout_marginLeft="10dp"
android:background="#FFCC99"
android:focusable="false"
android:textSize="15dp"
android:text="@string/delete"/>
</LinearLayout>
</LinearLayout>
manangerwelcome.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/pic">
<ListView
android:id="@+id/managerwelcome_listview"
android:layout_width="match_parent"
android:layout_height="300dp"></ListView>
</RelativeLayout>
package com.example.hm20151221;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.TextView;
import com.example.adapter.ManagerAdapter;
import com.example.dao.UserDao;
import com.example.dao.imp.UserDaoImp;
import com.example.entity.User;
public class ManagerWelcome extends Activity {
private TextView useridTV,usernameTv;
private ListView lv;
private UserDao userdao=new UserDaoImp(ManagerWelcome.this);
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.managerwelcome);
useridTV=(TextView) findViewById(R.id.userid);
usernameTv=(TextView) findViewById(R.id.username);
lv=(ListView) findViewById(R.id.managerwelcome_listview);
final List<User> userList=userdao.findAllUser();
ManagerAdapter myAdapter=new ManagerAdapter(userList, ManagerWelcome.this);
lv.setAdapter(myAdapter);
lv.invalidate();
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
//设置intent
Intent intent=new Intent(ManagerWelcome.this, ShowUser.class);
//取值
User user=userList.get(arg2);
int id=user.getUserId();
String name=user.getUserName();
String password=user.getUserPassword();
//传值
intent.putExtra("id", id);
intent.putExtra("name", name);
intent.putExtra("password", password);
//跳转页面
startActivity(intent);
}
});
}
}
showuser.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="20dp"
android:background="@drawable/pic"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/show_userid"
android:layout_width="match_parent"
android:layout_height="50dp"
android:paddingLeft="10dp"
android:gravity="center_vertical"/>
<TextView
android:id="@+id/show_username"
android:layout_width="match_parent"
android:layout_height="50dp"
android:paddingLeft="10dp"
android:gravity="center_vertical"/>
<TextView
android:id="@+id/show_userpassword"
android:layout_width="match_parent"
android:layout_height="50dp"
android:paddingLeft="10dp"
android:gravity="center_vertical"/>
<Button
android:id="@+id/show_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#FFCC99"
android:textSize="15dp"
android:text="@string/back"/>
</LinearLayout>
package com.example.hm20151221;
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.TextView;
public class ShowUser extends Activity {
private TextView useridTv,usernameTv,userpasswordTv;
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.showuser);
//
useridTv=(TextView) findViewById(R.id.show_userid);
usernameTv=(TextView) findViewById(R.id.show_username);
userpasswordTv=(TextView) findViewById(R.id.show_userpassword);
btn=(Button) findViewById(R.id.show_back);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(ShowUser.this, ManagerWelcome.class);
startActivity(intent);
finish();
}
});
Intent intent=getIntent();
int id=intent.getIntExtra("id", 0);
String name=intent.getStringExtra("name");
String password=intent.getStringExtra("password");
useridTv.setText("用户编号:"+id);
usernameTv.setText("用户名:"+name);
userpasswordTv.setText("用户密码"+password);
}
}
updateuser.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="20dp"
android:background="@drawable/pic"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/update_userid"
android:layout_width="match_parent"
android:layout_height="50dp"
android:paddingLeft="10dp"
android:gravity="center_vertical"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:id="@+id/update_usernametv"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:paddingLeft="10dp"
android:gravity="center_vertical"
android:text="@string/username"/>
<EditText
android:id="@+id/update_username"
android:layout_width="215dp"
android:layout_height="match_parent"
android:paddingLeft="15dp"
android:textSize="15dp"
android:gravity="center_vertical"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:id="@+id/update_userpasswordtv"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:paddingLeft="10dp"
android:gravity="center_vertical"
android:text="@string/userpassword"/>
<EditText
android:id="@+id/update_userpassword"
android:layout_width="215dp"
android:layout_height="match_parent"
android:paddingLeft="15dp"
android:layout_marginLeft="15dp"
android:textSize="15dp"
android:gravity="center_vertical"/>
</LinearLayout>
<Button
android:id="@+id/update_update"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FFCC99"
android:textSize="15dp"
android:text="@string/update"/>
</LinearLayout>
package com.example.hm20151221;
import com.example.dao.UserDao;
import com.example.dao.imp.UserDaoImp;
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.TextView;
public class UpdateUser extends Activity {
private TextView useridTv;
private EditText usernameTv,userpasswordTv;
private Button btn;
private String username,userpassword;
private UserDao userdao=new UserDaoImp(UpdateUser.this);
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.updateuser);
//
useridTv=(TextView) findViewById(R.id.update_userid);
usernameTv=(EditText) findViewById(R.id.update_username);
userpasswordTv=(EditText) findViewById(R.id.update_userpassword);
btn=(Button) findViewById(R.id.update_update);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent lastIntent=getIntent();
int id=lastIntent.getIntExtra("id", 0);
Intent intent=new Intent(UpdateUser.this, ManagerWelcome.class);
username=usernameTv.getText().toString().trim();
userpassword=userpasswordTv.getText().toString().trim();
userdao.updateUser(id, username, userpassword);
startActivity(intent);
finish();
}
});
Intent intent=getIntent();
int id=intent.getIntExtra("id", 0);
String name=intent.getStringExtra("name");
String password=intent.getStringExtra("password");
useridTv.setText("用户编号:"+id);
usernameTv.setText(name);
userpasswordTv.setText(password);
}
}
最后在清单配置AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.hm20151221"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.hm20151221.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.example.hm20151221.Register"></activity>
<activity android:name="com.example.hm20151221.Login"></activity>
<activity android:name="com.example.hm20151221.Welcome"></activity>
<activity android:name="com.example.hm20151221.ManagerWelcome"></activity>
<activity android:name="com.example.hm20151221.ShowUser"></activity>
<activity android:name="com.example.hm20151221.UpdateUser"></activity>
</application>
</manifest>
效果图: