基于Android的招聘求职网站的设计与实现

毕业设计

基于Android的招聘求职网站的设计与实现

1.课题意义及目标

在二十一世纪求职方式跟以前是不同的,与在各个用人单位和招聘会上寻找理想的工作,基于安卓的招聘系统能够提供最好的最丰富及时的招聘信息。。

通过对该系统的研究设计,可以提高对设计的分析,编码和对文档书写规范的能力,也能更加有解决问题的能力。

2.主要任务

根据招聘求职网站中需求的制定需求分析。系统的主要功能可以分为求职者和招聘者发布信息获取相关信息。对招聘求职网站的特点进行分析,完成该系统的总体设计,从数据流和功能模块角度给出系统总体设计方案。根据总体设计分析进行详细设计,分模块依次实现系统功能。招聘者注册登录,发布求职招聘信息。求职者可以浏览、查询招聘求职信息,可以发布求职信息,招聘者可以发布查看招聘信息,同时可以查询自己需要的求职者个人信息。系统的客户端功能相对比较简单,可以实现基本的招聘功能。系统管理,查看求职者和招聘者的信息并处理。运用所学的基础知识,充分发挥自己创造力,独立完成设计及论文。设计文档包括有效程序,原程序清单等。按照软件工程测试方法与要求,对开发结果进行测试,记录测试用例。

3.主要参考资料

[1] 吴亚鹏.于复兴.杜化美.Android应用案例开发大全(第二版)[M].北京:人民邮电出版社,2013:2—10.

[2] 郭霖.第一行代码——Android[M].北京:人民邮电出版社,2014:127—137.

[3] 王雅宁.轻松学Android开发[M].北京:电子工业出版社,2013:16—33.

[4] 张思民.Android应用程序设计[M].北京:清华大学出版社,2013:216—231.

4.进度安排

序号

设计(论文)各阶段名称

起 止 日 期

1

查阅文献资料、提交开题报告

12月15日~12月25日

2

招聘网站系统需求分析

03月01日~03月24日

3

数据库设计

03月25日~04月10日

4

系统总体设计,并完成可视化交互界面的设计

04月11日~05月15日

5

功能模块实现

05月16日~05月11日

6

招聘求职系统测试

05月12日~06月01日

7

完成毕业论文及答辩工作

06月02日~06月22日

审核人: 年 月 日

基于Android的招聘求职网站的设计与实现

作者:李论 班级学号:112054212 指导教师:梁玲(副教授)李丽亚(助教)

摘要

现在,随着智能手机的迅速发展,网络招聘也随着使用网络者的增长而增长,更多的人用上网取代了他们以往的消遣方式。在休闲时刻,他们更乐于浏览网页,所以网络招聘有绝对的优势可以让更多的求职者选择这条求职方式。在今后的社会那将是网络的时代,所以网络招聘是不可替代的,最终将成为求职领域的主导。

本设计以MyEclipse为开发工具,使用Java语言作为后台开发语言,使用了MVC开发模式,开发与设计了本次的毕业设计。本论文基于Android的招聘求职网站,主要实现了求职者可以填写自己的简历。招聘者可以看到求职者的简历,也可以看到他们以往的工作经验,能够更加有利的选择自己的想要的人才。同样求职者也能够看到招聘者发布的信息,来选择自己想要的工作。还有管理人员可以查看他们的信息,同时也能够删除他们发现的不属实的信息。本设计实现了它的基本功能,在功能设计上基本实现了本次课题的需求,但是还是有所欠缺,有待完善。

关键词: Java,mysql,招聘系统,智能手机

Design and Implementation of Recruitment Job Site Based on Android

Abstract

At present,with the rapid development of mobile phone,online recruitment is also increasing with increase of online users,more people replace their way of http://entertainment.In their spare time,they are more willing to browse the web,so online recruitment has absolute advantages to make job seekers choose the way of seeking job.The future society will be the era of network,therefore,online recruitment can’t be replaced easily,finally,it is going to be the leading position of job search.

This system is based on the MyEclipse as a development tool,java as developing language and the module of MVC to design and implement the graduation project.This thesis is based on the android online recruitment,implementing mainly job seekers forming themselves resumes.Recruiters can see job seekers’ resumes,and information which is released by the job seekers,so they can find whom they want.Also,managers can check their information .In the same time,these managers can find unmatched information.This system implements its basic functions and it basically meet the needs of the article,but it is needed to improve.

Keywords: Java,mysql,recruitment system,mobile phone

目录

1概述11

1.1实施项目的意义11

1.2 国内外研究进展11

1.3论文的主要工作22

1.4前台开发工具22

1.4.1 Android的开发工具22

1.4.2 Android技术的软件44

1.4.3 Java JDK的安装55

1.4.4 eclipse的下载与使用55

1.4.5 Android开发工具的安装55

1.5数据库的特点性能66

1.5.1优化程序怎样工作77

1.5.2忽略优化88

2基于android的招聘系统的可行性分析1010

2.1 Android的技术可行性1010

2.1.1 android硬件可行性1010

2.1.2 android软件可行性1212

2.2 经济可行性1313

2.2.1网络招聘的特点1313

2.2.2网络招聘与传统招聘的优势分析1313

3 基于android招聘求职网站系统的需求分析1515

3.1用户需求1515

3.2性能需求1515

3.3系统要求1515

3.4系统需求分析1616

3.4.1系统的功能1616

3.4.2系统功能——用例图1717

3.5 用户需求1717

4招聘求职系统的设计1919

4.1招聘求职网站系统的概述1919

4.2招聘系统的主要功能1919

4.3招聘系统的功能设计2020

4.3.1前台管理2020

4.3.2后台管理2020

4.4管理功能的模块设计2020

4.5申请职位的过程2121

申请职位的过程如图4.3,详细的给出了如何申请职位。2121

4.6数据库表单设计2121

4.6.1数据库的作用2121

4.6.2数据库的优点2121

5招聘求职系统的实现2424

5.1服务器端项目实现2424

5.2服务端管理员的管理页面2525

5.3对求职者管理2626

5.4招聘求职网站客户端2727

6系统测试3232

6.1使用说明3232

6.2 测试环境3232

6.3 测试报告3232

6.3.1 功能测试报告3232

6.3.2 性能测试报告3636

7结论3737

参考文献3838

致谢3838

1概述

1.1实施项目的意义

最新的CNNIC数据表明,更高的学历的人群中已经有大多数的人接触使用网络了。面对着当今这市场和环境的需求,能够使得网络更加迅速的发展。也使得招聘网站更有它的开发和使用意义,它的意义主要是有广泛的应用性,在对市场的需求也逐步的成熟。求职者能够在招聘网站上找到自己满意的工作,招聘者也能找到自己想要的满意的人才。

现在经济不断的发展,生活的节奏也不断的加快,求职者的队伍不断的壮大。在传统的招聘对求职者来说是不利的,浪费了大量的精力在路上,而招聘者也是浪费大量的时间和金钱。所以越来越多的人选择了网上招聘,而手机端的招聘是最简单也是最方便的求职方式。

基于Android的求职系统是先进的科学技术和当今招聘相结合的产物,通过使用求职系统满足了求职者和招聘者双向的要求,多种信息让它统一的收集起来,网上招聘也不像以前那样的混乱,成功率也提高了挺多。

1.2 国内外研究进展

现在是网络时代,网络招聘迅速的发展并成为了重要的招聘方式,很多公司和个体都已经开始运用这种方式来解决求职问题。网络招聘使求职者和招聘者能直接的方便的联系,互联网不断的发展,中国上网人数也不断的上升,通过网络招聘的求职者也越来越多。在全国公务员和事业单位的招聘跟多也使用了网上招聘,这种招聘使每个求职者都能够更加详细的了解职位信息,对各个员工也能更加了解。

