级移动端日志管理系统设计与实现_第1页
级移动端日志管理系统设计与实现_第2页
级移动端日志管理系统设计与实现_第3页
级移动端日志管理系统设计与实现_第4页
级移动端日志管理系统设计与实现_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章需求分 移动端日志管理系统概 移动端日志管理系统需求描 技术可行性与操作可行性分 经济可行性分 移动端日志管理系统功能性需 移动端日志管理系统非功能性需 移动端日志管理系统数据库结构分 第四章系统总体设计分 移动端日志管理系统体系结 移动端日志管理系统功能模块划 数据库表的设计与实 移动端日志管理系统总体流 第五章系统详细设计与实 服务器端开发与实 服务器的搭 Servlet服务端程序与数据库实 网络连接相 Android网络连接原理介 网络编程实 登 延时跳 网络检查与用户信息保 主界面与功能实 整体界面的布局与实 个人日志界面的布局与实 部门日志、指派任务与个人中心布局与实 基于角色权限的功 搜索界 第六章系统测试与分 测试方 结果分 第七 结 致 参考文 附录1英文原 附录2译 附录3部分功能代 移动端的日志管理系统设计与实 生活中得到了越来越广泛的使用,适合于移动设备的各类APP也为人们的生活生产带去了许多便利。企业信息化和管理水平的提高使得传统的电脑办传统的以及大家广泛使用的日志管理系统都是基于PC平台的对于地点的要求较高。本文研究的是企业的基于移动平台的日志管理系统,该系统是浙能自己研发的移动办公平台的一部分,是为员工提供工作B/S,Android,Servlet程序做为服务器端程序,SQLServer2012做为数据的数据库。该系统经过关键字:移动办公;移动端日志管理系统AndroidB/S架Withtherapiddevelopmentinrecentyears,industrialtechnologyandcomputertechnology,inligentmobiledevicesinpeople'sdailylifehasbeenmoreandmorewidelyused,varioustypesofAPPsuitableformobiledevicesbutalsoforpeople'slifeandproductionbroughtalotofconvenience.Theimprovementofthelevelforenterpriseinformatizationandmanagementmakestheofficemodebasedontraditiocannotmeettheneedsofenterprise,sopeopleputforwardtheconceptofmobileoffice.Mobileofficemakethatemployeesattheofficeisnolongerlimitedbytimeandspace.TraditionallogmanagementsystemthatisusedwidelyisbasedonPCplatform,therequirementsofplaceisveryhigh.Inthispaper,westudythelogmanagementsystembasedonmobileplatform.Thissystemasapartofthemobileofficesystem,isamobiletaskmanagementplatformforemployees.Thelogmanagementsystemformobileterminalismainlytohelpenterprisesandemployeesmanagetheirtasks,soastohelpthemachieveefficientmanagementofworkandIntermsoffunctionforthissystem,itismainlytoprovide alanddepartmentaltaskstoglanceover,peoplecanuseittoaddoredittasks.Peoplecanuserthissystmetosendatasktocolleaguewhoisintheirowndepartment,alsocanlookthroughthetasksthathavebeensend.Atthesametimepeoplecanmodifytheirowninformationbyusingthissystem.Intermsofdesign,thesystemusesthree-tierarchitectureonB/S,AndroidplatformapplicationasaclientandusingtheServletprogramasserverprogram,asfordatabaseserver,weuseSQLServer2012.Thissystemhasbeencompletedandtestedintheenterprisewithagoodresultsfornow.Keyword:Mobileoffice;MobileLogManagementSystem;Android;B/S第一移动端日志管理系统开发背景与意随着智能这种和电脑相结合的设备进入人们的生活,并飞速取代传统的,以及像Pad,Watch等移动只能终端的出现,智能设备已深深影响大众的生活。伴随企业信息化和管理水平的提升,以往的电脑办公方式已员工的日常工作需求。在实际生产工作中,经常会遇到出差或不在的时候需要处理相关工作业务,但在外又难以完成工作,这就使得整动通信技术(4G)牌照的下发,4G网络开始走入人们的生活,更加快速的移移动办公的是人,通过移动终端上的软件将人、物和信息之间的关系资源利用更加合理、交流更加的少,同时也能够得到保障,让企业在互联网时代下能跟上时代的步伐,让企业在发展浪潮下能更好抓住时随着进入智能机时代,多种移动终端出现,而安卓系统也已成为移动很多只能在电脑前完成的工作都发展到等移动设备上。浙能能源企业,对信息化与现代化办公非常看重,近年在发展传统能源行业的同时,努力将现代化结合与日常办公中,在这个过程中注意到了的人群使用基数,在可以得到大力的推广应用。移动端日志管理系统是给有任务进行记录、管理,可以帮助了解下属工作情况、部门现状。员工可国内外研究及发展现2G、3G、4G等多种通信方式以无线通信作为传输途径,以互联网为,以智能移动终端为客户机的移动互联应运而生。它使用的移动技术,使用户在PC能,同时集通讯与一身。以前移动改变了人们只能在有线,机的网的格局。而正是智能终端的出现,让人们开始考虑的转变——从固定到通过互联网,企事业员工可不同事件、不同地点进行工作。通过移动著改善工作环境使企业结构间的沟通更简便并可通过进行会议等,wifi提升了自动化办公系统的应用范围和程度让工作不只局限于在内完成,APP解决的主要本文研究内成,分别是用户端、服务器和数据库。用户端采用的是Android应用程序,服务端程序使用的是实现serlvet接口的程序使用SQLServer做为数据库服务的内容LinuxAPPAndroidJAVAAndroidCCAndroid其运行效率将会是非常喜人的,但其硬件的能力较弱以及语言开发的难度较大而使用JAVA开发能够掉硬件的差异提供纯粹的有利于开发者开发和测试的的方法,其开发的应用在运行效率上虽然没有C++应用那么高,但仍JAVAC++更加容易[6]JAVA为了目前的主流。Android最主要的是它的四大组件,其中活动(Activity)相对于其他的程序框或其他的网络应用的窗口页面来说,它被设计为可以保持并独立的在运行的服务,各个Activity之间的跳转需要另一个类IntentAndroid3.0FragmentfragmentFragmentactivityUI和Activity紧密相连,同时拥有更加细致的生命阶段。Fragment依赖于activity而存在,随activity的创建而创建,停止而停止,而[7]。JAVAJVMJAVAJAVA使得它受到非常多的程序员的喜爱JAVA有自己的回收机制会自动管理内存的释放和利用,用户在编写程序的时候不必担心会像C/C++JAVA继承关系,而为了解决单一继承带来的局限性,JAVA其诸多特性使JAVA在当下移动互联网与云服务大环境中具备了广阔应用前景[8]ServletSQLServlet介ServletJAVAJAVAAPI,其主要被用于网页的可交互阅览和相关的数据修改。现在所说的JAVA集成框架SSH(Struts+Spring+Hibernate)就是基于Servlet进行封装的。开发Servlet程序有三种实现方法,一种是通过实现Servlet接口来实现,一种是继承GernericServlet还有一种是继承HttpServlet。ServletServletServletSQLServer数据库服务器介SQLServer是一个关系型数据库,主要用户是规模不大的中小企业。MSSQLServer第三求分移动端日志管理系统概移动端日志管理系统需求描技术可行性与操作可行性分java,java1995年开发所接受,根据IEEESpectrumRanking2015年,JAVA在最受欢迎语言榜中第一,从事开发的庞大,框架众多,android是谷歌2008年正8年时间,但因为智能设备的出现,android得到了android开发的技术已经非常成熟[10]。服务器采用servlet编写,数据库采用开发的的SQLServer经济可行性分android设备从200810月第一次出现,在2014年底已结占据了83.6%的市场,大众普遍使用的都是android系统的智能。随着科技的进步与技术的革新,android元左右就可以买到性能不错的android。该系统对硬件的要求低,同时也没有对特殊硬件的要求,所以基本可以满足所有的android用户使用。用户在使用操作时,只需连接网络就可位于服务器的数据,极大的方便着用户的移动端日志管理系统功能性需用户需通过用户名和的录系统才能进行相关的操作,在系统中成功登陆系统后,系统能够自动保存用户的用户名和,下次使用系统时直用户可以在个人中心进行的修改,在修改时需要用户提供旧的来确保修改的是用户本人。据信息是的并在添加或修改完日志信息后会马上对显示的数据进行更新查查看个人日编辑个人日重置员添加个人日删除员工用查看部门日添加新普通员查看指派任部日志搜注销用修部门员工、删除员工或重置员工的。系统的功能模型UML图如下图3-1所3-1UML移动端日志管理系统非功能性需与标准;用户UI界面的详细细节;性能要求;与设计相关的质量属性和约束条UI无反应按钮点击无反应的情况在正常使用时不会发生终端死机的情况android4.12以上的系统环境。据库操作之前要对操作的用户进行验证以确保操作的用户是合法用户移动端日志管理系统数据库结构分层次结构清晰的数据库系统。这个阶段的主要任务是收集系统所需的基本要操作什么数据以确定数据库中需要的数据是什么,以确定以什么数据类型数据。对于处理的要求:使用该应用软件的用户想对数据做怎样的发设计应该向使用系统的用户做详细的以确保收集到的信息的完整性添加和删除任务日志、系统的用户登录、用户的修改、日志任务的指派。第四统总体设计分移动端日志管理系统体系结B/SB/S架构实现层次区分体现了“高内聚低耦合”的软件开发思想。B/S结构简化了客户端程序,不仅降低了客户端的要求又避免了客户端直接数据库造成的安全问题,通过中间件——web服务器来获取数据,这将提高系统的[12]3-1所示。表现 中间 数据3-1客户端通过资源解析地址URL来服务器并提交请求,服务器在接收到客户HTTP数据库服数据库服传统的网络和数据库相结合的应用多数采用了基于局域网与Cilent/Server的结构体系,在服务器端采用数据库做为所有数据与信息的管逻辑进行即可,期主要优点是响应请求的速度较快网络在通信时的消耗较务端的高耦合使得系统的管理难度较大,因为数据是在客户端进行处理,这就使得大量数据的传输增加了网络负载。而在B/S的体系结构中,客户端的业务逻辑处理们提出来做为单独的中间层,中间层共享给所有用户。原来的C/S两层结构编程B/S三层结构后,层与层之间独立存在使系统的耦合度降移动端日志管理系统功能模块务、任务搜索、个人中心和日志的添加编辑。用户凭借用户名和登录到系数据库表的设计与实系统的数据全部都在数据库中,所以数据库是本系统必不可少的一部来修改或者获取数据库表中的数据,因此做为软件开发对数据逻辑的层次结构和表结构要理解清晰[15]。以下是日志管理系统中用到的一些数据表结构5-1Not员工NotNotNot员工8Not8NotNot部门Not角色5-2NotNotNot8Not8Not5-3Not部门Not8Not8Not5-4Not任务Not8Not8Not8Not创建人Not执行人8Not8Not4Not8移动端日志管理系统总体流日志管理系统的总体流程就是用户通过录系统,服务器获取数4-34-3第五统详细设计与实服务器端开发与实服务器的搭ServletServlet程序是运行服务器容用轻量级服务器Tomcat做为容器。Tomact容器的搭建非常简单,ZIP包servlerTomact即可。Servlet服务端程序与数据库实servletservlet的对象,接着创建一个HttpServletRequest对象和响应消息的HttpServletResponse对象来封装HTTP,servletservice()方法将两个对象传入。Servlet程序响应请求有两个doPost()doGet()postget请求PrintWriterpw=response.getWriter();Stringjson=request.getParameter("check");Stringusername=JsonSingle(json,"username");Stringpassword=JsonSingle(json,"password");Stringoperate=request.getParameter("operate");Stringdatas=null;Stringdatas=JsonSingle(json,}Stringresult=result=SelectOperation(operate,username,password,datas)进行合适的数据库操作为了是服务器与客户端发送的数据能对方正确的识别,我们需要对它ectaton方法根据用户的请求主要代码如下:privateprivateStringSelectOperation(Stringoperate,Stringusername,Stringpassword,Stringdata){Stringresult=null;case"login":Connection_Databaseconn=newConnection_Database();result=conn.Login(username,password);caseConnection_Databaseconn2=newConnection_Database();String[]str1=conn2.getUserId(username,password); }case"Search":String[]data00= Connection_Databaseconn00=newConnection_Database();String[]str00=conn00.getUserId(username,password);Stringresult1,result2,result3; JSONObjectjson=newJSONObject();json.put("search_gren",result1);json.put("search_depart",result2);json.put("search_zpai",result3);}caseConnection_Databaseconn7=newConnection_Database();String[]str6=conn7.getUserId(username,password);}caseConnection_Databaseconn8=newConnection_Database();String[]str7=conn8.getUserId(username,password);}}return}因为服务端程序会频繁的对数据库服务器进行操作,为了实现代码的重用和编码的高效,将连接数据库和对数据的操作封装在了一个叫Conn_Database的类中,在servlet中只要创建该类的对象并调用合适的方法Conn_Database使用的是JAVA中连接数据库的方法——JDBC,程序开发人员使用JDBC可以很容易的并操作数据库数据库的主要功能代码如下privateprivatestaticConnectionconnect()StringdriverName=StringdbURL=+DatabaseName;StringuserName="liuyongtao";StringuserPwd=Connectionconn=trytryconn=DriverManager.getConnection(dbURL,userName,}catch(ClassNotFoundExceptione){}catch(SQLExceptione){}return在用户对数据库中的数据进行操作之前,系统需要验证服务器的用户因为客户端是通过URL地址服务器中的资源,所以在完成Servlet的开发之后必须将它与一个URL地址相对性,为了实现这能需要对web.xmlServlet.classweb.xmlTomact中进行部署客户端通过配置的URL地址就可到服务器并使用对应网络连接相Android网络连接原理介Android采用的JAVA语言开发,在JAVA编程中我们已经接触过网络编程的知识,而Android的网络编程实现是基于JAVA网络编程的。在学习JAVA时我们可能使用的是通过socket来进行网络而在Android中网络主要HTTP在Android中有两种方法HttpURLConnection和HttpClient接口来实现基HTTPUtilsHttpURLConnectionJAVAHTTPJAVAAPIHttpClientAndroidHTTPHttp协议,同时它还支持的HTTP协议版本,因此在开发中的使用HttpClientHTTPHTTP的请求方式是不同的。POSTHTTPGETPOST据的方法,我们使用提交POST请求的方式服务器来获取资源数据。网络编程实因为本系统的主要功能是对任务日志的相关操作,而任务日志的数据在数据库中我们需要服务器来获取相关的数据因为系统多服务器会进行多次,如果在每次时都编写相关的请求语句将会使程序看起来比较臃肿,同时代码的复用率会很低,因此我将网络的相关操作语句使用Connect相关的方法就可进行网络并获取数据信息。在Connect类中,定义了ConnToServiceConnToService2HttpClient能更容易的发送HTTP请求而且开发者在测试时也非常方便[16。方法ConnToService主要是用于用户的登录验证,以及个人日志、部门日志和指派ConnToService2JSONJSON式。XLM同样也是一种格式,但这里我们并没有采用XML来进行数据的传送,主要的原因是在Android中处理XML非常的不方便,并且往往XML的标记比数据信息还要多,这就使得在进行时需要消耗的流量,而JSONJSON进行能够有效提高移动端与服务端的数据传输效率,同时减少移在要进行网络操作的地方,因为网络是耗时操作,所以在进行网络时要创建一个子线程在创建子线之前我们创建了一个ProgressDialog框来提示用户正在获取数据,这个框会在网络结束时,创建框增强了用户在使用该应用时的体验在网络连接中设置了一个5s的网络输时,为防止与服务器的编码方式不同,需要设置数据的编码方式,通过UrlEncodedFormEntity将编码方式设置为UTF-8。下面是网络连接的方法ConnToServiceConnToService2HttpClienthHttpClienth = Stringurl=HttpPostpost=newHttpResponseresponse=null;try{response=hClient.execute(post);if(response.getStatusLine().getStatusCode()==200)result1result1=}}catch(IOExceptione){}d的网络编程中需要对设备采取的网络方式进行判断一般情况下我们在日常中会首先考虑使用WI运营商的网络转入互联网时就需要特别处理,在进行网络前需要先设置代理接口和地址,这样可以尽量避免网络时出现中断。设置通过y类来实现,主要功能代码如下:Stringhost_ip=Proxy.getDefaultHost();intport_ip=Proxy.getPort(context);if(host_ip!=null&&port_ip!=-HttpHosthttpHost=newHttpHost(host_ip,}}登5-6所示。 延时跳在打开应用跳转到登录界面之前首先展现的是图5-5,等待3秒后跳到图5-65-5Logo,使用户在使用的时候能先行了解应用的功能。在这里我使用了Handler类的postDelayed()方法使得登录界面的Activity加载延迟,从而实现延时跳转功privateprivatevoidjumpToLogin(inttime,finalClass<?>cls,finalStringstr){Handlerhandler=newHandler();handler.postDelayed(newRunnable(){publicvoidrun()Intentintent=newIntent();Bundlebundle=new}}}网络检查与用户信息保在输入用户名之后点击登录按钮进行录,系统在联网验证用户之前会首先检查用户输入的用户名和是否符合规定,之后系统自动检测终端是否已经连接了网络。实现这个功能首先要给系统添加网络的权限INTERNET和获取有关设备网络连接的信息的权限ACCESS_NETWORK_STATE添限在Android的AndroidManifest.xml配<uses-permission<uses-permissionandroid:name="android.permission.INTERNET"如果用户为空或终端网络没有连接,系统便会提示用户相关的错误。点击登录按钮之后,系统连接服务器对用户的进行验证。服务器在验证后用户重新输入用户名或。当验证成功时,将用户名和进行本地保存已实现用户无需每次使用系统都进行用户名的输入,方便用户的使用。SharedPreferences是Android中最容易被理解的数据技术,它采用键值对(key-value)的形式数据,的是轻量级的数据如一些应用的配信息,因此使用SharedPreferences用户信息是比较合适的。使用getSharedPreference(Stringfilename,intmode)方法来获得它的对象,方法的第一个参数为保存数据的文件的文件名称,第二个参数为数据的形式,根据所选取的形式不同,的数据可被的范围也是不同的,默认为0,也就是的数据只能被创建数据的应用本身,再次写入内容时首先会删除原来的数据再写入新数据,这里我们采用这个类来实现用户名和的。采用SharedPreferences.Editor的形式获取Editor接口的对象使用Editor实现将数据写入文件中。保存的数据以XML文件形式在应用私有 下的shared_prefs文件夹里面下次使用时系统会调用SharedPreferences的getString()方法文件里的数据当数据不为空时说明用户之前登陆过并未注销过用户,Stringusername=sp.getString("username","");Stringpassword=sp.getString("pwd","");Stringname=sp.getString("name","");StringStringdepartname=sp.getString("departname","");&&!user_id.equals("")&&!departname.equals("")){JSONObjectjsonObject=newJSONObject();try{}}catch(JSONExceptione){}}主界面与功能实整体界面的布局与实5-75-7示当前所在模块。4个功能模块被布局在一个Activity中,在布局底部使用了4RadioButtonRadioGroup。RadioButtonRadioGroupRadioButton。RadioGroup对应于4个功能模块面技术概述的时候已经简单介绍过fragment了这里使用fragment的一个原因是在系统完成之后用于不同的移动设备时能更好ActivityfragmentActivityfragment(碎片)fragmentfragmentfragmentfragment对应的是不同的功能模块,所以使用了继承自Fragment的自己定义的fragment分别是GrenFragment、BmenFragment、ZpaiFragment和al。。FragmentFragmentManagerFragmentManager是通过一个叫FragmentTransaction的事务管理类实现对fragmentFragmentfragment,这将浪费系统资源。为了提高系统性能和减少对系统内存的使用,我们创建一个Fragment类型的数组来已创建的fragment。在fragmentFragmentfragmentfragmentfragmentdelete(删除一个碎片),replace(deleteadd操作)、show(显示一个碎片)和hide(隐藏一个碎片)等方法,为了实现所需要show()hide()不需要显示的碎片hide()掉,而show()出要显示的碎片。在这里使用事务的replace()方法也可以达到每次只显示一个碎片的功能,而我们不采用hide()show()方法实现这个功能即使数据获取失Fragment}Bundledata=newBundle();}else}模块的数据(也就是4个fragment获取数据)在fragment生命周期的时会调用这个方法,所以在这里进行数据获取可以满足从别的activity回到fragment在切换时我们并没有重新创建fragmentfragmentfragmentfragmentfragmentfragmentfragment。其主要实现代码如下,同样是在子线程中获取数据然后通知主publicpublicvoidonHiddenChanged(booleanhidden){dialog=ProgressDialog.show(getActivity(),"","请稍 newThread(newRunnable(){publicvoidrun(){Connectconn=new} Bundledata=newBundle();JSONObjectjson2=null;try{json2=new}}catch(JSONExceptione){}Stringinfo=json2.toString();MessagemsgMessage=newMessage();}}}}个人日志界面的布局与实这三个部分同样采用的是fragment,即在一个fragment里嵌套使用了3个fragment5-8(a)所示。 在一个fragment里嵌套使用3个fragment,并使这3个fragment能够通过滑动来显示,android为我们实现这个功能提供了一个组件——Vie ger组件原本是只能在Android3.0以上系统版本中实现,为了在开发时主要使用的也是这个包下的vie ger是一个功能比较强使用它来实现碎片的滑动。在使用Vieger时需要为它绑定一个适配器(FragmentPagerAdapter),适配器中添加的则是需要被显示的3个碎片适配器会自动的帮我们实现不同碎片的显示隐藏问题。前面讲到过fragment是由FragmentManager来进行管理的,所以在使用适配器的时候也要给他传入一个FragmentManager的对象以进行fragment的管理在这里使用的适配器需要我们继承FragmentPagerAdapter来重写其中的getItemPosition()方法因为我数据从而显示出来,要实现适配器的刷新就需要重写getItemPosition()方法让它返回POSITION_NONE这样一个值,在需要刷新的时候通知适配器调用notifyDataSetChanged()AndroidUIHandlerMessage个消息给主线程告知其数据已成功获取。主线程通过Handler一直在是否有消息,当到数据获取成功的消息后主线程就进行UI的更新。在进行ViewView示,如果没有问完成的任务则不显示该控件。而改变,同时title下方的指示器也随用户滑动而滑动。为实现这能需要给Vieger设置滑动事件并判断当前滑动的位置,实现这能的主要 ger.setOnPageChangeListener(newVie publicvoidonPageScrolled(inti,floatv,inti2){LinearLayout.LayoutParamsif(mCurrentPageIndex==0&&lp.leftMargin=(int)(mCurrentPageIndex*mScreen1_3+v*}elseif(mCurrentPageIndex==1&&lp.leftMargin=(int)(mCurrentPageIndex*mScreen1_3+(v-1)*}elseif(mCurrentPageIndex==1&&lp.leftMargin=(int)(mCurrentPageIndex*mScreen1_3+v*}elseif(mCurrentPageIndex==2&& lp.leftMargin=(int)(mCurrentPageIndex*mScreen1_3+(v-1)*}}publicpublicvoidonPageSelected(inti){switchcase0:case1:caseVieger3fragmentListview信息以列表的形式展现。模块获取到的数据主要是在Lstview中显示,Listview的适配器,在适配器中传入我们的行布局文件。行布局是一个叫item的listview都按照这个item件,判断其类型选并择合适的方法填充数据。5-95-5-10图5- 图5-、目选择如图5-11所示,使用的是一个叫做PopuWindow的组件。PopuWindow在目前很多的移动应用中都有使用,如 、支付宝等应用右上角“+号点击后弹出的就是一个PopuWindow在Android开发中PopuWindow和Dialog都可以用作弹出框弹出这两种弹出框在功能与性质上有比较明显的区别。首先PopuWindow会阻塞其所在的线程,弹出时只能够响应对该PopuWindow能够实现的功能dialog也能实现但是我们选择popuwindow主要是因为在开发者之中将dialog主要做为提示类型的组件,而popuwindow作为下拉框类的组件使用。再者在要实现下拉框功能时,popuwindow在自定义位置与大小时比dialog更加的灵活,其可以方便的在其他View下显示,这为程序的开发带来简便Android中很多自带的View组件都我们平时的开发需求,如图中的重要等级评分组件。该组件在Android的API中只有两种选择、<style<stylename="MyRatingbarBag"<item<item<item<itemandroid:id="@android:id/background"android:drawable="@drawable/rate_star_big_off"/><item<itemandroid:id="@android:id/progress"android:drawable="@drawable/rate_star_big_on"/>部门日志、指派任务与个人中心布局与实5-13、5-125-14图5-12指派任 图5-13部门日图5-14个人中 图5-15列表细了一个默认头像及登录系统的用户信息——所属部门和。图中圆形的头像组件是继承自Android自带组件ImageView,重写其onDraw()方法实现的ifif(this.paint==null)PaintlocalPaint1=this.paint=localPaint1;PaintlocalPaint2=this.paint;XfermodelocalXfermode1=MASK_XFERMODE;XfermodelocalXfermode2=}floatf1=getWidth();floatf2=getHeight();inti=paramCanvas.saveLayer(0.0F,0.0F,f1,f2,null,Canvas.MATRIX_SAVE_FLAG);inta=getWidth();intb=localDrawable.setBounds(0,0,a,if((this.mask==null)||(this.mask.isRecycled())){BitmaplocalBitmap1=createMask();this.mask=}}BitmaplocalBitmap2=this.mask;PaintlocalPaint3=this.paint;用户在这个模块点击修改后就进入了修改界面,界面视图如5-16图5-16修改界在进行修改操作时需要用户输入原进行验证,验证通过才可实现修改。当用户需要注销用户时,点击注销按钮即可,前面讲到过用户名和是被保存在轻量级数据模块SharedPreferences中的,在用户点击注销时,SharedPreferences中的数据就会被删除从而使系统再次进入时需要重新验证用户。基于角色权限的功部门的用户登录系统时在个人中心界面多了一个管理的按钮,如下图5-17所示: 图5-17的个人中心界 图5-18管理界 图5-19员工信息界点击管理后进入部门管理界面,如图5-18所示。点击相应的行编辑,可以重置员工的或者删除该员工。用户也可以点击管理界面搜索界5-20Android是要给予用户适当的提示。目前主要采用的提示方式有两种,一种是跳出Dialog框让用户再次确认是否退出,当用户选择确认时再退出,这种方式S会,用户可以不理会它而继续做自己的事情。所以在本系统采用了第二种ifif(keyCode==KeyEvent.KEYCODE_BACK){return}elsereturnsuper.onKeyDown(keyCode,}privatevoidexit(){if(!isExit){isExit= 再按一次退出应用}elseIntentintent=newIntent(Intent.ACTION_MAIN);}}第六统测试与分测试方数据:在进行完模块测试后,对数据进行了,以确保在各个模结果分可靠性分析系统总体来说可靠性比较高用户通过用户名和登录系统,只能对自己的任务进行编辑,在进行修改时必须输入旧。AndroidPCAndroid第七章结本文通过对移动端日志管理系统的设计与开发,介绍了B/S三层体系结构下软件的设计方法简述利用Tomcat和Servlet实现服务器的功能搭建的以及Android应用开发中的技术分析。总结,主要有以下几点论述:对B/S三层结构体系的研究分析结合B/S三层结构的优点弥补传Web服务器的搭建。结合系统功能需要,分析了使用servlet开发服JavaJDBCAPI。研究实现Android应用开发分析介绍了Android系统的体系结构与量级格式JSON较xml在移动开发中的优势。分析了在Android两种HTTP2Android统出对Java的浓厚促使我进入了Android的世界从开始没有接触过到摸索学习再到最后使用现行的技术完成这个应用。在这整个开发过程中,知识面得到了拓展,比如Android开发环境的搭建,Activity、Fragment、Bundle、Handler、PopuWindow虽然这个系统目前已经能够良好的运行,但是我觉得在功能的实现方式上UI如用户找回功能,用户头像自定义设置功能等,使系统功能更加完善、面,用户体验感觉更好。致本是在校内指导老师的悉心指导下完成的因为在完成我打或者邮件交流,悉心指导毕业设计和编写,了许多我在设计中的错误并给于了我很多帮助。任老师的风范与严谨的治学态度使我感谢浙能天工信息科技给我提供这次实习机会,让我能够切身参最后由衷感谢家人和同学对参考文[1].移动办公系统现状分析[J].市场信息,2011(6):61-贾君君,有,.大型企业移动办公系统设计与实现[J].信息系统工程,2015(11):98-99.王红梅.移动互联网现状与趋势浅析[J].电信科学,2011(S1):74-4G[J].化,2015(17):52-53.何璇.基于Java语言的安卓软件开发[J].计算机光盘软件与应用,高立军.有关Java语言的安卓软件开发的分析[J].学园:学者的精神家园,2015(3).黄立明,,男.用AndroidFragment技术实现多级选项列表教育教学,2015(15):153-宋超.Java[J].卷宗,2015(5):378-池,.Servlet技术与应用方法[J].邮电大学学报,2003,Wallace,Jackson,.学习安卓应用开发[J].国外科技新书评介,左美云.信息系统项目管理[M].:电子工业刘红梅.基于C/SB/S[J].化,2007(11):52-54.齐爱朋.C/S、B/S[J].硅谷,程雪松.数据库设计探析[J].科技,AndroidBroadcast,HttpClientJSONParser[J].无线互联科技,2015(14):18-19.李志军.基于JSONAndroidSQLServer数据通信[J].电脑与信息技术,2015,23(4):51-53.1英文原AndroidunderEddyAndroidisthefirstplatformafterWindowsto eaprimeforcyber-criminals.ThisstatementhasbeenmadebymostITsecurityspecialistssince2011.ButwhyAndroidoverother(mobile)platforms?Perhapsit’sbecausethethreecrucialfactorsforanycrime–motive,meansandopportunity–arenowpresentinAndroid.CybercrimestartedwithWindows.Thereasonforthisisnot,asmanypeopletendtothink,becauseWindowsisaweaksystem,withmanysecurityholes.Ifanytalentedhackerweretolookcloselyatanyoperatingsystem,he/dfindvulnerabilities.ThereasonwhysomanyleakshavebeenfoundinWindowsversionsovertheyears,isbecausemillionsofworkhoursarespentsearchingforthem.Thistimeinvestmentisonlydonebecausethereisapositivepay-off.About90%ofcomputerusersuseWindows,whichtranslatesintoapproximay1.62billionpeoplearoundtheworld(estimatingthatthereareabout1.8billionactivecomputersintheworldtoday).Findinga‘good’securityholeandwritingsomeefficientmalwaretoexploitit,meansapotential‘market’ofallthosecomputers.Withtherightmalware,itispossibletograbcontrolofthosecomputers,byhookingthemtoabotnet,andbrowsingthroughthecomputertosearchforalandfinancialdatathatcanbeusedforeithersellingintheundergroundmarket,orusingthefoundidentityforkindsofcriminalactivities.Themoneythatismadebycyber-criminalsperyearisestimatedtobeofabiggervolumethantheturnoverofthedrugsindustry.Inshort:itpaystoinvesttimeintowritingmalwareforWindows.Ofcoursetherehavebeen,andstillare,otherpopularplatformsbesidesWindows.Apple’sOSXandLinuxforinstance,arestillgrowinginpopularity.ManypeoplebelievethesesystemstobefarsaferthanWindows.However,thatisaconclusionthatcanonlybereachedwithcertaintyafterputtingasmanyworkhoursintosearchingforweaknessesashasbeendonewithWindows.This,ofcourse,hasnothappened,sowerefrainfromcelebratingthesafetyofonesystemoveranother.Thistheoryalsoappliestomobileplatforms.Smartphoneshavebeenaroundformanyyearsandhavegraduallygrowninpopularity.Butupuntil2010,amobilecounterpartofWindowsdidnotsurface.Manydifferentoperatingsystemsco-existed,noonemuorepopularthantheothersformanyyears.Thetheorythatallofthesesystemshavetheirweaknesses,butnotmanypeoplewerelookingforthembecauseitwouldnotbeworththeirtimeinvestment,heldupforalongtime.Butthissituationhasnowchanged.In2010,Androidshoweditsfirstsignsofambitionstorulethemobileworld.In2011,theambitionsprovedtoberealistic,andtheyseemtoremainthatway.AccordingtoGartner,about75%ofallsmartphonessoldworldwideinthefirstquarterof2013ranonAndroid.NumbertwowasiOS,withonly18.2%.ThethirdpositionwasheldbyBlackberry,with3%.Ofthoseoperatingsystems,Androidwastheonlyonethatgrewitsmarketshareinthatquarter.ThesecurityindustrythereforenowfeelsitissafetosayAndroidiswinningthisrace.Andthemalwarewritersagree.ThepossibilityofreachingalargepublicwithAndroid,andtostealmoneyfrom75%ofallsmartphoneusers,providesastrongmotiveformalwarewriterstocreatehigh-qualitymalwareforthisparticularplatform.BeforeAndroid,therewasanothercontenderthatseemedtobewinningtherace–Symbian.WhywasastrongmotiveforcreatingmalwareforSymbiannotenoughforanepidemicoutburstofSymbianmalware?ThisisduetoalackofmeanstospreadSymbianmalware.Allmobileoperatingsystemshaveonethingincommon–theirarchitectureisverydifferenttothearchitectureofWindowsforcomputers.Ingeneral,itseemsdevelopershavelookedcloselyat‘whatwentwrong’withtheearlyoperatingsystemsforPCsandcreatedsystemsthatarefarsafer(althoughthereisstillplentyofpotentialtofindvulnerabilitiesinthem).Infectingasmartphoneandthenspreadingthemalwarefurtherisnoteasythroughtraditionalattacks.ThemosteffectivemethodofattackonSymbianprovedtobethroughBluetooth.ButthisrequiredphysicalproximityofasmartphonethathaditsBluetoothconnectionswitchedonforanattacktobesuccessful.ThisreducedtheaudiencetosuchasmallnumberthatspendingtimeonwritingmalwareforSymbianwasveryunattractive.InthecaseofAndroid,thereisasimplesolutiontospreadingmalware:apps.Theyaredownloadedandinstalledmanuallybysmartphoneownersallovertheworld.Afreelocalappwithaveragepopularityisdownloadedover10,000times.Internationalfreeappsofaveragepopularitycangetdownloadedover1milliontimes.FraudulentappsthatappearedintheAndroidMarket,liketheonesthatharbouredthetrojanDroidDream,gotdownloadedover250,000timesinonlyafewdays.Appsarethusaveryattractivemeansofspreadingmaliciouscodetosmartphones.Socialengineeringmakesappslookveryattractiveandpersuadesuserstodownloadandinstallthem.Uptonow,automaticinstallshavenotbeenseeninthewild,butthatmightjustbeamatteroftime.ButAndroidisnottheonlyplatformwithpopularapps.Infact,Applewas,untilthesecondquarterof2011,farmoresuccessfulwithappsthanAndroid.AndAppleseemedtobeleadingforquitesometime,rightafterSymbian’sdownfallandbeforeAndroid’sspectacularrise.SowhyhasAppledodgedthebulletforallthistime?Therewasamotive,andtheappsprovidedatheoreticalmeansforinfection.Theanswercomesdowntoopportunity.“Androidisasemiopen-sourceplatform,meaningthatmuchofthecodeisavailableforeveryonetosee.Thismakesitfareasiertofindsecurityholes”AppleandAndroidhavedifferentprocessesofappcreationandappadmissions.Inthiscase,weneedtoacknowledgethatAppleseemstohaveasafersystem.ThatisnottosaytheoperatingsystemofAppleinitselfissaferthanAndroid.Itis,however,moredifficulttoinvestigateApple’soperatingsystemduetoitsclosednature.Andwhenaweaknessisfound,itisverydifficulttosneakanexploitingappintotheAppStore,becauseoftheextensiveprocessesApplehasinplaceforcreatingandauthorisingnewapps.Besidestheseeffectivemeasures,Applealsohasamechanisminplacetoquicklyremovemaliciousappsfromany.Thisway,theeffortsthatgointocreatingamaliciousappandhavingitpublishedintheAppStorearenullifiedwithinminutes.WithAndroid,thissituationiscompleydifferent.Androidisasemiopen-sourceplatform,meaningthatmuchofthecodeisavailableforeveryonetosee.Thismakesitfareasiertofindsecurityholes.Italsomakesitmucheasiertocreateanexploitingapp.UnlikeApple,Androidreliesonuserstokeeptheirsmartphonescleanbylettingthemdeterminewhetherornotcertainpermissionsaregrantedtoanapp.Thepresumptionthatusersarealwaysalertandattentivewhenitcomestoinstallingapps,isslowlyprovingtobearathernaiveone.“Applealsohasamechanisminplacetoquicklyremovemaliciousappsfromany”Thesefacts,combinedwithanotverystringentprocessofauthorisingnewapps,makeAndroidamucheasierthanAppleeverwas,thusgivingampleopportunityforcrime.Itiseasytoimaginehowexcitedcyber-criminalsareappsthatallowuserstopaybymobilephone,orparticipateinmobilebanking.ThiscanbeprofitableinamuchfasterwaythansubscribingthehijackedphonetoanexpensiveSMSservice,whichisoneofthemainwaystheyhavehistoricallymademoney.IntheFarEastandalsoinRussiapayingwithyourmobileis ingverypopular.Weseethatmaliciousappsaimedatthispossibilityarewidespreadinthoseareas–muchmorethanelsewhere–whichimpliesthatcyber-criminalsarefollowingthemoney.Havinglookedatthedifferenementsofcrimeandtowhatdegreethethreemostpopularmobileoperatingsystemsoffertheseelementsitistimetomakethefinalcomparison.ThebarsinFigure1representthethreeelements.Inordertobeaperfectforcyber-criminals,allbarsshouldbeat100%.Androidistheonlysystemthatcomesclosetobeingtheperfect.Theonlypartthat’smissing,fromanopportunitypointofview,isthepossibilitytoinstallfraudulentappsonasystemwithouttheownerofthedevicehavingtoapprovethepermissionsoftheapp.Eventhoughwehavenotyetseenappsthatcancompleyself-installinthewild,weestimatethisisonlyamatteroftime.Wefearthat,oncethatlasthurdleistaken,writingmalwareforAndroidwillindeedbetheperfectcrime.2译文.,安卓是继微软之后第一个成为网络的首要目标的平台,这个观点自2011年以来已经被大多数的计算机安全所同意为什么安卓超过了其他移动平台?也许是因为对于任何来说的三个关键因素——和机会现在出现在安卓。,Windows。如果任何有才华的任何一个操作系统他/她都会发现这些年来不同版本的Windows被发现16.2(18找到一个好的安全,写一些有效的软件利用它,这些电脑就成为了潜在的市场。有效的软件可能会抢夺这些电脑的控制权,使他们成为僵尸电脑,通过浏览电脑去寻找可以在黑市中卖的用户个人和经济信息,或者利用发现的进行各种活动。每年网络产生的钱估计比行业的营业额还要大很多简而言之这是值得的去花费时间写Windows下的软件当然除了Windows之外还有其他受欢迎的平台,例如苹果的OSXLinux的人气正在不断增长。许多人认为这些系统远比Windows更安全。然而,这个结论只能在这些平台像Windows一样被花费很多工作时间去寻找弱点的情况下在增长但是直到2010年移动平台的Windows仍然没有出现许多不同的操作在2010年,Android表现出了他想移动世界的目标。在2011年,这个数据在2013年的第一季度75%的智能市场被Android占领第二名是IOS占18.2%,第三名是黑莓,只有3%。在这些操作系统中只有Android在这个季度的市场份额增加了。安全行业现在感觉说Android正在赢得这个竞赛是安全的,软件也这么认为。这种Android即将成为大的公共系统,并从75%的为这个特定的平台去开发什么为Symbian开发软件的强大没有使Symbian软件流行爆发?这是因为扩散Symbian软件的的匮乏。所有的移动操作系统有一个共来看,似乎是开发已经看了PC上的操作系统,找出“什么东西出错了”并Symbian了一个非常小的数目,从而使开发Symbian上的软

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论