android的求职APP 前端+后端

一 项目名称

基于android的求职APP,包含前台和后台管理系统的,前端主要移动端,应聘者注册账号,然后登陆,完善自己的简历,然后根据自己的需要投递岗位,查看面试邀请,后台主要维护数据,企业用户发布职位信息,查看投递的用户,发送面试邀请等内容,管理员用户可以维护所有的企业,应聘用户,职位信息等操作。东西很多很实用,非常适合您开发,毕业设计,大作业的指导。

二 项目开发工具
android studio开发
idea或者eclipse开发
数据库mysql

三 项目功能实现
在这里插入图片描述
登陆页面主要用户名和密码,用户输入用户名和密码的时候,传递到后台,然后比较数据库里面用户 如果匹配成功,登陆成功,如果匹配失败登陆失败。

public void loginSys(View view){
        String username = loginNameEt.getText().toString().trim();
        String pwd = loginPwdEt.getText().toString().trim();
        ContentValues values = new ContentValues();
        values.put("username",username);
        values.put("password",pwd);

        if(TextUtils.isEmpty(username) || TextUtils.isEmpty(pwd)){
            Toast.makeText(this,"用户名和密码不能为空", Toast.LENGTH_SHORT).show();
        }else {
            createPresenter().login(username,pwd);
        }

    }

注册:
填写应聘者的信息,提交数据,发送请求到后台,后台接收处理 存储到数据库中。

@OnClick(R.id.regBtn)
    void saveUser(View view){
        //获取存入的内容-用户名
        String username = usernameEt.getText().toString().trim();
        //获取存入的内容-密码
        String pwd = pwdEt.getText().toString().trim();
        //获取存入的内容-电话
        String tel = telEt.getText().toString().trim();

        //获取存入的内容-邮件
        String email = emailEt.getText().toString().trim();
        if(TextUtils.isEmpty(username) || TextUtils.isEmpty(pwd)){
            Toast.makeText(this,"用户名和密码不能为空", Toast.LENGTH_SHORT).show();
        }else{
            UserEntity userEntity = new UserEntity();
            userEntity.setUsername(username);
            userEntity.setPassword(pwd);
            userEntity.setTel(tel);
            userEntity.setEmail(email);

            mRegPersenter.reg(userEntity);

        }
    }

首页:
主要展示企业发布的职位信息,页面采用ListView组件,然后加载后台职位数据
在这里插入图片描述

public class JobAdapter extends ArrayAdapter<JobEntity> {
    //资源id
    private int resourceId;

    private List<JobEntity> mJobEntityList;



    // 适配器的构造函数,把要适配的数据传入这里
    public JobAdapter(Context context, int textViewResourceId, List<JobEntity> objects){
        super(context,textViewResourceId,objects);
        resourceId=textViewResourceId;
        mJobEntityList = objects;
       
    }

    // convertView 参数用于将之前加载好的布局进行缓存
    @Override
    public View getView(int position, View convertView, ViewGroup parent){
        JobEntity jobEntity=getItem(position); //获取当前项的Words实例

        // 加个判断,以免ListView每次滚动时都要重新加载布局,以提高运行效率
        View view;
        ViewHolder viewHolder;
        if (convertView==null){

            // 避免ListView每次滚动时都要重新加载布局,以提高运行效率
            view= LayoutInflater.from(getContext()).inflate(resourceId,parent,false);

            // 避免每次调用getView()时都要重新获取控件实例
            viewHolder=new ViewHolder();
            viewHolder.jobnameTv=view.findViewById(R.id.jobnameTv);
            viewHolder.salaryTv=view.findViewById(R.id.salaryTv);
            viewHolder.companytitleTv = view.findViewById(R.id.companytitleTv);
            viewHolder.addressTv = view.findViewById(R.id.addressTv);
            viewHolder.numsTv = view.findViewById(R.id.numsTv);

            viewHolder.jobnameTv.setOnClickListener(new View.OnClickListener(){

                @Override
                public void onClick(View view) {
                    Intent intent = new Intent(getContext(),
                            JobDetailActivity.class);
                    intent.putExtra("JobEntity", jobEntity);
                    getContext().startActivity(intent);
                }
            });
            viewHolder.salaryTv.setOnClickListener(new View.OnClickListener(){

                @Override
                public void onClick(View view) {
                    Intent intent = new Intent(getContext(),
                            JobDetailActivity.class);
                    intent.putExtra("JobEntity", jobEntity);
                    getContext().startActivity(intent);
                }
            });


        

            view.setTag(viewHolder);
        } else{
            view=convertView;
            viewHolder=(ViewHolder) view.getTag();
        }



        viewHolder.jobnameTv.setText(jobEntity.getJobname());
        viewHolder.salaryTv.setText(jobEntity.getSalary()+"");
        viewHolder.companytitleTv.setText(jobEntity.getCompanytitle());
        viewHolder.addressTv.setText(jobEntity.getAddress()+"");
        viewHolder.numsTv.setText(jobEntity.getNums()+"");



        return view;
    }