2010 年开始,各大招聘网站为了提高用户的支持,增加了对用户的免费使用,在个人方面,增加了简历阅读,对求职的分析等方面,这样使得招聘者和求职者可以更方便的联系,更早的联系,双方可以进一步的了解彼此。这些研究,也帮助了招聘网站度过了难关。

艾瑞咨询统计数据显示,09年已经有6500多万人使用网络求职,是08年的1.3倍,是中国上网人中的6.9%。艾瑞咨询分析,在接下来的很长时间内,招聘市场仍然有很多找不到工作的人,而网络求职的方便性更加吸引着求职者,10年到13年通过网络找工作的人数持续增加,13年将会超过8000万人。同时专家预测,在未来更加全面化统一化的网络招聘才能满足广大求职者的各种需求。

1.3论文的主要工作

网上招聘是以成本低、信息量大、招聘快、周期短获取了大多公司的青睐。当然,网上招聘也会出现信息的真实性和有效性不能保证、服务局限等缺点。本文所写的招聘系统是以方便为主,解决求职的个人问题。

该系统的主要功能如下:

(1)根据招聘求职网站中需求的制定需求分析。系统的主要功能可以分为求职者和招聘者发布信息获取相关信息。

(2)对招聘求职网站的特点进行分析,完成该系统的总体设计,从数据流和功能模块角度给出系统总体设计方案。

(3)根据总体设计分析进行详细设计,分模块依次实现系统功能。招聘者注册登录,招聘者可以发布信息。求职者可以查阅已有的招聘信息,可以发布求职信息,招聘者可以发布查看招聘信息,同时可以查询自己需要的求职者个人信息。管理员管理:查看求职者和招聘者的信息并处理。

1.4前台开发工具

1.4.1 Android的开发工具

Android的系统架构分为四个层,从高到低分别是应用层,应用框架层,系统运行库层,linux内核层,如图1.1

图1.1android的系统架构

(1)应用层(Application Level):

应用层主要是和用户进行交互的,用户能够看见并且操作一些应用,Google开发Android在应用层绑定一些应用,比如Email客户端、SMS短消息程序、日历、地图、桌面(Home)、浏览器(Browers)、联系人、电话(Phone)、通话内容等。这些都是可以通过java独立完成的应用。开发人员可以可以编写自己的程序,普通开发人员就是让更多的人使用开发人员的程序。

(2)应用框架层(Application Frameworks):

这是系统的重中之重,它表达了android的思想。应用框架层有很多的组件,其中活动管理器(Activity Manager)、窗口管理器(Window Manager)、内容提供器(Content Providers)、视图系统(View System)、包管理器(Package Manager)等也是尤为重要。对开发人员来说,框架层主要表现在sdk,它通过各种模块实现各种功能。应用框架中的模块、服务也可以被复用,知道了这个,才有更好的作品应用被开发出来。开发过程中常用到的基本框架组件如下:

活动管理(Activity Manager)总体来说就是个控制器,管理着应用程序的生命和导航。每一个Activity就是应用中的一个窗口。应用一般是通过Activity的交互构成的。

窗口管理(Window Manager),听名字就知道它是对所有启动的窗口进行管理。

内容提供器(Content Providers),对服务进行一种提供,这种服务可以共享程序之间的数据。

视图系统(View System),由Button(按钮),EidtView(文本框),TextView(标 签),List(列表)等组成,熟练的使用这些组件就可以创建用户交互界面。

包管理(Package Manager),对android内的程序进行管理。

除此之外,有框架组件,如资源管理(Resource Manager)、消息通知管理(Notification Manager)、位置管理(Location Manager)、电话管理(Telephoney Manager)等等。

(3)系统运行库层(Libraries and Android Runtime Level):

这层,是一些C/C++库,用来支持底层。包括Bionic系统C库,系统最底层的库、多媒体库(MediaFramework)、SGL(2D图形引擎库)、SSL(在TCP/IP之间,支持数据通信)、OpenGL ES 1.0、SQLite、、FreeType(位图bitmap和矢量图vector)。

(4)Linux内核层(Linux Kernel Level):

Android的Linux内核层。它是硬件和软件栈之间的抽象层。从软件栈方面来看,Linux内核就是“硬件”。内核层提供如下一些驱动:显示驱动(Display Driver)、键盘驱动(Keyboard Driver)、Flash内存驱动(Flash Memory Driver)、音频驱动(Audio Driver)、蓝牙驱动(Bluetooth Driver,基于IEEE 802.15.1)、照相机驱动(Camera Driver)、WiFi驱动、Binder IPC驱动(Android的一个特殊驱动程序,具有单独的设备节点,提供进程间通信)、Power Management(电源管理)[1]。

1.4.2 Android技术的软件

Activity,Service服务,Content Provider(内容提供者),BroadcastReceiver(广播接收器)构成了android的四大组件。

(1)Activity(活动)。Android中,最主要的就是activity,程序的都在Activity 中运行,开发者遇到的最多模块也是Activity。许多个activity组成安卓应用。Activity之间是可以相互联系和跳转的。在应用程序中可以运行的画面,都是Activity类的扩展。使用Views去创建UI来显示响应用户的行为。(2)Services(服务)。它也是android的组件,跟Activity 类似,但是它只能在后台运行,也可以其他组件交互。Service 是可以运行很长时间的一种程序,没有界面。

(3)Content Provider(内容提供者)。Content Provider 管理数据库的,可以对存储的数据进行共享。在Android中,要有严密的数据保护,除在sd中的其他的文件等数据都不允许直接访问。Content Provider主要用来管理和共享数据库。在应用程序之间它是首选。

(4)BroadcastReceiver(广播接收器)。在安卓中,Broadcast是传输信息的。而BroadcastReceiver 是过滤传输出的信息。可以用BroadcastReceiver 来于外部的时间相交互。

1.4.3 Java JDK的安装

在开发之前,需要对开发环境进行搭建和配置。其中JDK的的安装为:

(1)下载最新版本的JDK,下载地址为:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

可根据自己的系统需求选择相应下载。

(2)下完后直接点击安装按钮,最好不要安在有汉子的目录下边。

(3)JDK安装完成后,若是在命令窗口下运行和编译JAVA程序的话,则还需要对环境变量做一些设置,但我用eclipse作为JAVA开发环境,所以不需要设置环境变量。

至此,Java JDK安装完毕[2]。

1.4.4 eclipse的下载与使用

eclipse的使用方法为:

(1)下载最新版本的eclipse,下载地址为:

http://www.eclipse.org/downloads/

进入到下载,选“Eclipse IDE for java EE Developers ”点击下载。

(2)eclipse就不需要安装,下完解压后,点击eclipse.exe可以直接运行,在第一次运行时需要设置一个工作空间。

1.4.5 Android开发工具的安装

JAVA运行环境安装好之后,需要安装Android的相关开发插件,其方法为:

(1)SDK的下载和设置

根据自己的开发需要下载相应的SDK版本,下载地址为:

http://www.icewalkers.com/android-sdk/3693/releases.html

(2)下载完成后解压缩,打开eclipse,然后再eclipse的标题栏上依次选择:Window →Preference→Android,点击Browse,在选下载的SDK路径,然后再点击OK即可。如图1.2所示:

图1.2sdk的设置

(3)完成第(2)步之后再在eclipse标题栏上依次选择:Window →Android SDK

Manager,在的窗口中选择需要的Android包,也可以全选,如图1.3所示,以后如果需要更新Android开发包都可以到这里来更新。在这里可以找到你想要的安装包,可以安装你需要的安装包。

图1.3安装android包

上边这样开发工具就安好了,就是说所有的准备工作已经好了,就可以在eclipse里新建工程,之后在新建的工程里面开发就可以了。

1.5数据库的特点性能

MySQL用了索引来查询,也用了别的。如,如果发布下列查询,MySQL将非常快地执行它,不管相应的表有多大:

SELECT * FROM tb1_name WHERE 1= 0

在此情形中,MySQL考察WHERE 子句,要死识别不到符合的行,就不会继续搜索。从EXPLAIN 语句就能够了解,EXPLAIN 要求MySQL显示应该执行查询,实际却没有执行。要使用EXPLAIN,在SELECT 语句前放EXPLAIN 就行了,如下所示:

EXPLAIN SELECT * FROM tb1_name WHERE 1=

一般来说,EXPLAIN 返回很多的信息,有索引、连接类型和表中的行数估计等。

1.5.1优化程序怎样工作

MySQL优化程序查询有多个目标,主要目标是尽量使用索引,用最多条件的索引来排除最多的行。这样有可能达不到想要的目的,因为发出SELECT 语句的是为了找行,不是拒绝它们。所以这样工作的原因是排除行越快,找到想要的符合的行就越快。所以首先进行最具限制性的测试,查询就可以查询得更快。如果有个测试两列的查询,每列上都有一个索引:

WHERE coll = "some value" AND col2 = "some other value"

对相同的列进行比较。利用索引列比较的是那些相同的列。如CHAR(10) 和VARCHAR(10) 相同,和CHAR(12) 和VARCHAR( 12 )不同。INT 和BIGINT是不一样的。在MySQL3.23 版以前,列也是要使用相同的,要不索引是起不了仍和作用的。在3.23 这个版本后,对这方面不是那么的太严格了,但是相同的比不同的更有意义。要是比较的类不是同一种类型,可使用ALTER TABLE语句修改其中之一使它们的类型相配。

在进行比较的要让索引列单独起来。有些时候这是不能避免的,但大多时候只编写索引查询就可以了。下面的WHERE 子句说明了怎样进行这项工作。第一个代码是优化程序并将简化表达式4/2 为值2,通过索引快速地找到小于2 的值。第二行代码中,MySQL必须检索出每行的my_col 值,乘以2,然后将结果与4 比较。没索引可用,因为列中的每个值都要检索,以便能对左边的表达式求值:

WHERE my_col < 4/2

WHERE my_col * 2 < 4

让我们考虑另一个例子。假如有一个索引列date _ c o l。如果发布如下的查询,相应的索引未被使用:

SELECT * FROM my_tb1WHERE YEAR(date_col) < 1990

其中表达式并不将索引列与1990 比较,是将列中得出的值进行比较,所以一定要算这个值。所以 date_col 上的索引不能使用的。怎样解决?用一个文字日期就可以了,然后会使用改索引:

WHERE date_col < "1990-01-01"

要是没有确定的日期值,就可能会找到比较近的日期记录。有很多的方法来写这种查询但并不是都好的。三种可能的方法如下:

其中第一行不能利用索引,为了计算TO _ DAYS(date_col)的值,要对每行检索列。第二行就可以了,因为cut off 和TO _ DAY S ( CURRENT _ DATE) 是常量,所以他们的右边可以一次计算出来,就不需要每行都计算了。由于date_col 列是在一个函数中所以对索引没有使用。第三行就是最优的方案了。在表达式的右边本来可以一次算出来的常量,可是其值是个日期,所以就可以与date_col直接比较利用索引了。

在LIKE 模式的起始处不要使用通配符。有时,有的人会用下列形式的WHERE 子句来搜索串:

WHERE col_name LIKE "%string%"

如果希望找到string,这样不管他在什么地方都能找到。不要把在串的两边加%养成习惯。如果实际要查找的只是出现在列的开始处的串,则不应该要第一个“%”号。例如,如果在一个包含姓的列中查找“ Mac”起始的姓,应该编写如下的WHERE 子句:

WHERE last_name LIKE "Mac%"

优化程序考虑模式中开始的文字部分,然后利用索引找到相符合的行。不过宁可写成如下的表达式,它允许使用last_name 上的索引:

WHERE last_name >= "Mac" AND last_name < "Mad"

这种优化对使用REGEXP操作符的模式匹配不起作用。

1.5.2忽略优化

这可能听起来有点奇怪,但在以下情况中,要废除MySQL的优化功能:

强迫MySQL慢慢地删除表的内容。在需要完全删空一个表时,利用无WHERE 子句的DELETE 语句删除整个表的内容是最快的,如下所示:

DELETE FROM tb1_name

MySQL对这种特殊情况的DELETE 进行优化;它利用表信息文件中的表说明从头开始创建空数据文件和索引文件。这种优化使DELETE 操作极快,因为MySQL无需单独地删除每一行。但在某些情况下,这样做会产生一些不必要的负作用。

MySQL报告所涉及的行数为零,即使表不为空也是如此。很多时候这没有关系(虽然,如果事先没有思想准备,会感到困惑不解),但对于那些确实需要知道真实行数的应用程序来说,这是不恰当的[5]。

如果表含有一个AUTO_INCREMENT 列,则该列的顺序编号会以1从头开始。这是真实的事情,即使在MySQL3.23 中对AUTO_INCREMENT 的处理进行了改进后也是这样。关于这个改进的介绍请参阅第2章中的“使用序列”小节。可增加WHERE 1> 0 子句对DELETE 语句“不优化”。

DELETE FROM tb1_name WHERE 1> 0

这迫使MySQL进行逐行的删除。执行速度会很慢,但是可以知道实际删了多少行。它还将保持当前的AUTO_INCREMENT 序列的编号,不过只对MyISAM 表(MySQL3.23 以上的版本可用)有效。而对于ISAM 表,序列仍将重置。

避免更新循环不终止。如果更新一个索引列,如果该列用于WHERE 子句且更新将索引值移入至今尚未出超的取值范围内时,有可能对所更新的行进行不终止的更新。假如表my_tbl 有一个索引了的整数列key _ c o l。下列的查询会产生问题:

这个问题的解决方法是在WHERE 子句中将key_col 用于一个表达式,使MySQL不能使用索引:

实际上,还有另外的方法,将MySQL升级到比3.23.2 更高的新版本,这已经是被解决了的问题了。

以随机次序检索结果。自MySQL3.23.3 以来,可使用ORDER BY RAND( ) 随机地对结果进行排序。另一技术对MySQL更旧的版本很有用处,那就是选择一个随机数列,然后在该列上进行排序。但是,如果按如下编写查询,优化程序将会让您的愿望落空:

这里的问题是MySQL认为该列是一个函数调用,将认为相应的列值是一个常数,而对ORDER BY 子句进行优化,使此查询失效。可在表达式中引用某个表列来蒙骗优化程序。

2基于Android的招聘系统的可行性分析

2.1 Android的技术可行性

Android是google做的,在it领域google想做的任何东西,在仍和方面都没有问题,不论是在经济方面还是技术方面。Android原本指的是“机器人”,现在主要是作为软件平台和操作系统,是以Linux内核为基础的,最早也是由Google开发出来的,后来为了广泛的推广这门技术,Google和别的十多个手机公司联盟共同开发这门技术。

Android系统的前景相当好的,第一款有关android的手机是在2008年9月22日由美国运营商在纽约正式发布的,从此以后,又有不少的移动开发厂家看到了它的利益也都陆陆续续的加入了这个大的联盟之中,在平板电脑、笔记本、汽车等各个领域都用到了android的技术。现在android手机都广泛的应用开了,今后对android的需求也会更加的广泛,android将成为巨大的市场,会吸引无数的开发人员。

Google的目的就是让每位使用者可以在任何时候任何地方都可以从android系统看到资讯,这作为了他们今后发展的重中之重,也是他们要实现的最远大的梦想。自从Android软件开始运用后,新版本出现的特别迅速,差不多有半年的时间就会发布一个新的android版本。在Android1.0到2.2版本经历了十八个月,但这只是android的开始,永不停步,开发创新这是Google向大家做出的承诺,在今后我们将会看到在任何的领域都会有android系统不可替代的作用出现在之中。

