基于Android的手游应用商店的设计与实现_第1页
基于Android的手游应用商店的设计与实现_第2页
基于Android的手游应用商店的设计与实现_第3页
基于Android的手游应用商店的设计与实现_第4页
基于Android的手游应用商店的设计与实现_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

基于Android的手游应用商店的设计与实现PAGEPAGEIV远程医疗数据采集系统的设计与实现基于Android的手游应用商店的设计与实现摘要随着科技的发展,二十一世纪成为了以网络化,信息化为核心的社会。网络商业化也成为了时下最热门的词汇。随着信息技术的不断更新,特别是07年谷歌公司推出了Android开放源码,让Android操作系统成为了移动平台的宠儿。本系统主要是针对Android移动平台,为广大使用群体提供手游(游戏)的下载,让用户能够体验最新、最热门的手游,并从中获得快乐。本设计是一个基于Android的手游应用商店,并采用C/S作为开发模式。本文从系统需求、系统实际、代码实现几个方面介绍了整个软件的开发过程,这个系统采用JAVA、MySQL数据库,并利用MyEclipse、TOMCAT、AndroidSDK、ADT、AVD、DDMS等开发环境或者开发工具。关键词:Android、Java、MyEclipse、SQLite、MySQL。

TheDesignandImplementationofAndroid-basedMobileGamesAppStoreAbstractWiththedevelopmentofscienceandtechnologyofthetwenty-firstcenturytobecomeanetwork,informationasthecoreofsociety.Commercialnetworkhasalsobecomethehottestvocabulary.Withthecontinuousupdatingofinformationtechnology,especiallyin2021GooglelaunchedtheAndroidopensource,sothatbecamethedarlingoftheAndroidoperatingsystemformobileplatforms.ThesystemismainlyfortheAndroidmobileplatform,forthemajorityofusergroupsprovidemobilegamedownload,allowinguserstoexperiencethelatestandmostpopularmobilegames,andderivepleasure.ThedesignisanAndroid-basedmobilephoneapplicationstoretourhands,andusingC/Sasadevelopmentmodel.Fromthesystemrequirements,thesystemactually,codedescribesseveralaspectsofthesoftwaredevelopmentprocess,thissystemusesJAVA,MySQLdatabase,andusingMyEclipse,TOMCAT,AndroidSDK,ADT,AVD,DDMS,suchasthedevelopmentenvironmentordevelopmenttools.Keywords:Android,Java,MyEclipse,SQLite,MySQL.目录21445摘要 I9051第一章绪论 11651.1开发背景 141151.2开发目的 124561.3主要内容 13217第二章系统理论与技术 116443第三章系统分析与设计 135673.1功能需求 1203343.1.1客户端 174373.1.2服务端 220593.1.2功能模块图 2278923.2模块结构与流程 3103023.2.1客户端 3259173.2.2服务端 768763.3数据库设计 11185903.3.1数据库表及其结构 11220523.3.2数据 1284753.3.3客户端数据库的连接 12322063.3.4服务器数据库的连接 1498253.4系统结构 14190313.4.1部署图 14144213.4.2类图 1420273.5执行概念 165866第四章系统实现 16208274.1Android环境搭建 1624754.2客户端 1840954.2.1用户登录 18319114.2.2用户注册 20203444.2.3游戏浏览 2214334.2.4游戏下载 25114334.2.5软件管理 2770494.3服务端 2985544.3.1响应客户端登录请求 29236074.3.2用户信息管理 3215027第五章结束语 3422025致谢 3530042参考文献 36PAGEPAGE44远程医疗数据采集系统的设计与实现绪论1.1开发背景1.2开发目的1.3主要内容系统理论与技术系统分析与设计3.1功能需求随着3G时代的到来,应用越来越普遍,加之国民持有量更是爆炸式增长。为了方便Android用户能随时随地下载手游,获取手游咨询,于是提出本系统的主要功能。3.1.1客户端1、界面1)登录、注册界面2)左侧菜单界面3)手游列表查看界面4)手游详情查看界面5)手游文件管理界面2、功能1)实现客户端与服务器之间的连接2)实现登录、注册功能3)实现手游信息列表展示功能,并能断点下载手游4)实现手游搜索功能5)实现软件的卸载功能6)实现客户端自动更新功能7)实现对手游的评价功能3.1.2服务端1、界面1)管理员登录界面2)用户、手游、评价的信息管理界面2、功能1)向客户端提供用户、手游列表、以及评价列表信息2)实现添加、删除、修改客户端用户信息3)实现添加、删除、修改手游信息4)实现添加、删除、修改手游评价信息3.1.3功能模块图功能模块图如3-1所示:图3-1功能模块图3.2用例解说3.2.1用户用例解说主要参与者用例用户1.客户端用户用户用户注册用户登录客户端查看手游列表信息查看手游详情查看评论发表留言下载手游卸载应用用例ID号UC-1用例名称用户注册参与者用户描述用户进入客户端首页,打开菜单并点击注册前置条件用户进入注册界面后置条件用户按照要求填写相关注册信息主干过程用户进入首页打开左侧菜单,点击注册分支过程用户进入客户端1.1填写注册信息1.2点击注册优先级中使用频率需要积分的应用注册并登录才能下载特别需求注意和问题用例ID号UC-2用例名称用户登录参与者用户描述用户登录进入客户端前置条件用户已进入客户端后置条件主干过程登录分支过程进入登录界面1.填写登录信息2.点击登录优先级中使用频率需要积分手游必须登录才能下载特别需求注意和问题用例ID号UC-3用例名称查看手游列表信息参与者用户描述用户进入客户端后,查看手游列表信息前置条件后置条件主干过程查看手游列表信息分支过程查看手游列表信息进入客户端用户选择查看不同类别的手游优先级低使用频率高特别需求注意和问题用例ID号UC-4用例名称查看手游详情参与者用户描述用户进入客户端,点击一个手游前置条件用户进入客户端后置条件主干过程用户查看手游列表点击手游进入手游详情界面分支过程用户查看手游列表1.用户查看手游列表2.用户选中一个手游3.进入手游详情界面优先级中使用频率高特别需求注意和问题用例ID号UC-5用例名称查看评论参与者用户描述前置条件用户已进入手游详情界面后置条件主干过程进入详情界面点击评论按钮进入查看评论分支过程查看手游的评论信息1.进入手游的详情界面2.点击评论按钮,进入评论信息界面优先级高使用频率特别需求注意和问题用例ID号UC-6用例名称发表评论参与者用户描述用户点击评论按钮后,弹出发表评论的对话框前置条件打开发表评论的对话框后置条件主干过程点击评论按钮弹出评论对话框分支过程用户发表评论点击评论按钮打开评论对话框填写评论信息点击发表按钮完成评论发表优先级中使用频率特别需求注意和问题用例ID号UC-7用例名称下载手游参与者用户描述用户点击手游列表以及详情界面中的下载按钮开始下载手游前置条件后置条件主干过程用户点击下载按钮分支过程下载手游1.用户点击下载按钮2.需要积分的手游需要先登录,在用户积分足够的情况下可以下载手游3.在点击下载按钮后按钮上显示暂停,用户再次点击后可暂停手游下载4.用户在下载管理界面可以对下载中的手游进行暂、继续以及删除等操作优先级高使用频率特别需求需要积分的手游需在登录并积分足够的情况下才能下载注意和问题用例ID号UC-8用例名称下载应用参与者用户描述用户进入应用卸载界面,卸载选中的应用前置条件后置条件主干过程用户卸载应用分支过程应用卸载1.用户进入应用卸载界面2.选中需要卸载的应用3.点击卸载按钮4.卸载选中的应用优先级低使用频率特别需求注意和问题3.2.2管理员用例解说主要参与者用例管理员2.服务端管理员管理员登录客户端用户信息的增加、删除手游信息的增删查改手游评论信息的删除用例ID号UC-1用例名称管理员登陆参与者管理员描述管理员通过系统所预设的账号和密码登录系统前置条件管理员账号和密码后置条件主干过程管理员登陆分支过程管理员登陆1.1填写账号、密码1.2登录系统优先级高使用频率特别需求注意和问题用例ID号UC-2用例名称客户端用户信息的增加、删除参与者管理员描述登录系统后,在管理模块中添加、删除用户前置条件管理员登陆系统后置条件主干过程管理员登陆分支过程管理员登陆1.1添加、删除用户1.2退出系统优先级高使用频率特别需求注意和问题用例ID号UC-3用例名称手游信息的增删查改参与者管理员描述登录系统后,在手游信息管理模块中对信息进行增删查改前置条件管理员登陆系统后置条件主干过程添加、删除、修改、查询手游信息分支过程添加、删除、修改、查询手游信息登录系统进入管理界面更新信息退出系统优先级高使用频率特别需求注意和问题用例ID号UC-4用例名称删除留言参与者管理员描述管理员可以登陆后通过管理模块处理用户留言前置条件管理员已经登录系统后置条件主干过程登录系统删除留言分支过程删除留言1.登录系统2.删除留言3.退出系统优先级低使用频率特别需求使用系统功能必须登录注意和问题3.3模块结构与流程3.3.1客户端客户端概要设计如表3-1:客户端模块简要说明登录模块在连接上服务器的前提下登录成功注册模块在连接上服务器的前提下注册成功手游浏览模块从服务器中读取数据,并把数据封装显示在手游列表中手游评价信息浏览模块从服务器中读取数据,并把数据封装显示在手游评价列表中手游搜索模块向服务器发送请求数据并获取返回数据,然后把数据封装显示在手游搜索列表中自动更新模块从服务器中读取最新版本的数据,与本地进行比较,提示用户更新手游下载模块使用多线程断点技术,从服务器下载手游表3-1客户端概要设计表图3-2客户端登录注册模块流程图图3-3客户端版本更新模块流程图图3-4客户端手游下载模块流程图图3-5客户端整体流程图3.3.2服务端服务端概要设计如表3-2:服务端模块简要说明向客户端提供数据接收客户端的请求数据,然后向客户端发送相对应的数据管理员登录只有指定用户才能进行登录本服务端信息管理系统客户端用户信息增删查改提供客户端用户信息的增加、删除、查询、修改的功能手游信息增删查改提供手游信息的增加、删除、查询、修改的功能手游评价信息增删查改提供手游评价信息的增加、删除、查询、修改的功能表3-2服务端概要设计表图3-6服务端登录模块流程图图3-7服务端向客户端提供数据模块流程图图3-8服务端数据管理模块流程图3.3数据库设计数据库结构组织和数据库文件设计要根据不同用途,使用要求等,来决定数据库的整体组织形式等一系列问题。数据库,顾名思义,是存放数据的仓库,只不过这个仓库是在计算机存储设备上的,而且数据是按一定格式存放。数据库中的数据按一定模型组织描述和存储。具有较小的重复度,较高的数据独立性和易扩张性,并且可以被一定范围内的各种用户共享。在涉及数据库的软件开发中,需要根据有待解决的问题性质,规模,以及所采用的前端程序创建工具等。做出合适的数据库类型选择。在该项目中建立了两个数据库,客户端和服务器各一个,用这种设计方式主要是为用户减少许多不必要的流量浪费,如果只创建一个服务器数据库的话,用户每次连接上服务器时都会将服务器的所有资源全部接受一遍,但是事实上该项目并不需要实时的更新数据,因为有些菜品的信息可能很久都不会有变动,所以考虑在客户端也创建一个数据库把服务器端发送过来的数据存储在本地数据库中,当服务器有更新时只需要传递改变的数据就可以实现更新。3.3.1数据库表及其结构客户端数据库(SQLite)DownloadInfo表:编号,文件名,包名,图标链接,下载链接,下载进度,文件长度,文件详细信息链接,文件存储路径。服务端数据库(MySQL)User表:编号,头像链接,用户名,性别,生日,,邮箱,等级,经验,金币,注册时间,礼包数,收藏数,评论数。Game表:编号,标题,图标链接,包名,版本号,评价等级,描述,金币数,奖励金币数,游戏类别,文件大小,下载数量,下载链接,详情编号,作者编号。GameDetail表:编号,标签,详情图片链接,评论链接;Author表:编号,姓名,作者链接。Comment表:编号,评分,评论内容,评论日期,手游编号,评论者编号。3.3.2数据系统E-R(实体-联系)图用来描述数据关系模型,可以用来建立数据模型。本系统共有6个实体,其关系如图3-9所示。图3-9手游应用商店实体关系图3.3.3客户端数据库的连接客户端的数据库创建代码如下所示:publicclassFileDownDBOpenHelperextendsSQLiteOpenHelper{ privatestaticfinalStringDBNAME="wormhelp.db"; privatestaticfinalintVERSION=1; publicFileDownDBOpenHelper(Contextcontext){ super(context,DBNAME,null,VERSION); } @Override publicvoidonCreate(SQLiteDatabasedb){ db.execSQL("CREATETABLEIFNOTEXISTS" +FileDownColumns.TABLE_NAME_FILEDOWN +"(_idintegerprimarykeyautoincrement,"+FileDownColumns.NAME+"varchar(100),"+FileDownColumns.FILENAME+"varchar(100),"+FileDownColumns.PACKAGENAME+"varchar(100),"+FileDownColumns.ICONPATH+"varchar(100)," +FileDownColumns.DOWNPATH+"varchar(100)," +FileDownColumns.FILESAVEPATH+"varchar(100)," +FileDownColumns.FILELENGHT+"INTEGER,"+FileDownColumns.DETAILURL+"varchar(100)," +FileDownColumns.PROGRESS+"INTEGER)"); } @Override publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){ db.execSQL("DROPTABLEIFEXISTS" +FileDownColumns.TABLE_NAME_FILEDOWN); onCreate(db); }}客户端数据库链接代码(主要代码)如下所示:3.3.4服务器数据库的连接3.4系统结构本系统采用HTTP协议来进行数据传输。采用C/S结构,客户端为基于Android操作系统平台的智能,主要的业务逻辑则服务器端来实现,数据存储在数据库服务器3.4.1部署图系统部署如图3.7所示,客户端采用基于Android操作系统平台的智能,服务器端包括服务器、图形界面化工具和数据库服务器,主要处理业务逻辑和对数据的增删改查。图3-10系统部署图3.4.2类图根据已建立的用例图确定要建立的对象类并确定属性和操作。通过检查类的定义,分析问题的需求和运用该领域知识来确定类的属性。根据系统功能需求和系统设计需要确定类的操作,本系统有6个实体类,分别为下载信息实体类(DownloadInfo)、用户实体类(User)、评论实体类(Comment)、手游实体类(Game)、手游详情实体类(GameDetail)、手游作者实体类(Author),如图3-11所示。图3-11实体类图3.5执行概念本系统时序图如图3-12所示:图3-12时序图客户端发送请求给服务器,服务器的后台Action负责处理数据。服务器业务逻辑处理会调用Service,进行数据处理。Service调用Dao,Dao把数据保存到数据库DB中。DAO返回结果给Service,Servie进行数据处理后将结果返回给Action。Action把结果返回给客户端。系统实现4.1Android环境搭建任何事物要运行,都要有它的环境,Android也有它的环境才能够运行,下面介绍Android的开发环境配置.搭建开发环境需要的软件:操作系统:Windows7或Linux软件包:AndroidSDK(SoftwareDevelopmentkitJavaDevelopmentkit)、ADT(AndroidDeveloopmentTool)DE环境:EclipseIDE+ADTEclipse3.3以上JDK:JavaRuntimeEnvironment虚拟机、(JDK)JavaDevelopmentkit安装AndroidSDK:首先要下载SDK,可以在这个网址下载Http:///sdk,如图4-1,选择相应的系统进行安装图4-1SDK下载安装AndroidADT插件运行Eclipse,选择help->installnewsoftware选择add,将会弹出一个框,如图4-2所示图4-2ADT的安装4.2客户端4.2.1用户登录用户登录界面如下:图4-3手游商店登录界面登录代码(主要部分)://先判断用户名和密码是否为空,然后向服务器发送登录请求...判空处理...@OverrideprotectedMap<String,String>getParams()throwsAuthFailureError{ Map<String,String>map=newHashMap<String,String>(); map.put("name",name); map.put("pass",pass); returnmap; }//从服务器获取返回结果后,客户端进行处理privatevoidhandleLoginInfo(LoginInfoinfo){ if(info==null){ WormToast.shortToast(getApplicationContext(),R.work_wrong); return; }//将登录状态记录下来 PreferenceUtil.setPrefInt(getApplicationContext(),PreferenceUtil.USER_LOGIN_STATE,info.getState()); if(info.getState()==LoginInfo.LOGIN_STATE_FAIL){ WormToast.shortToast(getApplicationContext(),R.string.login_login_fail); }elseif(info.getState()==LoginInfo.LOGIN_STATE_SUCCESS){ MyApplication.sUserInfo=info.getUserInfo(); //登录成功后,返回到主界面 setResult(RESULT_OK); finish(); } }4.2.2用户注册注册界面如下:图4-4注册界面注册代码(主要部分)://先进行字段判空等处理,然后向服务器发送注册请求...判空处理...@OverrideprotectedMap<String,String>getParams()throwsAuthFailureError{ Map<String,String>map=newHashMap<String,String>(); map.put("name",name); map.put("pass",pass); map.put("email",email); returnmap; }privatevoidhandleRegisterInfo(RegisterInfoinfo){ if(info==null){ WormToast.shortToast(getApplicationContext(),R.work_wrong); return; }//将注册状态记录下来 LoginInfo.saveLoginState(getApplicationContext(),info.getState()); if(info.getState()==RegisterInfo.REGISTER_STATE_FAIL){ WormToast.shortToast(getApplicationContext(),R.string.register_fail); }elseif(info.getState()==RegisterInfo.REGISTER_STATE_ERROR){ WormToast.shortToast(getApplicationContext(),R.string.register_error); }elseif(info.getState()==RegisterInfo.REGISTER_STATE_SUCCESS){ MyApplication.sUserInfo=info.getUserInfo(); //注册成功后,返回到登录界面 setResult(RESULT_OK); finish(); } }4.2.3游戏浏览主界面截图:图4-5游戏浏览主界面截图主要代码://向服务器发送数据请求,并处理返回结果StringRequestrequest=newStringRequest(path,newListener<String>(){ publicvoidonResponse(Stringjson){ loading=false; loadingViewUtil.hideLoadingView(); pullListView.onRefreshComplete(); if(json!=null){ if(!isNext){//解析返回的Json数据 BestGamegame=JsonHomeUtil.getBastGameFromJson(json); if(game!=null){ //头部viewpager size=game.getAdvertisements().getResults().size(); if(size>0){ vpAdapter.bindData(game.getAdvertisements().getResults()); vpHead.setAdapter(vpAdapter); initDots(size); switchDot(0); //每隔4秒钟切换一张图片 isPagerAutoTurn=true; mHandler.postDelayed(viewPagerTask,4*1000); } //下方listview if(game.getPackages()!=null){ nextPath=game.getPackages().getNext(); lvAdapter=newGameLVAdapter(getActivity()); lvAdapter.bindAata(((game.getPackages().getResults()))); pullListView.setAdapter(lvAdapter); } } }else{ //下方listview加载 Packagepackage1=JsonHomeUtil.getPackagesFromJson(json); if(package1!=null&&lvAdapter!=null){ nextPath=package1.getNext(); lvAdapter.appendData(package1.getResults()); lvAdapter.notifyDataSetChanged(); } } } } },newErrorListener(){ publicvoidonErrorResponse(VolleyErrorerror){ layoutNoNetworkutil.showNoNetworkLayout(); } });4.2.4游戏下载手游下载截图如图4-6所示:图4-6手游下载管理界面手游下载的主要代码如下所示://添加一个下载任务publicvoidonClick(Viewv){...一些判断处理...downloadManager.addNewDownload(result,Util.getFilePath(result.getDownload()),//如果目标文件存在,接着未完成的部分继续下载。服务器不支持RANGE 时将从新下载。true,//如果从请求返回信息中获取到文件名,下载完成后自动重命名。false,null);while(downloadInfo==null){downloadInfo=downloadManager.getDownloadInfo(result.getDownload();}//下载状态回调requestCallBack(downloadInfo,holder);...}//将下载请求添加到下载线程中publicvoidaddNewDownload(...)throwsDbException{...数据处理...HttpUtilshttp=newHttpUtils();http.configRequestThreadPoolSize(maxDownloadThread);HttpHandler<File>handler=http.download(result.getDownload(),target,autoResume,autoRename,newManagerCallBack(downloadInfo,callback));...returnDownloadCount();}//下载线程@Override publicvoidrun(){ ... try{ HttpURLConnectionhttp=(HttpURLConnection)downUrl.openConnection(); ...初始化请求... intstartPos=block*(threadId-1)+downLength; intendPos=block*threadId-1;//设置请求的数据范围,实现断点下载 http.setRequestProperty("Range","bytes="+startPos+"-"+endPos); ... InputStreaminStream=http.getInputStream(); ...读取数据... }catch(Exceptione){... } } }4.2.5软件管理设置界面如图4-7所示:图4-7软件卸载截图//机身可用内存,内存总大小publicvoidsetDateInternalMemory(){ Filepath=Environment.getDataDirectory(); StatFsstat=newStatFs(path.getPath()); longblockSize=stat.getBlockSize(); longtotalSize=stat.getBlockCount()*blockSize; longavailableSize=stat.getAvailableBlocks()*blockSize;//内存总大小 StringDATE=Formatter.formatFileSize(getActivity(),totalSize); Stringdate=Formatter.formatFileSize(getActivity(),availableSize);//可用内存 StringuseDate=Formatter.formatFileSize(getActivity(),totalSize -availableSize); pgb_unload_memory_instory.setMax(100); intprogress=(int)((float)(totalSize-availableSize)/totalSize*100); pgb_unload_memory_instory.setProgress(progress); tv_unload_memory_instory.setText("已用"+useDate+"可用"+date); }//根据包名卸载应用privatevoidunLoadAPp(StringpackageName){ UripackageUri=Uri.parse("package:"+packageName); IntentdeleteIntent=newIntent(); deleteIntent.setAction(Intent.ACTION_DELETE); deleteIntent.setData(packageUri); startActivityForResult(deleteIntent,REQUEST_CODE_UNLOAD);}4.3服务端4.3.1响应客户端登录请求//登录请求的Struts配置<actionname="login"class="useraction"method="login"> <resulttype="json"></result></action>//Action的处理publicvoidlogin(){

