Android小程序---------教师管理系统

由于自己的Java和Android比较业余,仅仅为了实现功能,美观和细节上不是很注意。所以代码中还存在诸多问题,有很多思路不清晰的地方,所以把源代码未经删改的直接呈现,希望以后重新看此程序能有所收获。

MainActivity.java

package com.example.clientui_1;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;
	
public class MainActivity extends Activity {

	private Mysql m;
	SharedPreferences sp ;//sp为共享数据对象
	Button signin_B;
	Button login_B;
	Editor edit ;
	EditText etUserName;
	EditText etUserPwd;
	String UserName = null;		//初始化username
	String UserPwd = null;		//初始化userpwd
	//CheckBox cb;
	private EditText Username, Password1, Password2, Userid;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		init();//初始化函数
		m = new Mysql(MainActivity.this, "Admin", null, 1);
	}


	public void method(View v){
		switch (v.getId()) {
		case R.id.signin:
			
			//当前页面对象,目标页面对象
			Intent intentSignin = new Intent(MainActivity.this, SigninActivity.class);
			//跳转
			startActivity(intentSignin);
			break;
			
			
		case R.id.login:
			
			// 获得可读的数据库助手
			SQLiteDatabase read = m.getReadableDatabase();
			//获取账号密码输入框中的数据
			String name = etUserName.getText().toString().trim();
			String pwd = etUserPwd.getText().toString().trim();
			//判断账号密码是否正确----查询数据库中是否存在账号密码
//================================================================================	

			// 创建装ID的数组
			String[] selectionArgs = { name , pwd };
			// ? 是占位符传参
			Cursor cursor = read.rawQuery(
					"SELECT  USERNAME,PASSWORD,USERID  FROM  Admin  WHERE  USERNAME = ? AND PASSWORD = ?;",
					selectionArgs);
			
			String pwd_right = "";
			String name_right = "";
			while (cursor.moveToNext()) {
				//查到数据就从文本框获得内容
				name_right = cursor.getString(0);
				pwd_right = cursor.getString(1);
			}
//==================================================================================			
			if(pwd_right.equals(pwd) && name_right.equals(name)){
				//if("123".equals(name)){
				// 显示登录成功
			Toast.makeText(MainActivity.this, "登录成功", 0).show();
			//login_B = (Button) findViewById(R.id.login);
			Intent intentLogin = new Intent(MainActivity.this, LoginActivity.class);		
			//跳转
			startActivity(intentLogin);
			}
			else
			{
				Toast.makeText(MainActivity.this, "用户名或密码错误", 0).show();
			}
			break;
		}	
	}	
	
	private void init() {
		//获取共享数据对象
		sp = getSharedPreferences("text", Context.MODE_PRIVATE);
		//获取编辑者对象
		edit = sp.edit();
		//找控件
		etUserName = (EditText) findViewById(R.id.editText1);//这里是用户名控件绑定
		etUserPwd = (EditText) findViewById(R.id.editText2);//这里是密码的控件绑定
	}
}


/*		绑定控件
signin_B = (Button) findViewById(R.id.signin);   
//设置监听方法1
signin_B.setOnClickListener(new OnClickListener() {
	@Override
	public void onClick(View arg0) {
		// TODO Auto-generated method stub
		
		//当前页面对象,目标页面对象
		Intent intentSignin = new Intent(MainActivity.this, SigninActivity.class);
		//跳转
		startActivity(intentSignin);
	}
});


//设置监听方法2    
	login_B.setOnClickListener(new OnClickListener() {
	
	@Override
	public void onClick(View arg0) {
		// TODO Auto-generated method stub
		//当前页面对象,目标页面对象
		Intent intentLogin = new Intent(MainActivity.this, LoginActivity.class);
		//跳转
		startActivity(intentLogin);
	}
});*/

Mysql.java

package com.example.clientui_1;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class Mysql extends SQLiteOpenHelper{

	public Mysql(Context context, String name, CursorFactory factory,
			int version) {
		super(context, name, factory, version);
		// TODO Auto-generated constructor stub
	}
	@Override
	public void onCreate(SQLiteDatabase db) {
		// TODO Auto-generated method stub
		db.execSQL("CREATE TABLE Student(" +
					"ID			CHAR(50)	," +
					"NAME		CHAR(50)	," +
					"AGE		CHAR(50)	," +
					"INFO		CHAR(50));");
		db.execSQL("CREATE TABLE Admin(" +
					"USERNAME	CHAR(50)	," +
					"PASSWORD	CHAR(50)	," +
					"USERID		CHAR(50));");
		}
		
	@Override
	public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
		// TODO Auto-generated method stub
		
	}
	
}

SigninActivity.java