2.1.1 android硬件可行性

通过前两天对Android的Linux平台以及启动过程的初步学习,我认为android不只是可以单独的用在手机平台上,经过它的框架和结构,我觉得android这门技术可以应用在所有的移动设备上,或许开发出比现在更好的框架都有可能。Google内部也是这么说的,我们的目标就是,在各个移动平台设备上都可以看到我们发布的功能强大的平台。这是可以理解的,Google就是这样,它的每个策略都比常理要更进一步。不推出专属的硬件,而是一个通用的移动设备的软件平台,使Android可以更方便的快速占领手机操作系统的市场,而最终可以达到的份额也会非常的可观。

当然,这都是后话了,group上这几天的焦点话题就是,我们如何让Android在现有的硬件平台上跑起来,而不是仅仅用模拟器来模拟它。

从Android现有的开源情况看,所有的hacking已经有一个比较明确的指导方向了,就是依靠Benno最先放出的方法来hack各种 image并分析一些东西,从我之前的两篇文章也可以看出大致步骤。我们现在能够得到的东西,有ramdisk image,system image,data image还有open source的Linux kernel。所以,所有的工作都应该从这几个东西入手。

先看看kernel部分。因为Android是基于Linux的,所以任何移植平台都要允许Linux,对于尝试阶段的我们来说,最好是找一款默认就是采用Linux操作系统并提供完善的develop environment的设备,这样,我们只需要找出Google提供的Linux 2.6.23 kernel和现有的kernel有什么不同,把所有需要的修改做成patch,patch到现有系统上,就有可能成功移植整个Android,无须重新编译Google的Linux 2.6.23 kernel,然后绞尽脑汁想怎么port到某个设备上。先下载一个standard Linux 2.6.23 kernel,然后使用命令

diff -ruN linux-2.6.23/ Google-linux-2.6.23/ >lk.patch

打开lk.patch,God,有3万多行。仔细分析一下,大部分都是和Qemu以及goldfish有关的。我们要做的事情,是让Android 在真实平台上跑起来,所以不管是用于虚拟处理器的Qemu还是SDK模拟的硬件平台Goldfish,都不是我们所需要的,因为想让它在真是的硬件平台上运行,所以在patch都把它们去掉。恩,说实话,是一个很麻烦的事情,你要分析又30000多行的patch阿……不过里面有一超长段是关于yaffs 的补丁,如果你目标平台所带的内核已经支持yaffs了,就没必要要了。这是修改后的patch ,放在googlepages上的,要是哪天又被和谐了也没有办法。

下一步,就是让打了Android patch的内核运行在你的目标硬件上,具体步骤是和不用硬件的开发环境相联系的。当然,还需要导入Android的rootfs以及filesystem。将他们用mkfs.jffs2构建成jffs文件系统即可。

需要注意的是,这个合适的硬件平台是需要挑选的,看看Android模拟器里面的信息:

# cat /proc/cpuinfo

Processor : ARM926EJ-S rev 5 (v5l)

BogoMIPS : 331.77

Features : swp half thumb fastmult vfp edsp java

Google默认的是ARM926EJ-S核心。这就在一定程度上限制了我们能够port的平台选择,Benno曾经试验在Openmoko上移植Android ,最后失败了,原因就是ARM926EJ-S采用的是ARMv5TEJ指令集,而Openmoko的ARM920T采用的是ARMv4T指令集。所以,不仅仅是需要能运行兼容EABI的Linux的设备那么简单。

2.1.2 android软件可行性

(1)开放性

这是android的优势,在Android平台它的开放性是最显著的,任何的移动厂家都可以可android联盟开发想要的平台。这样android就会有拥有不断增多的开发人员,由于用户和应用的大量增长,就算想android这样的刚出道的平台也会在不久走向成熟。开放性给Android带来了巨大的优势,帮助他积累了不同的消费者和厂商的,这对于它的发展有不可替代的影响,在消费者看来,他们受益于开发的各个软件,让他们享受其中的乐趣。巨大的竞争将会在开放的平台展开,而这样受益的将会是消费者,可以用更低的家和来买到想要的手机。

(2)挣脱运营商的束缚

在以前,又其是在欧美地方,手机要接什么网,要有什么功能旺旺都受到运营商的限制。但是在iphone上市以后用户就更加方便的连接网络。在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。自从iPhone上市,用户可以更加方便地连接网络,减少了制约。在2G和3G移动网络的提升和过度的过程中,手机可以更随意的介入网络了。

(3)丰富的硬件选择

这个特点还是与android的开放性息息相关,具有开放性的Android,各种不同的厂家会推出各种不同的,功能也要不同的多个不同的产品。在应用功能上的不同和特点,一点也影响不到数据同步,也不会影响然间兼容。就像你原来用的是诺基亚现在用的是苹果,但是你还能吧诺基亚中优秀的好用的软件带到苹果中使用,上边的信息比如联系人等也可以很方便的转移。

(4)不受任何限制的开发商

Android平台吧宽泛、自由的环境提供给了开发商。所以由不同的开发商开发不受到各种调节的制约,想想就知道有特别的新颖的软件会不断的诞生。可是任何事情都是两面的,android也有,有暴力,血腥等方面的所以今后要努力让android走向正路。

(5)无缝结合的Google应用

到现在,google已经不知不觉的走了10年了,从以前到现在android平台结合了各种优秀的google服务,在地图、邮件、搜索等方面已经步入了互联网的重要地带,同时也成功的连接了用户。

2.2 经济可行性

2.2.1网络招聘的特点

网络招聘最大的有点就是能够让招聘者和求职者更加方便的进行交流,省去了以往招聘的繁琐。网络招聘有重要的三个特点:

(1)能够包含的信息比较大。网上的信息是最大的,可以更加方便,快速的更新各种信息。根据相关了解,有很多的网站每天在网上发布区的信息可以达到上万条。再加上一些比较出名的网站,职位信息不断的更新求职者就可以看到每家公司的招聘信息,了解他们的空缺,来争取自己的工作和职位。更加方便了求职者的查阅。

(2)方便,快捷。招聘者和求职者都省去了在招聘会的劳神费力,在家或者单位就可以完成求职。求职者可以编写自己的简历投入公司,公司招聘者可以浏览你的简历,这样就有很多的机会找上自己,没有时间和空间的限制,是网络的最大优势,就算在不同的地方,求职者和招聘者也可以进行交流沟通,也可以跨地域网上招聘。

(3)经济实惠。用人单位不需要花费很多钱来开办招聘会,个人也省了很多的麻烦,也省了很多的金钱。这样最大的受益者就是求职者省去了在路上的时间,也省去了简历的制作费。在网上你可以投各种简历,让多个企业共同的查看,现在上网费用也非常低,真是省时省力的平台。

2.2.2网络招聘与传统招聘的优势分析

与传统招聘相比,网络招聘对于企业的优势:

(1)招聘信息保存时间比较长。在媒体上或者报纸上发布的招聘信息,每天的只能看到一天时间,时候如果没有招到人即使招聘有效人们也不想观看了,而在招聘网站中的招聘信息,从发布那天就可以一直被人浏览一直到企业找到合适的工作人员为止,都是有效的。

(2)收取的费用比传统的要低很多。在网络招聘中所要收到的费用是很低的,跟在媒体上发布招聘信息相比较,费用低的不是一星半点,在比较现场招聘,费用也低了很多,况且用上那么多钱,企业也只可以在招聘现场等着人们去面试等,这样也节省了时间。

(3)有更多的机会。对用人单位来说,网络招聘可以让跟多的人看到,不管是本地的还是外地的,这样可以找到跟家合适的,适合自己企业发展的人才,提高了企业找到优秀人才的机会,同时可以更加方便的对在线简历进行分类管理,数据统计,真是这些优点使得有更多的企业青睐网络招聘。