... Stringname=(String)request.getParameter("name"); Stringpass=(String)request.getParameter("pass"); Map<String,Object>map=mUserService.login(name,pass); try{ ResultUtils.toJson(response,map); }catch(IOExceptione){ ... } }//将结果转换为Json格式返回给客户端publicstaticvoidtoJson(HttpServletResponseresponse,Objectdata)throwsIOException{ PrintWriterout=null; try{ Gsongson=newGson(); Stringresult=gson.toJson(data); ... out=response.getWriter(); out.print(result); out.flush(); }finally{ if(out!=null){ out.close(); } } }//Service的处理publicMap<String,Object>login(Stringname,Stringpass){... Map<String,Object>map=newHashMap<String,Object>(); if(!TextUtil.isEmpty(name)&&!TextUtil.isEmpty(pass)){ Useruser=mUserDao.login(newUser(name,pass)); map.put(USER_INFO,user); if(user!=null){ map.put(STATE,User.LOGIN_STATE_SUCCESS); returnmap; } } map.put(STATE,User.LOGIN_STATE_FAIL); returnmap; }//Dao的处理publicUserlogin(Useruser){ if(user!=null){ try{//从数据库查询数据 User_user=(User)sqlMapClient.queryForObject("User.check",user); if(_user!=null){ return_user; } }catch(SQLExceptione){ ... returnnull; } } returnnull; }//SQL语句的配置 <selectid="check"parameterClass="user"resultClass="user"><![CDATA[select*fromuserwhereusername=#userName:VARCHAR2#andpassword=#passWord:VARCHAR2#]]> </select>4.3.2用户信息管理用户信息管理界面如图4-8所示:图4-8用户管理界面用户管理的主要代码如下所示://用户信息展示主要通过JavaScript来查询配置$(function(){ $("#gridTable").jqGrid({//用户信息查询接口 url:"User/queryUser", datatype:"json", mtype:"post", autowidth:true, colNames:['ID',...], colModel:[{ name:"ID", index:"ID", label:"ID", width:15, sortable:true },...], viewrecords:true, sortname:"ID", rowNum:5, rowList:[5,10,15,20,30], prmNames:{ search:"search" }, jsonReader:{ root:"dataList", records:"record", repeatitems:false }, pager:"#gridPager", caption:"员工信息列表", hidegrid:false });//配置对话框 $("#consoleDlg").dialog({ autoOpen:false, resizable:false, modal:true, buttons:{ "取消":function(){ $(this).dialog("close"); }, "新增":addStudent, "修改":updateUser, "删除":deleteUser } }); $("#Name").val("");});//SQL语句的配置<selectid="queryOrder"parameterClass="java.util.Map" resultClass="user"resultSetType="SCROLL_INSENSITIVE"> <![CDATA[ SELECT*FROMuser whereusernamelike'%$userName$%'ORDERBY$orderID$$sord$ ]]></select> 结束语致谢PAGE1参考文献[1]

