简单的用户登录注册

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>

效果图:

               

                

               

                 

                








 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值