种种的有点使得招聘单位跟乐意在网上招聘,同时网络招聘还对个人有不可小觑的作用优势:

(1)方便快捷。求职者只需要在网上发表个人简历就只需等待该企业的信息就行了,如果天剑允许的话还能主动一点,找公司自己谈。网络不断发展,它的高效性可以让求职者在不用出门就恩能够对工作的种类地方,只恩呢该工资等了解的清清楚楚,并且可以每天看到各种不同的招聘信息。

(2)可供选择的机会大。由于网络招聘的招聘信息量大所以求职者可以选择各种不同的职位,在选择适合自己的机会就会很大。

(3)没有地域和时间的限制。像以前的那种在现场招聘的招聘会不是每天都有的,而且现场招聘还浪费时间,而网络招聘没事时间和地域的限制,求职者可以更好的,更长久的来寻找自己想要的工作,创造更多的机会,省却了大量的时间,解决了现在大多数人们的困扰。

(4)可以省去大量的费用。像以前现场招聘的企业,他们通常也会在网上发布招聘信息,,这样你就可以省去大部分的简历费、交通费,也能够省去现场拥挤的场面,可以更加明确自己想要的工作。

种种的利益,网络招聘成为了现在的主流。

3 基于android招聘求职网站系统的需求分析

3.1用户需求

首先设计要简单大方,界面的漂亮是最重要的,这样才可以让人的眼球放光,让人们有用这个系统的渴望。本设计可以让急于找工作的人恩更加方便的查看自己想要的工作,并根据自己的需求来寻找工作。

本系统可以让求职者根据自己的需求来查看已有的工作类型和职位,也可以使招聘者查看已投放的人才的简历,查看他们的工作经验。根据各自的需求来找到自己需要的工作(人才),解决更多人的就业问题。

3.2性能需求

(1)安全性

登录本系统需要通过注册,输入用户名和密码才可登录,保证用户一定的安全性。

(2)方便性

本系统可以在智能手机上运行,可以通过进行简单的操作来查看职位信息和人才信息,更加方便的解决了求职问题,避免了以往不必要的麻烦。

(3)可维护性

系统主要使用了java语言,在程序出现问题可以及时的解决,提高了系统的维护性,使系统可以正常,稳定的运行。

(4)操作简单性

该系统对用户来说,操作简单,凡是会使用智能手机就可以使用该系统,操作的简便性会使得它有大量的使用者。

3.3系统要求

(1)用户系统

①没有注册过的用户不能够登录系统。

②新用户可以通过注册来获取用户名密码登录系统。

③登录进入的用户,求职者可以查看已有的工作,招聘者可以也能够查看已投放简历的求职者的资料。

④用户可以进入系统,详细的填写自己的信息,对招聘者和求职者他们双方可以通过网上的介绍来了解对方,进一步解决自己的问题。

(2)管理系统

①管理者可以登录进入服务端的界面。

②管理员可以查看用户的招聘状况和求职状况。

③管理员能够删除那些信息不属实的用户的信息。

④管理员能够修改自己的登录密码,查看求职者的审核状态。

3.4系统需求分析

3.4.1系统的功能

在功能方面主要包括客户端和服务端,客户端有两个用户,分别是招聘者和求职者,可以注册登录系统,管理各自的信息,求职者能够投放自己的简历,更改自己的信息,查看已有的职位信息,同时招聘者可以发布招聘信息,及时更新自己的职位信息,让各个招聘者浏览同时申请自己的职位。用户使用两个登录界面,分别是招聘者使用的界面和求职者使用的界面,但是他们可以互相看到对方及时更新的内容,也能够通过比较选择自己所需要的。

具体分类如下:

(1)用户模块

①求职者需要注册登录,求职人员对系统的登录注册来进入系统。

②招聘者需要注册登录,注册账号,公布职位信息,审核申请。

③求职者可以注册信息,让招聘人员浏览。

④管理人员能够管理信息,发布招聘信息,审核申请状况。

(2)管理模块

①管理人员的登录,能够修改管理密码,管理信息。

②管理人员可以删除那些不属实的信息。

③管理人员可以查看求职者的信息。

④管理员也可以查看招聘者的订单情况。

3.4.2系统功能——用例图

基于android的招聘求职网站,主要分为了客户端和服务端,客户端可以输入数据通过服务端使的双方都可以看到对方发布的消息。

功能的整体布局如图3.1,它清楚的表明了各个部分的功能和作用,列出了每一部分具体是干嘛用的,分清楚了用户和管理人员的基本情况。

图3.1整体功能用例图

3.5 用户需求

招聘者和求职者通过注册填写自己的基本信息和选择职位,招聘者通过网上的基本了解来决定是否先聘用求职者,接下来在进行连相互联系决定是否选择对方。

招聘者的基本需求如图3.2

图3.2招聘者的功能用例图

求职者通过对职位信息的查看来让招聘者选择自己。基本功能如图3.3

图3.3求职者的基本功能用例图

用户的需求是最重要的,一定要满足用户的需求,因为这个主要就是让用户来使用的,用户用的满意才能表现出改系统的优点。

4招聘求职系统的设计

4.1招聘求职网站系统的概述

招聘系统的信息是双方提供的,只有实现它的价值才能成为它存在的理由。作为一种服务类,求职者和招聘者再加上中介的对各种人才需求,信息的高效性和方便性推动了招聘系统的产生。对于招聘者来说,寻找合适的具有一定技能的人才也推动了招聘系统的发展。

4.2招聘系统的主要功能

(1)求职者信息管理功能,主要是对求职者的信息进行处理。

(2)招聘者的信息管理功能,主要是对发布公司的招聘信息处理。

(3)在线招聘功能。

(4)管理者信息管理功能,主要是可以对求职者和招聘者发布的信息进行处理,解决他们之间的一些问题。

主要功能图如4.1

图4.1主要功能图

4.3招聘系统的功能设计

4.3.1前台管理

用户注册:用户可以通过手机端来注册账号登陆系统。

人才信息:求职者可以填写自己的信息让别人来查看。

职位信息:管理员对职位进行分类让用户进行选择。

4.3.2后台管理

分类管理:主要是对各种不同的职业进行的分类。

求职者管理:用来管理求职者的信息,可以查看求职者应聘的审核状况。

用户管理:可以添加和删除用户的信息。

订单管理:招聘者聘用求职者的信息可以在这里查看。

管理员信息:可以更改管理员的信息。

系统功能如图4.2

图4.2系统功能图

4.4管理功能的模块设计

系统分为管理员、求职者和招聘者,他们可以进行注册和登陆系统,运用各自登陆系统的功能来完成自己想要进行的工作。

招聘求职系统信息管理

管理员:可以修改自己的登陆密码,对求职者信息的审查和删除,对求职者的应聘状态进行审核。求职者:可以添加、删除和修改自己的信息,可以查看招聘者发布的信息。招聘者:可以添加更改自己职位的信息,也可以查看求职者的信息。

4.5申请职位的过程

申请职位的过程如图4.3,详细的给出了如何申请职位。

图4.3申请职位过程图

任何的求职者必须得注册登录才能浏览到相应的职位,才能选择职位,申请应聘相应的职位。

4.6数据库表单设计

4.6.1数据库的作用

主要是用于数据交换。如会员注册信息,新闻信息等,就是放在数据库。说白了数据库就是像仓库一样,里面的货就是数据。

4.6.2数据库的优点

①综合统一。

②高度非过程化。

③面向集合的操作方式。

④以一种语法结构提供多种使用方式。

⑤语言简洁,易学易用。

下边是我创建的数据表分别用来存储不同的信息:

表4.1是管理员的信息表,设置了管理员的登录名和登录密码,也设置了管理员的id在表中可以清楚的看到表的中各个数据的数据类型,长度。

表4.1管理员信息表

列名

数据类型

