基于eclipse的登录注册页面

目录

一.功能讲解

1.本页面设计了sqlite数据库的操作。

二.效果图

三.代码展示

1.创建activity_login.xml页面

2.LoginActivity.java


一.功能讲解

1.本页面设计了sqlite数据库的操作。

注册的时候先查询数据库中是否有这个此账号。如果有,提醒用户此账号已经存在;如果没有允许用户注册。

登录的时候先查询数据库中是否有此账号。如果没有此账号,提醒用户先注册;如果有,检查密码是否正确,如果密码不正确,提醒用户重新输入;如果正确,进入主页面

二.效果图

三.代码展示

1.创建activity_login.xml页面

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/bg"
    android:orientation="vertical" >

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20sp"
        android:layout_marginRight="20sp"
        android:layout_marginTop="100sp"
        android:background="@drawable/corners"
        android:weightSum="1" >

        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20sp" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20sp"
                android:text="@string/user"
                android:textSize="24sp" />

            <EditText
                android:id="@+id/editText_user"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:hint=""
                android:textSize="24sp" />
        </TableRow>

        <TableRow
            android:id="@+id/tableRow2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20sp"
            android:layout_marginTop="10sp" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20sp"
                android:text="@string/pw"
                android:textSize="24sp" />

            <EditText
                android:id="@+id/editText_pw"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="20sp"
                android:ems="10"
                android:hint=""
                android:inputType="textPassword"
                android:textSize="24sp" />
        </TableRow>

        <TableRow
            android:id="@+id/tableRow3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20sp"
            android:layout_marginLeft="20sp" >

            <Button
                android:id="@+id/button_summit"
                android:layout_width="0sp"
                android:layout_weight="0.5"
                android:layout_height="wrap_content"
                android:onClick="summit"
                android:layout_marginRight="10sp"
                android:background="@drawable/bt"
                android:text="@string/summit" />

            <Button
                android:id="@+id/button_register"
                android:layout_width="0sp"
                android:layout_weight="0.5"
                android:layout_height="wrap_content"
                android:layout_marginRight="20sp"
                android:onClick="register"
                android:background="@drawable/bt"
                android:text="@string/register" />
        </TableRow>
    </TableLayout>

</LinearLayout>

2.LoginActivity.java

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

public class LoginActivity extends Activity {
	public Intent intnet;
	public EditText editText_user, editText_pw;
	public String users, password;
	public String str;
	public MySQLiteOpenHelper op;
	public SQLiteDatabase db;
	String sql_CREATE_TABLE, sql_ADD_DATA, sql_SELECT_DATA;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_login);
		editText_user = (EditText) findViewById(R.id.editText_user);
		editText_pw = (EditText) findViewById(R.id.editText_pw);
	}
	public void summit(View v) {
		str = "users.DB";
		users=editText_user.getText().toString().trim();
		password=editText_pw.getText().toString().trim();
		try {
			op = new MySQLiteOpenHelper(this, str, null, 1);
			db = op.getReadableDatabase();
			Cursor cursor = db.rawQuery(" select * from users where username ='"+ users + "'", null);
			sql_SELECT_DATA = " select * from users where username ='" + users+ "' and password ='" + password + "'";
			Cursor cursor1 = db.rawQuery(sql_SELECT_DATA, null);
			if (String.valueOf(cursor.getCount()).equals("0")) {
				fdag("该账号不存在");
			} else if (String.valueOf(cursor1.getCount()).equals("0")) {
				fdag("密码错误,请重新输入");
			} else {
				Intent intnet = new Intent(this, MainActivity.class);
				startActivity(intnet);
			}

		} catch (Exception e) {
			String temp = e.getMessage();
			if (temp.trim().contains("no such table")) {
				op = new MySQLiteOpenHelper(this, str, null, 1);
				db = op.getReadableDatabase();
				// 建立表的操作
				sql_CREATE_TABLE = " CREATE TABLE " + "users(username,password)";
				db.execSQL(sql_CREATE_TABLE);
				fdag("你还没有注册账号呢");
			} else {
				fdag("失败:" + e.getMessage().toString());
			}
		}
	}
	//游标类
	public Cursor queryMemento() {
		str="users.DB";
		users=editText_user.getText().toString().trim();
		password=editText_pw.getText().toString().trim();
		Cursor cursor = db.rawQuery("select * from users where username='"+users+"'  and password='"+password+"'",
						new String[] {users , password});
		
		return cursor;	
		}
	public void register(View v) {
		str = "users.DB";
		users = editText_user.getText().toString().trim();
		password = editText_pw.getText().toString().trim();
		try {
			// 数据库操作类定义
			op = new MySQLiteOpenHelper(this, str, null, 1);
			db = op.getReadableDatabase();
			Cursor cursor = db.rawQuery(" select * from users where username ='"
					+ users + "'", null);
			if (String.valueOf(cursor.getCount()).equals("0")) {
				sql_ADD_DATA = " insert into " + "users(username,password)values('" + users + "','" + password + "')";
				db.execSQL(sql_ADD_DATA);
				fdag("注册成功");
			} else {
				fdag("注册失败,该用户已存在");   
			}

		} catch (Exception e) {
			// 获取出错信息
			String temp = e.getMessage();
			if (temp.trim().contains("no such table")) {
				op = new MySQLiteOpenHelper(this, str, null, 1);
				db = op.getReadableDatabase();
				// 建立表的操作
				db.execSQL(" CREATE TABLE " + "users(username,password)");
				fdag("超时!请再试一次!");
			}

			else {
				fdag(e.getMessage().toString());
			}
		}

	}

	private void fdag(String message) {
		AlertDialog.Builder dialog = new AlertDialog.Builder(this);
		dialog.setTitle("提醒");
		dialog.setMessage(message);
		dialog.setCancelable(true);
		dialog.show();
	}
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.login, menu);
		return true;
	}

}


文章标签:

原文连接:https://blog.csdn.net/weixin_46675635/article/details/118574004

相关推荐

Android开发--实现Android登录注册页面(下)

Android开发--实现Android登录注册页面(上)

一个简单的前后端交互——登录注册页面(升级版)idea代码篇(2:Maven:Javaweb项目)使用MyBatis:Mapper,servlet+Tomcat

web登录注册页面

基于eclipse的登录注册页面

Android多版本flavor配置之资源文件和清单文件合并介绍

Android 面试题:说一下 PendingIntent 和 Intent 的区别

Intent 跳转 传递list集合

Google Play 开发者账户被封 如何改代码快速上架

百度APP Android包体积优化实践(二)Dex行号优化

使用ComposeDesktop开发一款桌面端多功能APK工具

一年时间过去了,LiveData真的被Flow代替了吗? LiveData会被废弃吗?

Flutter 绘制探索 | 箭头端点的设计

Android Notes | 开发手记 ing...

Flutter 小技巧之优化使用的 BuildContext

Android原生自定义车牌输入法 附带两种实现思路以及源码 EasyVehicleKeyBoard

Dart(五)—泛型、库使用、async和await关键字

Android启动优化深入解析,全面掌握!

Android技术知识点:如何使用数据绑定来消除findViewById()

ExoPlayer客户端解密m3u8音频\u002F视频