    public void setData(List<JobEntity> jobEntities) {

        this.mJobEntityList = jobEntities;
        notifyDataSetChanged();
    }

    // 定义一个内部类,用于对控件的实例进行缓存
    class ViewHolder{
       TextView jobnameTv,salaryTv,companytitleTv,addressTv,numsTv;

    }


}

除了这些功能,还有很多相关的内容,比如企业发布职位,企业查看投递简历,还有企业发布邀请通知等
在这里插入图片描述
同时涉及权限操作,企业用户和管理员用户的差别。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/301574.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

听GPT 讲Rust源代码--compiler(34)

File: rust/compiler/rustc_middle/src/ty/print/mod.rs 在Rust源代码中&#xff0c;文件rust/compiler/rustc_middle/src/ty/print/mod.rs的作用是定义了打印类型和其他相关信息的功能。 具体来说&#xff0c;该文件中定义了三个trait&#xff0c;分别为Print<tcx>、Pri…

Java_特殊文件

一、属性文件 1.1 特殊文件概述 前面学习了IO流&#xff0c;知道IO流是用来读、写文件中的数据。但是接触到的文件都是普通的文本文件&#xff0c;普通的文本文件里面的数据是没有任何格式规范的&#xff0c;用户可以随意编写&#xff0c;如下图所示。 像这种普通的文本文件…

Selenium教程08:文件的上传+下载的示例练习

1.上传李白.txt文件&#xff0c;这里使用的send_keys方法操作&#xff0c;而不是click点击操作&#xff0c;因为使用点击操作之后&#xff0c;Selenium中没有方法对.exe程序操作&#xff0c;它只能对web网页自动化操作。 # Author : 小红牛 # 微信公众号&#xff1a;WdPython…

web前端开发技术复习问答题

目录 1.简述常见单标签和双标签有哪些&#xff1f; 2.常见块级元素和行级元素有哪些&#xff1f; 3.简述常见的列表有哪些&#xff1f;他们有什么区别&#xff1f; 4.简述超链接的href属性值如何设置&#xff1f;有什么区别 5.CSS基本语法 6. css中常见的引入方式有几种&…

AIGC-无人直播系统技术源头

AIGC-无人直播系统技术&#xff0c;作为当今科技领域的一项重要创新&#xff0c;正在引领着直播行业迈向更高的境界。那么&#xff0c;究竟是什么推动了这项技术的发展呢&#xff1f; 首先&#xff0c;我们不得不提到人工智能&#xff08;AI&#xff09;这一前沿技术的发展。随…

【数据库】CRUD常用函数UNION 和 UNION ALL

文章目录 一、CRUD二、函数2.1 字符函数 (Character Functions):2.2 数字函数 (Numeric Functions):2.3 日期函数 (Date Functions):2.4 流程控制函数:2.5 聚合函数: 三、UNION 和 UNION ALL3.1 UNION&#xff1a;3.2 UNION ALL3.3 注意事项 一、CRUD CRUD 是指数据库操作的四…

Qt/QML编程学习之心得:QProcess进程创建(27)

Qt除了线程Thread,进程也有支持类,那就是QProcess。 可以看出,这个类很大,支持的内容也很多。最简单的使用如: myParam << QString("-param hello") ; bool bRes = QProcess::startDetached("/usr/bin/myApplication", myParam);要启动进程,主…

Vue-4、单向数据绑定与双向数据绑定

1、单向数据绑定 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>数据绑定</title><!--引入vue--><script type"text/javascript" src"https://cdn.jsdelivr.net/npm/…

机器学习(四) -- 模型评估(2)

系列文章目录 机器学习&#xff08;一&#xff09; -- 概述 机器学习&#xff08;二&#xff09; -- 数据预处理&#xff08;1-3&#xff09; 机器学习&#xff08;三&#xff09; -- 特征工程&#xff08;1-2&#xff09; 机器学习&#xff08;四&#xff09; -- 模型评估…