长度

小数点

允许空

id

int

11

0

1

Admin Name

varchar

255

0

password

varchar

255

0

表4.2是求职者信息的数据表,分别设置了id、名字、密码、性别、年龄、身高、照片、学历、薪资、证书等一系列的信息,可以对求职者进行详细的了解,通过这个表把求职者的信息全部都可以在服务端显示出来。

表4.2求职者信息表

列名

数据类型

长度

小数点

允许空

id

int

11

0

1

Name

varchar

255

0

password

varchar

255

0

Gender

varchar

255

0

Age

int

11

0

height

int

11

0

photo

varchar

255

0

edu

varchar

255

0

salary

int

11

0

cert

varchar

255

0

jobDetail

varchar

255

0

experience

varchar

255

0

remark

varchar

255

0

regDate

datetime

0

0

isDeleed

varchar

255

0

check

varchar

255

0

typeid

int

11

0

表4.3订单数据表,有服务,服务时间,服务地点等,也有对求职者的评价等信息,还有orderinfoid和orderuserid通过id使得求职者和招聘者联系起来,能够实现他们相互选择彼此的功能。

表4.3订单信息表

列名

数据类型

长度

小数点

允许空

id

int

11

0

1

service

varchar

255

0

serviceTime

varchar

255

0

address

varchar

255

0

remark

varchar

255

0

score

varchar

255

0

detail

varchar

255

0

complaint

varchar

255

0

orderInfoId

int

11

0

orderUserId

int

11

0

check

varchar

255

0

表4.4这是对职位信息的分类表,有工作的类型和介绍,在求职者注册信息和招聘者查询求职者的时候可以选择不同种类的工作进行求职和查询,这样能更加方便的查到需要的人才和工作。

表4.4分类信息表

列名

数据类型

长度

小数点

允许空

id

int

11

0

1

Name

varchar

255

0

detail

varchar

255

0

表4.5这是招聘者的信息表,存储招聘者的名字、密码、电话,在服务端详细的列出来,更方便的查看招聘者的信息。

表4.5招聘者信息表

列名

数据类型

长度

小数点

允许空

id

int

11

0

1

Name

varchar

255

0

password

varchar

255

0

telephone

varchar

255

0

5招聘求职系统的实现

5.1服务器端项目实现

服务端实现的界面登录界面如图5.1,管理者通过此界面来进入管理页面,在进行接下来的操作

图5.1服务端登陆界面图

这个界面是管理员登录的界面,用户在该页面填写自己用户名和密码信息后发送给后台接收后,后台将这些信息与数据库中的信息比较,得出是否存在该用户名,如果不存在则提示,如果存在则比较用户名所对应的密码是否正确,正确则登录,失败则返回登录页面。这是管理人员登录界面的核心代码:

/**

* 登录匹配

* @return

*/

public String findLoginAdmin(){

try {

String loginAdminHql = ParseDB.getQuery("FIND_LOGINADMIN", Admin.class, loginAdmin.getAdminName(), loginAdmin.getPassword());

List<Admin> adminList = this.adminService.find(loginAdminHql);

if(0 < adminList.size()){

this.session.put("loginAdmin", adminList.get(0));

return "success";

}else{

this.request.setAttribute("failure", "登录用户不存在,请重新输入!");

return "failure";

}

} catch (Exception e) {

e.printStackTrace();

return "error500";

}

}

5.2服务端管理员的管理页面

这是服务端管理者对自己登录密码的修改,可以更该自己的登录密码。管理员可以通过管理信息来新修改自己的密码,具体实现:用户在页面添加修改的信息,点击修改提交表单,后台获取该表单内容,并通过姓名查找到该条记录,并掉用修改的方法修改数据库中的信息。更改界面如图5.2。具体修改代码如下:

public String toUpdateAdmin(){

try{

if(false == this.findAdmin()){

return "nosession";

}else{

loginAdmin = (Admin) this.session.get("loginAdmin");

return "toUpdateAdmin";

}

}catch (Exception e) {

e.printStackTrace();

return "error500";

}

}

图5.2管理界面图

通过把正确的管理员用户名密码更改后就可以用修改以后的密码来登陆。

5.3对求职者管理

对求职者管理的页面如图5.3,通过这个界面可以看到一投放的求职者的信息,也可以看到他申请的工作的审核状态,在必要时如果发现他的信息不符合实际还可以删除他的信息,具体实现:主页面实现后台查询职者表中的数据,jsp页面通过foreach标签将这些数据的集合显示到页面。

图5.3求职者管理界面图

管理员登录后可以在这个网站看到一些已经填写信息的求职者的一些信息,可以看到他们的详细资料,可以筛选出那些不合格的进行删除,也可以审核他们的应聘状态。如图5.4对职位的分类,具体实现:点击增加,跳转到填写表单的页面。当输入信息点击保存时,提交表单后台接收并调用Dao层中添加的方法,保存该条记录。跳转到添加页面代码:

public String toAddType(){

try{

if(false == this.findAdmin()){

return "nosession";

}else{

return "toAddType";

}

}catch (Exception e) {

e.printStackTrace();

return "error500";

}

}

5.4分类管理页面图

5.4招聘求职网站客户端

图5.5招聘者登录界面图

如图5.5,这是在客户端的招聘者的登录界面,招聘者可以通过这个界面进行注册登录来进入此系统,通过把注册的信息用DataProcess testAction传给服务器,在等待服务器将name与数据库进行比较,如果没有这个name那么返回数据mull显示数据库没有这个信息就可以注册成功,然后在进行接下来想要的操作。

下图为这是招聘者登录进入系统后,选择要聘用的职位,通过条件点击查询按钮,将数据传送给后台服务端,在数据库t_info中进行搜索,选择满足条件的数据通过服务端返回到客户端,这样就可以显示满足条件的求职者供招聘者选择。如图5.6

图5.6查询求职者界面图

如图5.7,对已有的一些求职者发布的信息进行查看,通过浏览他们的基本情况来决定是否聘用他们。点住他们的信息等几秒钟,就能弹出查询与聘用的界面,可以查看他们的工作成绩和评价,同时也可以聘用他们,在选择聘用后,跳到填写具体工作的页面,填写完后,点击提交按钮,数据会发送的后台,后台通过对数据的处理,在后台数据库中存入数据,同时把成功匹配的招聘者和求职者返回到客户端,求职者登录系统也能看到自己被那家录用,通过留言来联系进行进一步的面试或者其他。

图5.7查询与聘用界面图一

这里还可以看到他们在以往的工作中的经验和招聘单位对他们们的评价如图5.8,点击查看,这个请求就会从客户端传送的服务端,服务端在查询数据库,通过表t_order查到有关这个招聘者score、detail、和complaint通过tomcat数据传送把数据库的信息在返回到客户端来实现查询的功能。通过别人对他客观的评价可以看出他的工作是否认真,能否对他的工作能力给以肯定这是聘用要的重要的参考点之一。

图5.8查询和聘用界面图二

这是对求职者工作经验的评价界面从这里可以看到该求职者在以往的工作中工作的基本情况,通过各个用人单位的评价,招聘者可以很直观的看到该求职者的工作热情和技术,有利于聘用的选择。

如果决定了聘用的求职者,可以添加到我的聘用中如图5.9和5.10,这样就知道我的工作暂时是定下了让谁来应聘这份工作。填好信息后,点击添加,客户端想后台发送一条信息,通过招聘者和求职者的id是使他们配对,显示哪个工作由哪个招聘者和求职者预定,在服务端的列表中将他们显示出来。

5.9添加界面 5.10我的聘用界面

下边是介绍求职者的系统,登录界面跟招聘者的界面相同,进入了求职者的应用方面,如图5.11,这是求职者注册信息的界面,这里可以使求职者详细的介绍自己信息,如用户名、年龄、性别、身高、获取的证书、毕业学校,以及自己擅长的工作等,都可以在这里写出来。同样注册也是将他的信息找到后台的ip,在把参数发给后台,后台接收后查看数据库中是否有同样的消息在将数据返回到客户端,这样实现注册的功能。

