2021-06-28 Android studio 简易的登录界面

这篇博客介绍了在Android Studio中创建一个简单的登录界面的步骤,包括数据库连接、Dao类的创建以及界面设计。数据库连接部分涉及JDBCUtils的创建和数据库表的建立。 Dao类创建时,讲解了实体类的生成和SQL语句的应用。界面设计部分提到了使用相对布局和线性布局模仿QQ登录界面,并实现了带参跳转功能。
摘要由CSDN通过智能技术生成

Android studio 简易的登录界面
1、数据库连接
(1)数据库创建
(2)JDBCUtils的创建
2、Dao类的创建
(1)实体类的快速创建
(2)sql语句的应用
3、界面设计

这是我们实训的一部分,拿出来放到网上,请各位大佬给点建议
1、数据库连接
数据库连接教程
2、先建个util的包,放JDBCUtiles

在这里插入图片描述

public class JDBCUtils {
   
    //加载JDBC
    static{
   

        try{
   
            Class.forName("com.mysql.jdbc.Driver");
            Log.d("MainActivity", "加载JDBC驱动成功!");
        } catch (ClassNotFoundException e) {
   
            e.printStackTrace();
            Log.d("MainActivity", "加载JDBC驱动失败!");
        }
    }
    //创建连接对象
    public static Connection getConn(){
   
        Connection conn = null;
        try{
   
            conn= DriverManager.getConnection("jdbc:mysql://自己的ip地址:3306/数据库名字","用户名","用户密码");
            Log.d("MainActivity", "创建连接成功!");
        }catch (Exception e){
   
            e.printStackTrace();
            Log.d("MainActivity", "创建连接失败!");
        }
        return conn;
    }
    //断开连接
    public static void close(Connection conn){
   
        try {
   
            conn.close();
            Log.d("MainActivity", "关闭连接成功!");
        } catch (SQLException throwables) {
   
            throwables.printStackTrace();
            Log.d("MainActivity", "关闭连接失败!");
        }
    }
}

数据库的创建
这里贴一下我的数据库创建命令行,

CREATE DATABASE /*!32312 IF NOT EXISTS*/`ordering_system` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `ordering_system`;
CREATE TABLE `user_info` (
  `user_info_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键ID',
  `user_id` int(11) NOT NULL COMMENT 'user_login表的自增ID',
  `user_name` varchar(20) NOT NULL COMMENT '用户真实姓名',
  `user_photo` varchar(100) DEFAULT NULL COMMENT '用户头像',
  `id_card` varchar(20) NOT NULL COMMENT '身份证号',
  `user_class` varchar(20) DEFAULT NULL COMMENT '班级',
  `mobile_phone` varchar(20) NOT NULL COMMENT '手机号',
  PRIMARY KEY (`user_info_id`),
  KEY `user_info_ibfk_1` (`user_id`),
  CONSTRAINT `user_info_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user_login` (`user_id`) ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='用户信息表';

/*Data for the table `user_info` */

insert  into `user_info`(`user_info_id`,`user_id`,`user_name`,`user_photo`,`id_card`,`user_class`,`mobile_phone`) values 

(1,1,'卯师傅',NULL,'4417**************',NULL,'10086'),

(2,2,'杰里',NULL,'4413**************',NULL,'16611001234');

/*Table structure for table `user_login` */

DROP TABLE IF EXISTS `user_login`;

CREATE TABLE `user_login` (
  `user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  `user_num` varchar(20) NOT NULL COMMENT '用户账号',
  `password` char(32) NOT NULL COMMENT '密码',
  `user_iden` tinyint(4) NOT NULL COMMENT '用户身份:0管理员,1学生,2教职工',
  `user_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '用户状态:0离线,1在线',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='用户登录表';

/*Data for the table `user_login` */

insert  into `user_login`(`user_id`,`user_num`,`password`,`user_iden`,`user_status`) values 

(1,'admin','123456',0,0),

(2,'a','123',1,0);

其中有连接了两张表的视图,可以不用管,后面的sql语句有两者的用法。
这里仅有登录的信息表,其他的触类旁通自己试试看。

2、Dao类的创建

在这里插入图片描述
依旧先建个包,这里的名字原本是只有dao的但是为了让你们知道是在那个包下面的,所以写了全称。
当然建dao还得建立实体类
同理
在这里插入图片描述
这里建立实体类,我们用到的只有User,其他的可以不用管
在这里插入图片描述
先把这些敲出来,这里是表里面的字段名,对着敲就行。
然后如图
在这里插入图片描述
做到这里就差不多了
然后是sql语句的创建

public class UserDao {
   
    //判断身份方法
    public int login_id(String user_num){
   
        //sql查询语句
//        String sql ="select user_iden from user_login where user_num =?"; //用mysql sql语句
        String sql="select user_iden from num_user where user_num =?"; //用视图的 sql语句

        Connection con = JDBCUtils.getConn();
        try{
   
            PreparedStatement ps =con.prepareStatement(sql);

            ps.setString(1,user_num);
            ResultSet rs = ps.executeQuery();
            int iden
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值