package com.example.clientui_1;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class SigninActivity extends Activity{
	
	private Mysql m;
	private EditText Username, Password1, Password2, Userid;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		//加载布局
		setContentView(R.layout.signin_ui);
		
		Username = (EditText) findViewById(R.id.editText1);
		Password1 = (EditText) findViewById(R.id.editText2);
		//Password2 = (EditText) findViewById(R.id.editText3);
		Userid = (EditText) findViewById(R.id.editText4);
		m = new Mysql(SigninActivity.this, "Admin", null, 1);
	}


	public void enter(View v) {
		// 获得可读的数据库助手
		SQLiteDatabase read = m.getReadableDatabase();
		// 获取文本框中的数据
		String username_t = Username.getText().toString().trim();
		String password_t = Password1.getText().toString().trim();
		String userid_t = Userid.getText().toString().trim();
		// 创建装ID的数组
		String[] selectionArgs = { username_t};
		String[] string = {username_t,password_t,userid_t};
		
		// ? 是占位符传参
		Cursor cursor = read.rawQuery(
				"SELECT  USERNAME  FROM  Admin  WHERE  USERNAME = ?;",
				selectionArgs);
		
		// 检测有没有查到数据
		
		String username = "";
		while (cursor.moveToNext()) {
			//没有查到数据就从文本框获得内容
			username = cursor.getString(0);
		}
		// 将字符串 放到 EditText文本内容当中
		if(userid_t.length()==18)
		{
			if(username.length() == 0)
			{
				// 获得可写的数据库助手
				SQLiteDatabase wd = m.getWritableDatabase();
				wd.execSQL(
						"INSERT INTO Admin (USERNAME, PASSWORD, USERID)  VALUES (?,?,?);",
						string);
				// 关闭数据库连接
				wd.close();
				Toast.makeText(SigninActivity.this, "注册成功,请返回登录", 0).show();
				//当前页面对象,目标页面对象
				Intent intentM = new Intent(SigninActivity.this, MainActivity.class);
				//跳转
				startActivity(intentM);
			}
			else{
				//提示出错
				Toast.makeText(SigninActivity.this, "账户已存在", 0).show();
			}
		}
		else{
			//提示出错
			Toast.makeText(SigninActivity.this, "请输入正确的身份证号码", 0).show();
		}
		// 关闭游标
		cursor.close();
		// 关闭数据库助手
		read.close();
	}
	
	
}

LoginActivity.java

package com.example.clientui_1;

import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class LoginActivity extends Activity{
	private Mysql m;
	private EditText Sid, Sname, Sage, Sinfo;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		//加载布局
		setContentView(R.layout.login_ui);
		Sid = (EditText) findViewById(R.id.editText1);
		Sname = (EditText) findViewById(R.id.editText2);
		Sage = (EditText) findViewById(R.id.editText3);
		Sinfo = (EditText) findViewById(R.id.editText4);
		m = new Mysql(LoginActivity.this, "student", null, 1);
	}

	public void delete(View v) {
	// 点击按钮时。获取文本框中的内容
		String id = Sid.getText().toString().trim();
			
		// 将获取到的内容放到 字符串数组中
		String string[] = {id};
		// 获得可写数据库助手
		SQLiteDatabase wd = m.getWritableDatabase();
		// 发送SQL语句,传参方式,占位符传参
		wd.execSQL(
				" DELETE FROM Student WHERE ID = ?;",
				string);
		// 关闭数据库连接
		wd.close();
		Toast.makeText(LoginActivity.this, "删除数据成功", 0).show();
	}
	public void update(View v) {
		// 点击按钮时。获取文本框中的内容
		String id = Sid.getText().toString().trim();
		String name = Sname.getText().toString().trim();
		String age = Sage.getText().toString().trim();
		String info = Sinfo.getText().toString().trim();
		
		// 将获取到的内容放到 字符串数组中
		String string[] = {name,age,info,id};
		// 获得可写数据库助手
		SQLiteDatabase wd = m.getWritableDatabase();
		// 发送SQL语句,传参方式,占位符传参
		wd.execSQL(
				"UPDATE Student SET  NAME = ?,AGE = ?,INFO = ? WHERE ID = ?;",
				string);
		// 关闭数据库连接
		wd.close();
		Toast.makeText(LoginActivity.this, "修改数据成功", 0).show();
	}
	/*
	 * 查询数据
	 */
	public void select(View v) {
		// 获得可读的数据库助手
		SQLiteDatabase read = m.getReadableDatabase();
		// 获取文本框中的数据
		String id = Sid.getText().toString().trim();
		// 创建装ID的数组
		String[] selectionArgs = { id };
		// ? 是占位符传参
		Cursor cursor = read.rawQuery(
				"SELECT  ID,NAME,AGE,INFO  FROM  student  WHERE  id = ?;",
				selectionArgs);

		String stuID = "";
		String stuName = "";
		String stuAge = "";
		String stuInfo = "";
		// 检测有没有查到数据
		while (cursor.moveToNext()) {
			stuID = cursor.getString(0);
			stuName = cursor.getString(1);
			stuAge = cursor.getString(2);
			stuInfo = cursor.getString(3);
		}
		// 将字符串 放到 EditText文本内容当中
		Sid.setText(stuID);
		Sname.setText(stuName);
		Sage.setText(stuAge);
		Sinfo.setText(stuInfo);
		// 关闭游标
		cursor.close();
		// 关闭数据库助手
		read.close();
		if(Sid.length()!=0){
			Toast.makeText(LoginActivity.this, "查询成功", 0).show();
		}
		else{
			Toast.makeText(LoginActivity.this, "没有数据", 0).show();
		}
	}
	/*
	 * 插入数据
	 */
	public void insert(View v) {
		// 点击按钮时。获取文本框中的内容
		String id = Sid.getText().toString().trim();
		String name = Sname.getText().toString().trim();
		String age = Sage.getText().toString().trim();
		String info = Sinfo.getText().toString().trim();
		// 将获取到的内容放到 字符串数组中
		String string[] = { id, name, age, info };
		// 获得可写的数据库助手
		SQLiteDatabase wd = m.getWritableDatabase();
		// 发送SQL语句,传参方式,占位符传参
		wd.execSQL(
				"INSERT INTO student (ID, NAME, AGE,INFO)  VALUES (?,?,?,?);",
				string);
		// 关闭数据库连接
		wd.close();
		Toast.makeText(LoginActivity.this, "插入数据成功", 0).show();
	}
}

 

 

实现界面效果:

 

 

  • 0
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值