对求职者的信息,写的越具体就会有更多的招聘单位来浏览你的信息,通过查看你的信息来看是否有你可以胜任的工作,这样能找到工作的机会就会大很多。实现注册的原理跟招聘者注册的原理相同。

图5.11求职者注册界面

跟招聘者一样,求职者也有共同的设计特点,他们也能够查看已有的工作信息,在决定自己想要申请的工作,这里也有我的聘用,来查看我已经被聘用的的工作,如

图5.12

图5.12求职者的聘用

这样更能方便的看出求职者已经被聘用的的工作。

6系统测试

6.1使用说明

(1)测试的目的主要是对软件测试计划的测试项目给出具体的测试结果。它是系统开发最重要的环节之一。

(2)定义:

①静态测试:主要有查阅、检查。

②单元测试:组装测试、单元测试。

运行于Windows 7旗舰版32位 操作系统。

测试分辨率:1366*768。

(4)默认浏览器:360安全浏览器

(5)系统默认管理员、密码如表6.1:

表6.1默认管理员

用户名

密码

admin

123

6.2 测试环境

(1)运行环境:Windows 7旗舰版32位操作系统

(2)数据库:MySql

(3)测试浏览器: 360安全浏览器

(4)开发工具:MyEclipse8.5 Eclipse

6.3 测试报告

6.3.1 功能测试报告

表6.2功能测试记录

编号

功能名称

功能描述

输入

输出

测试用例

发现问题

测试结果

测试时间

1

登录

管理员登录系统

用户名和密码

进入管理系统

用户名:admin密码:123

2015/5/25

2

注册

注册为招聘者和求职者

用户名密码等

进入登陆界面

用户名: 密码:

2015/5/25

3

职位管理

招聘职位信息管理

职位信息

添加相应的职位

新增职位

2015/5/25

4

招聘者管理

招聘者信息管理

招聘者信息

增加相应的招聘者

新增招聘者

2015/5/25

下图是管理员登录错误的运行结果,如果没有用户就会出现这个错误。

图6.1登录错误图

下图是用户注册错误图,注册已有的信息出现的反馈信息。

图6.2用户注册错误图

下图是注册成功的界面,注册成功后反馈的信息。

图6.3注册成功图

下边的三幅图片是来展示管理员职位添加

图6.4增加图

图6.5增加图

图6.6增加图

下边的三幅图是来表示增加招聘者信息的的

图6.7添加招聘者图

图6.8添加招聘者图

图6.9添加招聘者图

6.3.2 性能测试报告

表6.3 性能测试记录

编号

性能名称

性能描述

输入

系统响应

输出

发现问题

测试结果

测试时间

1

检查资料的规范性

检查输入,修改,删除资料的正确性

输入数据信息

在0.1秒内做出检查

信息是否规范

2015/5/25

2

资料录入,输入,修改数据库

在数据中录入,修改删除相应的资料

输入要操作的数据

0.5秒内对操作做出响应,并实现操作

输出提示信息

2015/5/25

3

资料查询

在数据中查找需要的内容

输入要查询的数据

1秒内列出所有的查询信息

所有符合要求的记录

2015/5/25

7结论

从开学三月份到现在,有三个多月的时间,这三个月的时间是我在大学里度过的最充实的时间,在这段时间里我经过努力完成了我的毕业设计,在大学里完整地画上了句号。在这三个月中,我完成了我的毕业设计基于 Android的招聘求职网站,我感受到了知识的力量,也感受到了学到知识的那种快乐。我的设计灵感来源于网上的招聘求职网站,在此前,我从未感觉到这个设计会有什么优点是可以作为今后发展的根本的,可是现在我干肯定今后的招聘将是手机招聘的天下。

在基于Android的招聘求职系统中,实现了招聘者和求职者的同步性,他们可以在手机上看到对方发布的消息,招聘者可以看到求职者投放的简历,通过审查各个调节决定是否进行下一步的选拔,求职者也可以通过手机来看到各个招聘单位发放的各个职位的信息,通过对每个工作的浏览,最终决定选择自己想要的工作。他们同时可以由管理员来管理他们的信息。系统实现了求职的功能,它的设计决定了它的操作方便,简单,可以这么说只要拥有智能手机就可以随时随地的找工作。

但是由于技术的原因,这个系统还存在这缺陷,不能让用户之间直接在网站上联系,也不能够比较完善的归纳出所有的职位信息,也不清楚是否会满足想要使用这个系统的用户的需求,种种不确定都需要今后更加努力的解决,完善。

参考文献

[1] 吴亚鹏,于复兴,杜化美.Android应用案例开发大全(第二版)[M].北京:人民邮电出版社,2013:2—10.

[2] 郭霖.第一行代码——Android[M].北京:人民邮电出版社,2014:127—137.

[3] 王雅宁.轻松学Android开发[M].北京:电子工业出版社,2013:16—33.

[4]马丽,李平.信息管理系统开发中的需求管理过程实践[J].微计算机信息,2006(30):76-78.

[5]林元元.JDBC连接MySQL数据库的方法浅析[J].长沙通信职业技术学院学报,2009(01):27-30.

[6]兰旭辉,熊家军,邓刚.基于MySQL的应用程序设计[J].计算机工程与设计,2004(03):442-443.

[7]张秀玲.利用Java技术开发Java数据库应用系统[J].西北煤炭,2003(01):47-49.

[8]潘晋明,郑纪蛟,曹世和.JDBC──Java数据库接口及应用[J].计算机工程,1998(01):3-5.

[9]Carmen Delessio,Lauren Darcey,Shane Conder.Android应用开发入门经典[M].第3版.北京:人民邮电出版社,2014:2-7.

[10]靳岩,姚尚朗.Google Android开发入门与实战[M].北京:人民邮电出版社,2009:1-12 .

[11]Dautenhahn.Kerstin.Methodology and themes of human-robot interaction: A growing research field[J]. Apress:International Journal of Advanced Robotic Systems,2007: 103-108.