张孝祥著.

java就业培训教程[M].北京:清华大学出版社,2021.

[2]

余志龙编著.Google

Android

SDK开发范例大全[M].北京:人民邮电出版社,2021-7-1.

[3]

E2ECloud工作室著.深入浅出Google

Android[M].北京:人民邮电出版社,2021-08-1.

[4]

靳岩

姚尚朗著.Google

Android开发入门与实战[M].北京:清华大学出版社,2021-07-01.

[5]

高昂著.支持动态语言的Android平台[M].北京:人民邮电出版社,2021-05-07.

[6]

eoe.Android开发社区./.

2021-04-10.

[7]

JavaEye论坛./forums.

2021-04-15.

[8]Android

API文档./.

2021-04-10.

[9]

高焕堂编.Android

应用框架原理与程式设计(第三版)[M].北京:清华大学出版社,2021-10-03

[10]

杨丰盛主编.Android

应用开发揭秘[M].西安:机械工业出版社,2021-01-25

为你提供优秀的毕业论文参考资料,请您删除以下内容,O(∩_∩)O谢谢!!!AlargegroupofteamerchantsoncamelsandhorsesfromNorthwestChina'sShaanxiprovincepassthroughastopontheancientSilkRoad,Gansu'sZhangyecityduringtheirjourneytoKazakhstan,May5,2021.Thecaravan,consistingofmorethan100camels,threehorse-drawncarriagesandfoursupportvehicles,startedthetripfromJingyangcountyinShaanxionSept19,2021.ItwillpassthroughGansuprovinceandXinjiangUygurautonomousregion,andfinallyarriveinAlmaty,formerlyknownasAlma-Ata,thelargestcityinKazakhstan,andDunganinZhambylprovince.Thetripwillcoverabout15,000kilometersandtakethecaravanmorethanoneyeartocomplete.ThecaravanisexpectedtoreturntoJingyanginMarch2021.Thentheywillcomeback,carryingspecialtyproductsfromKazakhstanAsmallarttroupefoundedsixdecadesagohasgrownintoahouseholdnameintheInnerMongoliaautonomousregion.Inthe1950s,UlanMuqirArtTroupewascreatedbynineyoungmusicians,whotouredremotevillagesonhorsesandperformedtraditionalMongolianmusicanddancesfornomadicfamilies.The54-year-oldwasborninTongliao,ineasternInnerMongoliaandjoinedthetroupein1975.Hesaysthereare74branchtroupesacrossInnerMongoliaandactorsgivearound100showseveryyeartolocalnomadicpeople."IcanstillrecallthedayswhenItouredwiththetroupeintheearly'80s.Wesatonthebackofpickuptrucksforhours.Theskywasblue,andwecouldn'thelpbutsingthefolksongs,"Nasunsays.ThevastnessofInnerMongoliaandthelackofentertainmentoptionsforpeoplelivingthere,madetheirliveslonely."Thenomadicpeoplewereveryexcitedaboutourvisits,"Nasunrecalls."Wedidn'thaveaformalstage.Theaudiencejustsatonthegrass.Usually,theperformancesbecameabigpartywithlocalpeoplejoiningin."Forhim,therewardingpartabouttouringisn'tjustaboutsharingartwithnomadicfamiliesbutalsoaboutgaininginspirationforthemusicanddance.UlanMuqirliterallytranslatesas"redburgeon",andtoday'sperformersofthetroupestilltourtheregion'svillagesandentertainnomadicfamilies,buttheirfamehasspreadaroundtheworld.OnMay16and17,nearly100singersanddancersfromthetroupeperformedatBeijing'sPolyTheater.Theirshow,titledUlanMuqirontheGrassland,depictedthehistoryanddevelopmentofthearttroupe."BeingfromtheregionallowedmetoembracethecultureofInnerMongoliaandbeingamemberofthetroupeshowedmewhereIbelonged,"Nasun,thearttroupe'spresident,whoisalsoarenownedtenor,tellsChinaDaily.Duringatourin1985,hewenttoavillageandmudconcubinewhowassupposedtoconquerthehighgroundoftheNorthAmericanmarket.ZhenHuanis,ofcourse,thetitlecharacterofTheLegendofZhenHuan,a2021televisionseriesthatsweptChinaoffitsfeetandlatertookotherAsiancountriesbystorm.Twoyearsago,itwasreportedthatHBO,apremiumcableserviceheadquarteredintheUnitedStates,wasgoingtoairitinNorthAmericaaftersomemodification.Now,acondensedversionthatprovidesEnglishsubtitlesbutnodubbinghasfinallybeenmadeavailableonNetflixforonlinestreaming.Thisversion,highlyanticipatedasamilestoneinChina'sculturalforayoverseas,hasbeenwidelypannedbyitshomeaudience.RetitledEmpressesinthePalace,theAmericanversionhasbeenshortenedfromitsoriginal76episodesat45minuteseach,tosix90-minuteepisodes.Thequickpacingthrewoffmanynativeviewers,whoareaccustomedtoamoreleisurelydaytime-soap-stylenarrativerhythm.(ChineseTVstationswouldruntwoorthreeepisodeseveryday.)Ididnotfinishthefull-lengthversionandfoundthetruncatedonenotdifficulttofollow.What'slost,Ibelieve,aretheinterestingsetupsandpausesthatilluminatetheChineseartofstorytelling.Muchoftheplotisstillthere.Itistheflavorthatwassacrificed.TheAmericaneditionusestheframeworkoftheEmpressDowagerinhersenioryearsreminiscingatthebeginningandtheendofeachepisode,hintingatwhat'stocomeandrecappingthekeypoints.Thisdevice,notusedintheoriginal,isculturallyunderstandablebutartisticallymediocre.Whatpuzzlesmeisthetwonewsongsfortheopeningandendcredits.TheywerewritteninEnglish,butsungbyChinesewithanuncomfortableaccent.TheywereobviouslydesignedtoappealtoanEnglish-speakingbase,butdonotjibewiththeChinesedialogue.Speakingofthedialogue,theEnglishtranslation,pickedapartbysomeChinese,istooliteralformytaste.IcanimagineatypicalAmericanhitbyaflurryofroyalranks,addressesandgreetings,evenmultiplenamesandtitlesforthesameperson.Thefirsthalfhourmustbeaswamptowadethrough,verymuchlikemyexperienceofgettingthroughaTolstoytomewithitsendlessinflectionsofnamestransliteratedintolengthyChinese.Iseethechoiceofverbatimtranslationasaneffortforconveyingexotica.Itisfairlycompetent,withnoerrorthatIcoulddetect,butfailstoriseabovewordsorcapturetheessenceofthelanguage.Aculturalproductusuallycrossesovertoaforeignterritoryfirstbyanemphasisonthecommonalities.ButwhetherinsideoroutsideChina,thetemptationtosellitforthedifferencesisjusttoogreat.Sure,thesumptuoussetsandcostumesareabigattraction,butthenarrativetechniquehasbecome-howshallIputit?-abitanglicized,whichisnecessaryforculturalexport.Judgingbytheresponses,thislegend,which,contrarytotheclaimoftheEnglishtrailer,istotallyfictitious,hasdepartedfromChinabutnotyetlandedonAmericanshores.IamabigfanofRalphWaldoEmerson'sessaytitledSelf-Reliance.Ifyou'venotyetreadit,Istronglyencourageyoutodoso.Inthisessay,thevenerableEmersontalksabouteschewingthetrappingsofsocietyandfindingone'sownpath.Heurgesthereadertofindrectitudeandleadamorallife.Heprofessesthat,onlybybeingselfreliant,asopposedtorelyingonthegovernmentandbeingdictatedtobysociety,canonebeginleadingadecentandpurposefullife.Heaversthatsuchalifeistheonlylifeworthliving.Iagreewithhim.ThisessaywaswrittenduringatimeofsocialupheavalinAmerica,anditisratheroddthatEmersonauthoredit,ashewasapartoftheuppercrustofsocietyatthetime.Itjustsohappenedthathelookedaroundhim,attheindolenceandthewantonnessofthepeopleinhiscircle;hewonderedhowintheworldhecametobelongthere.Indeedhispenningandpublishingthisessaycausedhisexcommunicationfromhighsocietyandalsocausedhimalotoflegaltrouble.Thelegaltroublecameasaresultofthefactthathewasspeakingoutagainstthegovernment.Iliketoreferencesuchtextsfromtimetotimeasanexamplebothofthefactthathistorydoesrepeatitselfandthatthisworldisnotsobigthatwhatappliestoonesocietydoesnotinanywaytouchanothersociety.Onamuchsmallerscale,Emerson'sessayaffectsmeverydeeply.Notasanurgingtobecomeselfreliant–I'mnothingifnotthat!Inhistextheexpoundsontheideathatonemustgivetheirlifeapurpose.Andthatisthetruetopicofthisentry.Theselastfouryearshavebeensoeasy:teachforagrandtotalofsixhoursaweek,andtherestofmytimeismine.SinceI'vebeenhereIhavebeentaskedwithnothingmorechallengingthanlearningmystudents'namesandfiguringoutwhattodowiththemforthebrieftimeeachweekthatIstandinfrontofthem.Idonotconsiderthechallengesoflearningtoliveherepartofapurposefullife.Iconsiderthoseissuesexistentialinnature.OneoftheproblemswithmylifeinAmericawasthatIfeltithadnopurpose.IwenttoworkeverydayandevendidwhatIcouldtomakemycolleagues'workliveseasier,butIsimplycouldnotdigestthefactthatthatwasmysolepurposeinlife.Withnofamilytosupport,Iwasthesolebeneficiaryofmyemployment:thepaycheck,thebenefits,theincentivesandtherewardswereminealone.Notmuchofapurposeinbeingself-serving,isthere?WhileIwasastudent,IfeltIwasleadingapurposefullife.Learningnewthings,broadeningmyhorizons,expandingmylifeexperiencesallgavemylifeazipanddrivethatIhadnotfeltsincebeinginsurvivalmodewhenmykidswe

温馨提示

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

评论

0/150

提交评论