springboot 物业管理系统

springboot mysql mybatisthymeleaf 基础信息管理 房屋信息 用户信息 业主信息 租房信息 公告管理 日常管理 财务管理

Linux环境vscode clang-format格式化:vscode clang format command is not available

问题现象 vscode安装了clang-format插件&#xff0c;但是使用就报错 问题原因 设置中配置的clang-format插件工具路径不正确。 解决方案 确认本地安装了clang-format工具&#xff1a;终端输入clang-format&#xff08;也可能是clang-format-13等版本&#xff0c;建议tab自…

qt-C++笔记之QProcess

qt-C笔记之QProcess code review! 文章目录 qt-C笔记之QProcess一.示例&#xff1a;QProcess来执行系统命令ls -l命令并打印出结果说明 二.示例&#xff1a;QProcess来执行系统命令ls -l命令并打印出结果&#xff0c;代码进一步丰富三.示例&#xff1a;使用 QProcess 在 Qt 中…

SQL 基础知识点

1. 数据库相关术语 数据库&#xff08;database&#xff09;&#xff1a;保存有组织的数据的容器&#xff08;通常是一个文件或一组文件&#xff09;。数据表&#xff08;table&#xff09; &#xff1a;某种特定类型数据的结构化清单。模式&#xff08;schema&#xff09;&am…

“数据要素×”正式来袭|美创“全栈能力、深入场景”保障数据价值安全释放

千呼万唤&#xff0c;1月4日&#xff0c;国家数据局等17部门联合印发的《“数据要素”三年行动计划&#xff08;2024—2026年&#xff09;》&#xff08;下称《三年行动计划》&#xff09;正式发布&#xff01; 作为国家数据局成立以来公开发布的首个重磅文件&#xff0c;《三年…

服务器迁移上云

一、服务器迁移上云 1、服务器迁移概念&#xff1a; 服务器迁移一般来说是将物理服务器从一个地点&#xff08;物理机房&#xff09;移动到另一个地点&#xff0c;或将数据从一台服务器移动到另一台服务器的过程。 物理服务器迁移场景&#xff1a; ● 机房搬迁&#xff1a;…

跨境电商企业客户服务优化指南:关键步骤与实用建议

随着全球经济一体化的加强&#xff0c;跨境电子商务产业在过去几年蓬勃发展。但是&#xff0c;为应对激烈竞争&#xff0c;提供全方面的客户服务成为了跨境电子商务卖家在市场中获得优势的关键因素之一。本文将介绍跨境电商企业优化客户服务有哪些步骤&#xff1f;以助力企业提…

图形化少儿编程的优点、现状以及未来发展趋势

随着科技的不断发展&#xff0c;越来越多的儿童开始接触编程。图形化少儿编程作为一门新兴的编程教育方式&#xff0c;越来越受到家长和教育者的关注。6547网将探讨图形化少儿编程的优点、现状以及未来发展趋势。 一、图形化少儿编程的优点 图形化少儿编程的最大优点在于其简单…

Unity | 渡鸦避难所-6 | 有限状态机控制角色行为逻辑

1 有限状态机简介 有限状态机&#xff08;英语&#xff1a;finite-state machine&#xff0c;缩写&#xff1a;FSM&#xff09;&#xff0c;简称状态机&#xff0c;是表示有限个状态以及在这些状态之间的转移和动作等行为的数学计算模型 在游戏开发中应用有限状态机&#xff…

(偏门)LINUX挂载硬盘等命令报错:READ FPDMA QUEUED

记录一个比较偏门的问题&#xff1a; 在linux中查看硬盘挂载情况&#xff1a; fdisk -l或创建分区&#xff1a; fdisk /dev/sdbgdisk /dev/sdb时报错&#xff1a; READ FPDMA QUEUED 或 WRITE FPDMA QUEUED 构建文件系统、挂载分区时还会卡死。 看网上的解决办法关闭NCQ&am…

2000-2022年上市公司过度负债数据(含原始数据+测算代码+结果)

2000-2022年上市公司过度负债数据&#xff08;含原始数据测算代码结果&#xff09; 1、时间&#xff1a;2000-2022年 2、指标&#xff1a;证券代码、年份、证券简称、行业名称、行业代码、制造业取两位代码&#xff0c;其他行业用大类、国企为1&#xff0c;否则为0、企业规模…