王正磊

  • 技术能力:
  • 工作态度:
  • 工作成果:
收藏 立即预约
项目意向
940元 全程集中 - 工作经验: 擅长技能: HTML
平台工作经历
其他工作经历
公司名称 北京同方鼎欣信息技术有限公司
在职时间 2010-10-01 ~ 2012-01-01
职位名称 软件工程师
薪水 0/月
项目描述 软件/互联网开发/系统集成
个人职责 外派 高级软件工程师职位级别: 中级职位(两年以上工作经验)职责和业绩: 参与ophone系统中应用软件的研发、维护、应用压力测试软件的研发以及自动化测试工程的研发、研发团队小组的关于项目需求的讨论及相关文档手册的编写,参与系统的分析与设计,完成软件开发代码编写、测试工作以及参与项目后期的服务工作; 2011/8---2012/1: Ophone视频客户端 Ophone视频客户端主要功能实现对web服务器端的视频信息浏览,视频下载、并实现对本地视频文件的播放功能 技术要点 : 项目中用到的Pull解析器读写xml数据,使用Android自带的SQLite 数据库存放用户数据,使用SharedPreferences 保存参数设置,使用HttpURLConnection 实现应用与Internet的数据上传下载。并利用Android自带的MMI(多媒体接口)实现Mp3 播放器,采用MVC 模式编写,在业务bean编写的过程中采用Android Junit反复对业务进行单元测试,在确保业务bean正确的情况下再供Ui进行调用。 各模块的技术要点: 1: 手机上显示的最新视频资讯数据来源于web服务器,客户端以Http请求的方式从服务器获取以xml数据格式返回的视频资讯,然后使用pull技术完成对xml数据的解析,解析后的数据使用ListView显示。 2: 软件具有视频下载功能,需要实现断点续传功能。 断点续传实现原理: 当从服务器下载文件时,可以通过http中的头字段RANGE指定从文件的什么范围开始下载,如: bytes=[crit]100090[/crit]-[crit]300080[/crit],要求从文件的[crit]100090[/crit]位置开始下载,下载到[crit]300080[/crit]位置停止(含该位置),发送到服务器的http协议部分如下: GET/zhaodl.3gp Htttp/1.1 RANGE: bytes=[crit]100090[/crit]-[crit]300080[/crit] 为了加快下载速度,采用多线程下载,先计算出每条线程应该从文件的哪个位置开始下载,然后使用RandomAccessFile类保存文件,RandomAccessFile类的seek(nPos)方法可以指定每条线程从文件的什么位置开始保存数据,当所有线程完成下载之后,文件数据就写入完整。 断点数据采用SQLite 数据库存放,记录了文件的下载路径,每条线程的id和每天线程下载的数据长度。 2011/5----2011/7: ophone 视频播放器 播放器主要实现的功能是播放手机里的各种影音文件并且在播放影音的时候电话来电时暂停播放,并在挂断电话后继续播放 技术要点 : 当电话来电时,会激活来电号码显示Activity,新Activity打开会导致视频播放器activity生命周期方法onPause() 被系统调用,可以重写pnPause()方法,在方法里保存视频当前播放的位置,然后停止播放,在来电号码显示Activity关闭后(挂电话),从保存位置继续播放,虽然心activity关闭后导致视频播放器activity的生命周期方法onResume()被系统调用,但继续播放视频的处理代码不能写在onResume()里,如果写在onResume()里,继续播放视频是,视频画面将是黑屏,原因是SurfaceView 在新的Activity打开时会被销毁,在新Activity关闭后回到视频播放器activity,SurfaceView会被重新创建,创建行为是在onResume()之后,所以在SurfaceView尚未创建出来就企图在onResume()f方法恢复播放视频,视频画面将是黑屏。解决办法是注册SurfaceView的回调方法surfaceCreated(),该方法是在SurfaceeView创建完成时被系统调用的,可以在该方法里实现继续播放视频的处理代码。 2011/3----2011/4: OMSMark 手机测试基准软件 OMSMark 是芬兰Espoo(美国商业资讯) Rightware公司和中国移动合作推出的一个新的基准软件,作为测试手机合格条件的标准测试套件。通过OMSMark,中国移动及其手机合作伙伴可以准确可靠的测量手机在运转OMS操作系统时的性能。 技术要点 : 主程序中通过Button的onclick事件触发uploadFile()的运行,uploadFile()为自定义的上传文件方法,程序中用URL.openConnection()取得HttpURLConnection对象,设置HttpURLConnection的相关参数后,通过HttpURLConnection.getOutputStream()取得DataOutputStream: 使用write()方法将要上传的文件以一次1024bytes 的方式写入DataOutputstream中,并通过flush()将request传送出去,最后利用HttpURLConnection。getInputStream()取得服务器的request,并显示在dialog中。 2010/10----2011/2: OMS系统自动化测试脚本的开发 OMS系统是中国移动主导的开放式操作系统,基于GoogleAndroid,和Android平台兼容,由移动和播思通讯开发,内置了移动的一系列服务菜单。OMS测试主要是采用instrumentation组件和A-tool测试工具,主要负责的模块有AlarmClock,SoundRecord,ToDoList,backup,Notes 技术要点 : 开发中主要用到的类有: TestCase、ActivityTestCase、InstrumentationTestCase、ServiceTestCase、ActivityInstrumentationTestCase;测试开发中个人总结以下几点原则: 首先InstrumentationTestRunner 收集测试类中所有的测试到一个集合(suite),然后逐个执行集合中的每一个测试,测试在执行钱先会执行测试所在类中的setUp()方法 为测试建立所需要的环境,然后调用测试方法,最后调用测试类中的tearDown()方法清楚测试对环境的改变; 一个测试最好只针对一个测试点,测试断言(Assert)要在测试点失败时给出足够的信息来定位失败的原因。 A-tool 是移动自己的测试工具,通过记录显示屏的点击事件来生成脚本,来实现测试。
使用技能
公司名称 耐斯传播有限公司
在职时间 2009-09-01 ~ 2010-05-01
职位名称 软件工程师
薪水 0/月
项目描述 软件/互联网开发/系统集成
个人职责 软件工程师职位级别: 初级职位(两年以下工作经验)职责和业绩: 参与研发团队小组的 关于项目需求的讨论及相关文档手册的编写,参与系统的分析与设计,完成软件开发代码编写、测试工作以及参与项目后期的服务工作 2009/11---2010/4: CC通讯 CC为一款企业级内部使用的即时聊天应用软件。提供用户注册和登陆,添加好友,好友分组,查询好友,发送和接收文件,软件设置,发送邮件等功能,使CC手机客户端可以与不同合作企业的同事朋友之间进行即使的在线交流与文件共享。 技术要点 : 在项目中,使用到了Scoket套接字编程来实现在线聊天功能以及进行和系统交互时使用Android内置的pull解析器,来解析传输的xml文件,以及使用内置轻量级关系型数据库SQlite来存放用户信息,而相应的软件参数保存使用的为Android提供的SharedPreferences来进行保存。文件共享模块主要用到的为HttpURLConnection来实现与Internet的数据交互。发送邮件模块主要是在EditText、Button控件的构建,以及Intent意图构建和Email类型的判断。软件在编写时,采用MVC模式编写,并且使用Junit3进行单元测试,确保业务bean正确的情况下再提供给前台调用,以及四中运行坏境的测试运行。 在解析XML文件时,Pull解析器解析大容量xml文件内容: 当与系统交互时,xml文件过大,使用Dom解析方式解析xml会导致内存崩溃,而Sax解析方式中,会使用list集合对xml文件解析之后进行封装与传递,但是在大容量的xml文件时,sax解析也是存在于内存的,会导致与dom解析方式相同的问题。而Pull解析器解析xml文件的好处在于,可以手动的去控制指针,不同于sax流式处理方式。调用next()方法前,可以进行业务判断以及进行业务处理。这样,结合SQlite数据就能解决解析大容量的xml文件的困难。另外一种解决方式则为sax与dom两种方式的结合(我们并未采用)。
使用技能
教育经历
院校名称 山东理工
毕业时间
所学专业 软件技术
最高学历 本科