[12 Mehran Sahami. Programming Methodology[M].Apress:the Expert’s Voice, 2008:4-12.

[13]Julie Zelenski.Programming Abstractions[M].Apress:the Expert’s Voice,2010:3-16.

[14]Haseman Chris.Android Essentials[M]. Apress: the Expert’s Voice, 2009:8-22.

[15]DiMarzia Jerome.A Programmer’s Guide[M].McGraw-Hill:the Expert’s Voice,2008:4-11.

致谢

经过这么长时间的努力,终于完成了我的毕业设计,这是我在大学中度过的最有意义的一段时间,我学到了很多的知识,虽然遇到了很多的困难,但是经过老师同学的帮助还是坚持了过来,付出就会有回报,只要努力去解决遇到的问题,成功就会跟你微笑。

在这里首先要感谢我的指导教师李丽亚教师对我的教导,没有她的指导,我想我很难完成我的毕业设计,也许就像平时交报告那样,随便的蒙混过关了。您每天都那么忙,还要上课,但是您每星期都坚持见我们、教导我们,对我们的设计进行细心的指导,指出我们的不足,督促我们努力的完成任务。在此我想对您说声:谢谢了您了,您辛苦了。同时您的认真给了我强大的力量让我完成我的设计。同时也感谢我的同学对我的帮助,没有你们的帮助,我也完成不了我的毕设,谢谢你们。

想到我就要毕业了,心中有莫名的酸楚,养育过我的校园,关心我的老师,陪我经历过的同学,一个都不想离开你们,我只想说:我爱你们。把我的快了留下,让记忆陪我慢慢前行。我会想你们的。

最后送上我最真诚的祝福。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

互联网中的web3.0和gpt有何联系?

文章目录 ⭐前言⭐web 3.0&#x1f496; web1.0-web3.0的概念 ⭐chatgpt&#x1f496; gpt的概念 ⭐总结⭐结尾 ⭐前言 大家好&#xff0c;我是yma16&#xff0c;本文分享互联网中的web3.0和gpt的关系。 互联网的发展 第一台计算机的出现 世界上第一台通用计算机“ENIAC”于…

家庭宽带在有ipv6公网环境下,配置本地tomcat服务器+域名+ssl+ddns,实现ipv6建站、搭建简易的文件服务器、搭建webdav服务器等功能

必备条件&#xff1a; 宽带运营商提供了ipv6 光猫拨号改为路由器拨号且路由器开启了ipv6 运营商未屏蔽ipv6的80/443端口&#xff08;如果屏蔽了常用端口&#xff0c;那么可以尝试高一点的端口号。端口号范围&#xff1a;1 - 65535&#xff09; 目录 一、阿里云申请域名&s…

开源游戏区块链项目分享:Unity开发的独立区块链

Arouse Blockchain [Unity独立区块链] ❗️千万别被误导&#xff0c;上图内容虽然都在项目中可寻&#xff0c;但与目前区块链的业务代码关联不大&#xff0c;仅供宣传作用(总得放些图看着好看)。之所以有以上内容是项目有个目标功能是希望每个用户在区块链上都有一个独一无二的…

和ChatGPT对比,文心一言的表现已经是中国之光了

网络上各种测评满天飞&#xff0c;这里就不展开说了&#xff0c;针对“chatgpt”这项技术的难点&#xff0c;是十分巨大的。当你对文心一言以及其他国产AI软件存在不满的时候&#xff0c;你可以简单对着chatgpt或者文心一言搜索&#xff01; ChatGPT技术难点 通俗来讲难度&…

【24fall】计算机免考留学申请,背景提升方向

文章目录 &#x1f4a1;1、学业绩点GPA1.1 部分学校绩点要求&#xff08;23fall&#xff09;1.2 关于打备注说明的情况1.3 关于换个算法提高绩点 &#x1f4a1;2、英语语言成绩2.0 部分学校留学费用清单&#xff08;23fall&#xff09;2.1 部分学校语言成绩要求&#xff08;23f…

Flask框架基础1

最基本框架代码 from flask import Flask实现Flask基本程序 步骤&#xff1a;1 导入Flask类2 创建Flask类的实例对象3 定义路由和视图函数4 启动服务器 appFlask(__name__)app.route("/") def hello():return hello worldif __name____main__:app.run() 运行结果&a…

独立app开发和运行(使用篇)

1.概述 bcos支持动态加载APP任务到内存中执行,用户应用程序只要调用bcos提供的系统调用就可以实现自己的APP功能。当然,APP的开发需要遵循一些bcos自己的规则。 2.创建工程 keil按照你熟悉的方式创建一个空的工程,按照下面配置: C/C++页面,按照红框中的字符串配置,主要…

开发一个看番app[樱花动漫移动端app]

使用react-native开发&#xff0c;功能&#xff1a; 支持看番支持历史记录浏览支持追番 项目地址: https://github.com/HGGshiwo/Sakura 界面&#xff1a; 首页分类用户界面播放界面历史记录搜索界面全部动漫追番

科研人体验gpt

https://greengpt.app/ 安利一下这个非官方网站&#xff0c;内地可以免费访问使用GPT。免费并且不需要翻Q。 本篇主要介绍第一次体验GPT的感受&#xff0c;首要想法是做markdown&#xff0c;便于之后复习查阅。 首先&#xff0c;查阅了相关资料&#xff0c;官方渠道需要注册。找…

硬编码支持情况(一)

硬编码支持情况&#xff08;一&#xff09; 图片信息原文链接&#xff1a;http://trac.ffmpeg.org/wiki/HWAccelIntro 截个图&#xff1a; 注&#xff1a; &#xff08;一&#xff09;&#xff1a;Intel 平台 1&#xff1a;Intel 平台的Quick Sync Video(qsv)是对于音视频编…

宏景eHr 手机App应用二次开发(图文)

应用宏景eHr软件&#xff0c;其中将hr与通达OA进行了组织结构和人员信息的数据同步开发。 在后续的使用过程中&#xff0c;需要使用到手机App&#xff0c;但是宏景的app是完全按照应用的用户数来计费&#xff0c;这样算下来如果使用员工自助的话会是一笔不小的费用。 通过对系…

技巧|你的微信|QQ授权了多少网站与APP?查完吓一跳啊!

编辑&#xff5c;排版&#xff5c; 宅哥技术转载请联系商务合作给你开白名单来源&#xff1a;宅哥技术&#xff08;zg_jishu&#xff09; ---------♥--------- 前言 相信很多朋友都有在用QQ或者微信快捷登录某些应用或网站&#xff0c;每次的授权我们都没在意&#xff0c;但是…

[EF]事务管理+批量删除

using (var transaction context.Database.BeginTransaction()){try{ //删除合同主表信息FAContract fa GetFAContract();context.Entry(fa).State EntityState.Deleted;//删除合同子表var query (from fad in context.FAContractDetail where fad.FACID fa.ID …

python将图片base流保存为图片文件

python将图片base流保存为图片文件。 #!/usr/bin/python # -*- coding: UTF-8 -*- """ author: Roc-xb desc: 将图片base流保存为图片文件 """ import base64if __name__ __main__:source_img "data:image/jpg;base64,/9j/4AAQSkZJRgABAQ…

Flutter AppBar 简述

AppBar AppBar 显示在app的顶部&#xff0c;或者说 顶端栏&#xff0c;对应着 Android 的 Toolbar。如下图&#xff1a; 一个AppBar 的基本组成 &#xff11; 只有标题 无其他按钮 Widget buildDefaultBar(String title) {return appBar AppBar(//标题居中显示centerTitle: …

什么是JIT

1、动态编译(dynamic compilation)指的是“在运行时进行编译”;与之相对的是事前编译(ahead-of-time compilation,简称AOT),也叫静态编译(static compilation)。 2、JIT编译(just-in-time compilation)狭义来说是当某段代码即将第一次被执行时进行编译,因而叫“即…

搜索功能全流程解析

在产品中一般会分布着大大小小的搜索&#xff0c;以便提升用户的信息获取效率和信息消费的能力。本文作者全流程角度&#xff0c;对搜索功能进行了讲解&#xff0c;并从搜索流程中寻找提升体验的触点&#xff0c;一起来看一下吧。 在产品中因多功能诉求和业务复杂性等因素&…

Java面试题复习(1)

目录 1.mysql使用innodb引擎&#xff0c;请简述mysql索引的最左前缀&#xff0c;如何优化order by语句 2.在JVM内存模型中&#xff0c;为什么要区分新生去和老年代&#xff0c;对于新生代为什么要区分eden区和survial区&#xff1f; 3.常见的远程调用有几种 4.对于外部衔接的…

微信闪退Bug罪魁祸首竟是二维码引擎,附源代码分析

建议别尝试&#xff1a;转发这个二维码到群里&#xff0c;3秒后你会回来骂我&#xff08;抖m求骂&#xff09; 近日&#xff0c;网传微信识别上方二维码就会出现闪退BUG&#xff0c;小编也忍不住尝试了一下&#xff0c;果然&#xff0c;一识别该二维码微信立马就出现了闪退的现…

浅谈大模型时代的后台技术发展

1、前言 随着互联网的快速发展&#xff0c;大数据、人工智能、大模型等技术的兴起&#xff0c;大模型时代已经到来&#xff0c;也让后台工程面临着新的挑战和机遇&#xff1a; 大模型时代下&#xff0c;AI 对后台的计算能力和存储能力提出了更强要求&#xff0c;以满足更高的性…