【导语】下面是小编为大家整理的安卓开发工程师个人简历(共13篇),仅供参考,喜欢可以收藏与分享哟!

篇1:安卓开发工程师个人简历
姓名 XXX
性别 男
生日 1991.5
身高 163
籍贯 广西
民族 汉族
政治面貌 团员
毕业院校 桂林电子科技大学
学历 大专 专业 计算机信息管理
联系电话 ***********
电子邮件 ***@XXX.com
求职意向
应聘职位 Java/Android手机开发程序员
工作地点 北京市
期望薪资 根据我的能力给予我适当的工资
个人简介
本人毕业于桂林电子科技大学。在校表现优秀,热爱学习、有很强的自学能力,上进心强、乐于助人、工作耐心有责任感,不达目的不罢休。缺点就是太过追求完美的东西在校期间
担任过团支书,求学期间做过一些项目开发,如AndroidMP3播放器,Android***小游戏,Android****服务,新闻管理系统,图书管理系统,移动计费系统等,对Android非常痴迷,几乎到狂热状态希望公司能给我一个学习的机会,本人会奉献所有的激情为公司创造价值
爱好特长
Android、看书、听音乐
专业技能 1. Android移动开发,Android是Google的开源移动手机平台。了解Android的基本知识懂得四大组件。
2. 掌握Macromedia Dreamweaver 8、ASP基本语言、VB语言、Java、Java Web、MySQL、SQL Server、Struts、XML、SSH、J2EE。
3. 掌握Windows的基本办公软件、Macromedia Flash 8操作、Photoshop 7.0使用。
4. 熟悉软件测试网络环境配置,如:WEB服务配置,MySql5.1配置,Microsoft SQL Server配置。IIS配置。
5. 有一定的计算机基础知识,熟悉Windows操作系统。
6. 了解C、C++,能够看懂及进行简单初步的代码编写。 7. 了解数据库基础知识、SQL语言。
教育背景
时间 所在学校 所学专业 职业资格和学位
XX.9-.7 桂林电子科技大学 计算机信息管理 桂林电子科技大学
学历证书
社会实践
在XX―XX学年度荣获11级“三好学生”称号
参加红树林 “团结的力量”拓展训练培养团队意识 并获得证书
XX.2―XX.4在广东中山长虹工作
项目经验
Android 手机MP3播放器
简易MP3播放器,基本实现播放功能,播放,暂停,进度条,同步歌词及时间栏等,本项目为Android应用的实例开发。
本人在小组中担任developer角色,负责主要代码的编写其中包括Activity和Service之间服务的绑定,以及通过启用新的线程,将需要更新的信息通过Handler的Runnable加到主线程UI更新的队列中,实现滚动条随时间移动的效果,并通过滚动条反控制当前播放的时间,完成滚动条拖动时,时间随即更新且歌曲无干扰播放。
Android ***小游戏第一关 使用imagebutton,当点击时候发生事件,本身以及周围按钮实现图片反转,
图片用了Opera和Chrome,全部为opera图片时则通关
Android **服务
Activity和Service之间服务的绑定,取EditView的text通过服务的绑定取得Service对象,而后调用Service里面的业务逻辑处理方法,在textView去承装使用者的健康信息。
Java****棋
该项目涉及的技术要点一Java基础为主,技术难点就是数组的应用以及业务处理的逻辑,本人在项目开发中成该项目中地动态地图的实现,
职业目标 本人能以高度的责任心,敬业心,创业心与贵公司共创美好未来!希望贵公司给我一个展示自我能力的空间!
附:
在撰写个人简历的时候,能够巧妙的结合个人能力,铸就最出色简历,而个人的能力包括有很多方面,比如说技能上就包括有硬技能还有软技能。相对来说软技能更好些一些,不需要有专业证书,通过一些兴趣爱好就能够体现出来。
(1),沟通能力
不管是从事什么行业领域,所应聘的单位属于什么性质,沟通能力都是普遍使用的软技能。沟通能力不仅是上级对你的管理上需要, 也是你对下级交流上的需要。在一个组织中有交流就要有沟通能力。而沟通能力在个人兴趣爱好上⊥ü演讲、辩论赛等来体现出来,当然其他一些先关语言交流上的爱好也可以体现此方面的技能。
(2),团队精神
求职是来应聘企业单位或者其他事业单位的招聘,求职成功之后就要加入所对应的组织。而不管组织是属于怎样的性质,要能够提高其工作效率,需要人才要具有较高偶的团队精神。团队精神也是非常中遨游的软技能之一,可以通过一些团队性质的爱好来体现,例如足球、篮球等团队性的运动。
(3),战略意识
人才的战略意识也是个人的谋略能力,在企业管理上还有销售方面都需要有这种能力,战略意识也包括大局观,爱好棋类并在此方面有一定的造诣的人,则具有很高的战略能力以及意识。
此外,人才的环境适应能力、学习能力一额可以通过旅游爱好来体现,还有一写运动、艺术等方面爱好,也会对应一些软技能。
篇2:安卓开发工程师简历
个人信息
性 别: 男
民 族: 汉族 出生年月: 1994年4月26日
婚姻状况: 未婚
身 高: 180cm 体 重: 65kg
户 籍: 福建泉州 现所在地: 福建莆田城厢区
毕业学校: 莆田学院 学 历: 本科
专业名称: 计算机类 计算机科学与技术 毕业年份:
工作经验: 一年以上 最高职称:
求职意向
职位性质: 全 职
职位类别: 计算机软件
职位名称: Android开发工程师 ;
工作地区: 福建-莆田市区 ;
待遇要求: 5000-6000元/月 可面议 ; 不需要提供住房
到职时间: 三天内
教育培训
教育背景:
时间 所在学校 学历
9月 - 206月 莆田学院 本科
其他信息
自我评价: 本人是在读的大四学生,学习过c、c++、汇编、.net、web、php、html等语言
因为酷爱手机软件,大二开始自学Java和Android,开发了两个功能比较完善的apk
学习能力强,乐于学习新技术,对IT有极高的热情
有较强的独立分析问题和解决问题能力,能够独立跟进和解决代码中出现的问题
细心,有良好的沟通能力,注重团队合作,理解能力较强
有一定的承压能力,有积极开放的心态
下面是本人的专业技能介绍:
熟练Java语言编程,理解C/C++的开发语言和环境
熟悉使用MVP+Retrofit+Rxjava模式,有较强的软件架构知识
熟悉使用Eclipse、Android Studio开发工具,svn、Git,有团队合作开发经验
熟悉使用Material Design风格布局
熟悉使用Android常用组件、框架、自定义控件、多线程设计
熟悉使用Android第三方登录、推送、分享、二维码扫描、短信验证等技术
熟练使用MySql及SQLite数据库开发,ORM框架的GreenDao和ORMLite
熟悉使用第三方类库,如SlidingMenu、PullToRefresh、EventBus等
掌握事件的分发和消费机制
掌握Android平台UI设计,动画效果实现
掌握网络通信机制,熟悉使用OkHttp和Retrofit
掌握Android App的性能优化和安全防护策略
掌握传感器、蓝牙的使用、Socket通信
拥有良好的代码习惯,结构清晰,命名规范,逻辑性强
基础扎实,精通常用数据结构与算法和设计能力
了解hybird app,html5、javascript和css
善于跟进Android的新技术发展
篇3:安卓开发工程师简历
个人信息
性 别: 男
民 族: 汉族 年 龄: 27
婚姻状况: 未婚 专业名称: 光电子
主修专业: 电子类 政治面貌: 群众
毕业院校: 福建信息职业技术学院 毕业时间: 6 月
最高学历: 大专 电脑水平: 精通
工作经验: 四年以上 身 高: 165 cm 体重:65公斤
现所在地: 新罗区 户 籍: 新罗区
求职意向
期望从事职业: java开发,Android开发,安卓 期望薪水: 8000-10000
期望工作地区: 新罗区 期望工作性质: 全职
最快到岗时间: 随时到岗 需提供住房: 不需要
教育/培训
教育背景:
学校名称: 福建信息职业技术学院 ( 9月 - 206月 )
专业名称: 光电子 学历: 大专
所 在 地: 福州 证书:
培训经历:
培训机构: 卓跃教育 ( 年10月 - 2021年6月 )
课程名称: java/Android 证书:
课程描述: 主要4个阶段:
第一阶段java培训,项目:俄罗斯方块
第二阶段Android培训,项目:音乐播放器
第三阶段web培训,项目:驾校管理系统
第四阶段SIS框架培训,项目:牵手西湖
工作经验
公司名称: 福建夺宝联盟网络技术有限公司 ( 2021年11月 - 2021年3月 )
所属行业: 互联网·电子商务 公司性质: 私营.民营企业
公司规模: 10人以下 工作地点: 福建龙岩
职位名称: Android开发工程师
工作描述: 负责Android项目开发
公司名称: 酒先来电子商务有限公司 ( 2021年6月 - 2021年10月 )
所属行业: 计算机软件 公司性质: 私营.民营企业
公司规模: 10~50人 工作地点: 龙岩
职位名称: Android开发工程师
工作描述: Android开发
离职原因: 公司内部股东问题,导致公司无法正常运行
公司名称: 福州富昌维控电子科技有限公司 ( 年6月 - 2021年8月 )
所属行业: 电子·微电子 公司性质: 私营.民营企业
公司规模: 50~200人 工作地点: 福州
职位名称: 维修部组长
工作描述: 担任维修部组长,主要负责维修部的管理,产品软硬件的维护。
自我评价
自我评价: 本人具有良好的团队沟通协调能力,抗压能力和多个项目开发经验。
语言能力
语种名称 掌握程度
英语 良好
普通话 良好
篇4:安卓开发面试题
1. 下列哪些语句关于内存回收的说明是正确的? (b ) A、 程序员必须创建一个线程来释放内存
B、 内存回收程序负责释放无用内存
C、 内存回收程序允许程序员直接释放内存
D、 内存回收程序可以在指定的时间释放内存对象
2. 下面异常是属于Runtime Exception 的是(abcd)(多选) A、ArithmeticException
B、IllegalArgumentException
C、NullPointerException
D、BufferUnderflowException
3. Math.round(11.5)等于多少. Math.round(-11.5)等于多少(c). c A、11 ,-11 B、11 ,-12 C、12 ,-11 D、12 ,-12
4. 下列程序段的输出结果是:(b )
void complicatedexpression_r(){
int x=20, y=30;
boolean b;
b=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60;
System.out.println(b);
}
A、true B、false C、1 D、011.activity5. 对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行(d) A、onPause() B、onCreate() C、 onResume() D、onStart()
6. Intent传递数据时,下列的数据类型哪些可以被传递(abcd)(多选) A、Serializable B、charsequence C、Parcelable D、Bundle
7. android 中下列属于Intent的作用的是(c) A、实现应用程序间的数据共享
B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失
C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带
D、处理一个应用程序整体性的工作
8. 下列属于SAX解析xml文件的优点的是(b) A、将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能
B、不用事先调入整个文档,占用资源少
C、整个文档调入内存,浪费时间和空间
D、不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会消失
篇5:如何学习安卓开发
学习安卓开发方法
首先:学习一门语言
众所周知,Android行业是一个高门槛行业,所以想要进入这个行业,首先要学习一门编程语言:从人才需求类型来看,目前对Android人才需求一类是偏向硬件驱动的Android人才需求,一类是偏向软件应用的Android人才需求。偏向Android硬件驱动Android人才,首先要学习的是C语言。由于现在大学里面和计算机相关的专业甚至理工类专业一般都会开设C语言课程,只是很多同学在大学期间并没有好好学习,如果对它掌握的不太好或者很久没用了,建议先从将其好好复习一下,将其基本的语法再好好回顾一下,最好能搭建一个环境来运行、调试它。如果没有学过,不妨也提前学习一下。大部分的高校所开设的C语言使用的教材都是用它作为教材,因此无论是购买还是借阅,都容易找到。
应用的Android开发需要学习Java语言。因为Android应用的开发语言用的是Java语言,并且在Android中也用到了Java核心类库的大量的类,因此,在学习Android开发之前,可以先把Java基本语法和Java SE的基础类库好好学习一下。Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只是机械的照抄别人的代码,是没有任何意义的。建议在安卓课程前期的java学习阶段中,需要用心的学好。
其次:熟悉数据结构和算法基础知识
如果后续有志于游戏方面的开发,最好具备一定的数据结构和算法基础知识。虽然现代的高级编程语言中,其类库中已经帮我们实现了大部分的数据结构,一般情况下,我们直接使用即可。但如果能对其原理有所了解,当需要在这些数据结构和算法中间的时候,可以更加的清楚到底应该选择哪个数据结构或者算法。另外,在图形图像处理上面,线性代数的作用也非常重要,如果能掌握一点这方面的基础知识,无疑也会在后续的学习中如虎添翼。
Android开发快速入门方法
1学习与思考
学习的过程中要广度和深度并存,Android应用开发对技术的要求不是特别高,在遇到问题时要知道用什么方法可以解决,平时多看书、多逛论坛、QQ群、Github、CSDN,对学习Android开发会非常有益。
2提问与交流
无论是经验丰富的专业Android开发者,还是初出茅庐的新人,学习Android开发最忌讳的就是闭门造车。
当遇到问题的时候,切勿自己钻牛角尖,可以与身边的其他学习者、开发者多交流,因为每个人的思维模式不一样,所以多与其他Android开发者沟通有助于扩展自己的思维。
在达内学习,每个班级的同学都会进行分组,目的就是鼓励学员在学习过程中多与组内其他学员交流,一起解决问题,提高学习效率。除此之外,也可以借助QQ技术交流群、搜索引擎等来解决遇到的问题。
3学会交叉参考
在查看与Android开发相关的书籍过程中,有些时候我们会发现书中的内容非常难以理解。这时,在反复阅读几遍后发现自己还无法理解的情况下,我们应该先放下这本书。
然后去找几本讲述相同主题的Android书籍或是几篇相关的Android博文来看,通过阅读不同书籍、文章来尝试从多个角度切入这个主题。
这样通过从各个角度击破,再难的问题最终也可以得到解答。
4学而不思则罔
很多学习Android开发的初学者都会陷入一个误区,那就是“学的太多,想的太少”,也就是一味的学习而很少思考。只是单纯的接收老师所传授的知识,这样带来的一个直接弊端就是“看过即忘”。
一些学员在考试结束后会反应,老师讲的都懂,但是一到考试的时候就发现,自己根本无从下手。所以在学习Android开发的过程中,我们务必要作为一个“主角”参与进来,对于进入我们脑中的知识加以“过滤”,比如可以从What、Why、How这三个角度来思考书本上的内容,这样能够更好的构建我们自己的知识网。
5实践是检验真理的唯一标准
Linux之父Linus说过一句流传于编程界的名言——“Talk is cheap,show me the code.” 对于一个概念,只有我们能用自己掌握的编程语言把它清晰无歧义的描述出来时,才意味着我们真正理解了它。
所以在学习Android开发的过程中,只有通过大量练习,不停敲代码,才能将所学知识真正理解。在达内Android开发教学中,老师在授课过程中会加入大量案例作为内容讲解,并在课下布置练习作业,让学员做到理论与实践的融会贯通。
6站在巨人肩膀上
多关注一些Android开发行业中的顶尖人物,了解他们对特定问题的解决方案,这样能少走许多弯路。当你也学有所成之后,可以通过写博客等方式把这份分享精神传承下去。此外,平时也可以多参加一些技术大会,多聆听一些专业大咖的分享。
猜你感兴趣:
篇6:安卓开发自我介绍
本人热情随和,具有进取精神和团队精神,擅长动手,有比较强的动手能力,勇于面对困难和挑战,有较好的分析问题与解决问题的能力;工作认真负责,积极上进,能够吃苦耐劳,有良好的职业素质;掌握C#、.NET、asp.NET、ajax、xml、JavaScript、html、css、div+css等技术 能够熟练使用sql MySQL Oracle数据库!有webform、winform相关项目开发经验! 了解Java语言能够使用JSP开发各种项目 了解SSH框架 ! 毕业后曾在xx公司任程序员,通过一年的工作和学习,使我对当前主流的三层、MVC架构,asp.Net有了更深的认识,能够熟练地开发相关项目。同时培养了我的团队合作精神和沟通能力,可以让我更快的融入新的工作团队,更好的为公司做出自己的贡献,实现自己的价值。 本人致力与追求更好的软件技术,能够在这个行业中取得优秀的成绩,在公司团队中成为中坚的技术人才,为公司创造更多的财富从而让自己成为团队中一个不可或缺的份子!
篇7:怎么学好安卓开发
首先:学习一门语言
众所周知,Android行业是一个高门槛行业,所以想要进入这个行业,首先要学习一门编程语言:从人才需求类型来看,目前对Android人才需求一类是偏向硬件驱动的Android人才需求,一类是偏向软件应用的Android人才需求。偏向Android硬件驱动Android人才,首先要学习的是C语言。由于现在大学里面和计算机相关的专业甚至理工类专业一般都会开设C语言课程,只是很多同学在大学期间并没有好好学习,如果对它掌握的不太好或者很久没用了,建议先从将其好好复习一下,将其基本的语法再好好回顾一下,最好能搭建一个环境来运行、调试它。如果没有学过,不妨也提前学习一下。大部分的高校所开设的C语言使用的教材都是用它作为教材,因此无论是购买还是借阅,都容易找到。
应用的Android开发需要学习Java语言。因为Android应用的开发语言用的是Java语言,并且在Android中也用到了Java核心类库的大量的类,因此,在学习Android开发之前,可以先把Java基本语法和Java SE的基础类库好好学习一下。Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只是机械的照抄别人的代码,是没有任何意义的。建议在安卓课程前期的java学习阶段中,需要用心的学好。
其次:熟悉数据结构和算法基础知识
如果后续有志于游戏方面的开发,最好具备一定的数据结构和算法基础知识。虽然现代的高级编程语言中,其类库中已经帮我们实现了大部分的数据结构,一般情况下,我们直接使用即可。但如果能对其原理有所了解,当需要在这些数据结构和算法中间的时候,可以更加的清楚到底应该选择哪个数据结构或者算法。另外,在图形图像处理上面,线性代数的作用也非常重要,如果能掌握一点这方面的基础知识,无疑也会在后续的学习中如虎添翼。
篇8:怎么学好安卓开发
熟悉一门编程语言
现在大学里面和计算机相关的专业甚至理工类专业一般都会开设C语言课程,只是很多同学在大学期间并没有好好学习,如果对它掌握的不太好或者很久没用了,建议先从将其好好复习一下,将其基本的语法再好好回顾一下,最好能搭建一个环境来运行、调试它。如果没有学过,不妨也提前学习一下。大部分的高校所开设的C语言使用的教材都是用它作为教材,因此无论是购买还是借阅,都容易找到。
熟悉数据结构和算法基础知识
如果后续有志于游戏方面的开发,最好具备一定的数据结构和算法基础知识。虽然现代的高级编程语言中,其类库中已经帮我们实现了大部分的数据结构,一般情况下,我们直接使用即可。但如果能对其原理有所了解,当需要在这些数据结构和算法中间的时候,可以更加的清楚到底应该选择哪个数据结构或者算法。另外,在图形图像处理上面,线性代数的作用也非常重要,如果能掌握一点这方面的基础知识,无疑也会在后续的学习中如虎添翼;
熟悉Java基础知识
Android应用的开发语言用的是Java语言,并且在Android中也用到了Java核心类库的大量的类,因此,在学习Android开发之前,可以先把Java基本语法和Java SE的基础类库好好学习一下。Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只是机械的照抄别人的代码,是没有任何意义的。 建议在安卓课程前期的java学习阶段中,需要用心的学好。
篇9:怎么学好安卓开发
首先,学安卓要对编程语言感兴趣
俗话说兴趣是最好的老师。安卓开发的基础语言是Java,所以说,想要学好安卓,要对Java感兴趣。不管在学习还是工作中,兴趣是很关键的,你是否对java有浓厚的兴趣呢?很多人现在所知道的java热,受关注度高,只知道这个专业好就业,于是自己漫无目的的学习,可能最后学习成功了,但如果对此不感兴趣,可能还是会后悔,浪费时间、精力和钱财。所以学安卓开发兴趣很重要,尤其这是一种技术性行业。
其次,要学会适应安卓开发编程
安卓开发,最主要的就是编程,这是一种计算机语言,不同于人类交流,所以逻辑性和运算性都极强,所以,安卓开发对学员的要求也很高。大家在学安卓开发前要谨慎思考,自己是否能够踏实细心地研究一行行代码,并且有较好的逻辑思维能力,保持一个好的学习态度,勤奋认真,这是最基础的能力。
最后,要学会在学习中不断的总结
要想学好安卓开发,就要找到适合自己的学习方法,要学会不断总结学习成果和方法,这样学习效率更高。同时还要不断的思考,反问自己。
篇10:安卓工程师简历
姓名 (女,22岁)
求 职 位:Android工程师 期望薪资:3000-5000元/月
目前职位:软件工程师 学 历:本科
工作经验:1-3年 现居住地:北京昌平
联系电话: 电子邮箱:
自我评价
性格热情开朗,关心身边的人和事能够与同学和睦相处,能做到理解和原谅,对生活充满信心。回顾过去的两年大学生活,通过老师的教导和自学,我已熟练掌握专业知识,养成良好的自学能力。并且拥有良好的合作精神和团结能力,相信经过自己不懈的努力,能够完成领导交给的工作和任务。
工作经验
联动优势
-12 至 -3任职软件工程师薪资-3000元/月
工作职责:主要负责网站维护,程序开发等。
做过学生在线系统,图书管理系统,家庭会议项目,和许多安卓项目比如弹球游戏、景点查询、计算器、个性相册等等
项目介绍: 在做项目期间用到了SQL Server 数据库,Java技术,和Asp.net技术以及Android的开发技术。
学生在线系统:实现了学生登录,管理员管理。
图书管理系统:实现了基本的增、删、改、查,可以随时调出你想看的书。
家庭会议项目:实现了家庭的消费、家庭开支和家庭宠物等一些家庭的基本情况,一些家用电器的功能,运用到了Java的封装,继承,多态。
弹球游戏项目:该项目拥有三个关卡。分为难、中、易。
景点查询项目:该项目分为公交路线查询和地图查询。地图查询可以直接得到路线和景点简介。
计算器项目:实现了基本的混合运算。
个性相册:分为浏览式的,贴图式的等等。
教育经历
-9 至 2012-6郑州大学计算机网络技术专业
语言能力
英语:熟悉
专业证书
微软证书 5月由微软公司颁发
篇11:安卓工程师简历
姓名 (女,22岁)
求 职 位:android开发工程师 期望薪资:3000-5000元/月
目前职位:未填写 学 历:大专
工作经验:1-3年 现居住地:北京昌平
联系电话: 电子邮箱:
自我评价
生活态度乐观、积极、向上、勇于面对变化和挑战。
热爱Android这个行业,做过相关项目。
具备很强的团队精神和组织能力,善于处理人际关系,有很强的与人沟通的能力。
学习能力强,具有较好的创新意识,易于接受新事物、适应新环境。
具有较强的分析、解决问题的能力,具有很强的责任感。
做过的项目:家庭会议系统,图书馆图书查询系统,迷你播放器,魔幻相册,疯狂计算器,小闹钟,体重计算器。
王海玲教育经历
-9 至 2012-6郑州铁路职业技术学院计算机网络技术专业
语言能力
英语:熟悉
专业证书
英语四级证书 5月由教育部高等教育司颁发
篇12:安卓开发实习总结
在我大学毕业后的大段时光里,曾经有过四个月的时间,这四个月里有很多辛苦的瞬间,亦有欢笑,都很充实,我学到了很多android开发方面的技术,还有更多的工作经验总结。
刚来学习java+android培训的时候就感受到了很好的`学习氛围,这个当然和全体老师们的工作态度和对待学生的积极性是密不可分的。
整个课堂上下都充满了浓郁的学习氛围。
让刚到这里的我,感受到了充满的正能量。
在学习中班主任也是十分的负责,授课老师更是不遗余力的为我们讲授知识。
在这四个月的学习中,每个阶段的老师都给了我很大的帮助,对我们的问题总是耐心的解答。
课程内容安排的很是合理与实用,在日后工作中所将要遇到的知识点都会有很好的讲解。
在这四个月来java+android培训,不仅让我学到了很多实用的知识,更是给我一种家的温暖让我在学习中始终保持着高度的集中状态和饱满的学习热情。
非常感谢千锋给了我这么好的一个学习的机会。
让我在之后找工作的道路上可以快人一步,更加的轻松和方便的选择一个适合自己的好的工作。
在这四个月培训里,我对android有了更深入的了解,经过老师的讲解,我对android这个行业也有更多的了解,发现这个行业很适合我。
另外,老师的讲课方式也很适合我。
首先,老师讲课很幽默,让我们的学习变得不那么枯燥。
其次老师用的是边讲边练的方式,而不是给我们一大堆的理论让我们不知如何入手,我很喜欢这种讲课方式。
从java+android培训毕业后我找到了工作,现在已经工作了半个月的时间了,在这段工作中,我深刻的体会到了这里学到的知识有多么的宝贵和实用,工作中需要到的很多技能我都锻炼的很熟练了,但是短短的四个月我们不可能学到全部的知识,在工作中也时而会遇到一些难题,这个时候老师更帮助我很好的解决这些难题,我在这里真的是非常的感谢帮助过我的老师和同学。
千锋的这种良心理念很让我感动,对于每一个毕业的学生也是抱着十分热情和认真的态度,永不放弃任何一个学生!!
最后我希望在还在学习java+android培训的学弟学妹们,要好好的把握这个学习的机会,努力奋斗,将时间最大化的利用,尽可能多的去学习和积累知识!
篇13:安卓开发心得实例
从2016年4月到6月主要做的工作是网站的开发,而6月到现在2016年8月初,主要做的工作是Android和IOS两种App的开发,又以Android为主。
将这段时间的Android开发心得记录如下。
1.开发环境和参考资料
由于学会__的时间比较短(2016年7月才学会),现在在用的mac版AndroidStudio是在国内某站上下载的。今年将开发环境由windows转为mac了,好在各种IDE都是跨平台的,迁过来后麻烦不多,Android Studio也贴心地支持Eclipse风格快捷键,使用技巧方面,《Android群英传》的第2章「Android开发工具新接触」讲了些很好的技巧。
同样因为学会__比较晚,主力参考资料一直是手头的几本书籍:可以当词典用的《疯狂Android讲义》,手把手地带新手入门的《第一行代码》,优雅细致地讲Android体系结构的《Android开发精要》,这三本是2015年买的,很喜欢读,另外《Android群英传》《Android UI设计》《打造高质量Android应用》《App研发录》《Android开发艺术探索》买来后翻开的次数较少,感觉对不起它们。这几本其实也都是好书,以后要多看。
学会__之后,Android官网也成了好选择,但不代表书本就没用了。官方资料的优势是正统和条理清晰,但在「最佳实践」甚至「黑科技」上还是一线程序员写的书更接地气。而当想深入理解底层原理、类库的作用时,官网是好选择,而不像书本上的知识会让你有「说得对吗」「没翻译错吧」「没过时吧」的担忧。官网和书本,应当优势互补。具体编程中遇到的各种问题,书本上当然不能穷尽,官网就更不可能了,这时候Google和StackOverflow就有了巨大作用,当然,这也不能解决一切问题,很多时候还是要耐心地慢慢调试。
2.页面知识
这方面《Android开发精要》讲得非常好:安卓的四大组件,被以「任务」的方式组织在一起,「应用边界」和「进程边界」都被打破了。个人感觉,这是学习Android编程时极为重要、应该最早学习到的基础知识。
四大组件中,Activity最重要,它名为「活动」,视为「页面」更容易理解。页面间的关系,以「栈」的方式组织,显示一个新页面即将新页面入栈,总显示栈顶的页面,点击手机上的返回键,则弹出栈顶页面,这些跟浏览器的「前进/后退」按钮的逻辑是一致的,有些时候需要更复杂的控制,例如A打开B,B打开C,希望关闭C时直接返回到A,则应在显示C时将B关掉,栈内元素由ABC变成AC,即可实现目的。
国人用App,习惯了底部标签栏,但官方只有顶部标签栏,所以只好自己实现,Activity中放一个Fragment和一组显示为标签栏的页面元素(具体使用的是RadioGroup,也可以使用别的元素,这不重要),实现当点击标签按钮时,菜单、标签栏、Fragment的样式和逻辑都符合要求即可。Fragment的生命周期和能力,跟Activity几乎一模一样,问题只在于当和另外Activity交互时,接到信息的往往是TabActivity(即Fragment所在的Activity),需要把消息从TabActivity转交给Fragment。菜单的控制也是,点击菜单的消息会到TabActivity手里,要由它转交给具体的Fragment。
Activity和Fragment(下简称页面)中的元素关系,与html的dom类似,是树状的层次,事件也是先由子元素接收,再冒泡到父元素。布局方面,LinearLayout(线性布局)和RelativeLayout(相对布局)最常见,线性布局可以思路清晰地将元素摆在一条直线上,线性布局嵌套,即可先行后列地摆放,类似bootstrap中的row和column,可以嵌套许多层,而RelativeLayout适合用来摆以元素之间的相对位置为核心的页面,在思路上比LinearLayout要复杂一点,但功能强大,布局层次扁平,页面效率高。这两者的关系有点像html中的布局:各种block和inline元素的使用是常规武器,大部分时间好用且省心,但个别时候则需要脱离文档流。
页面中具体的单个元素,则与html的dom中的元素也非常类似,有宽度、高度、margin、padding、背景色、文本色、字号等「样式」属性,因此正如html中可以把样式写在html里,也可以写在css里一样,Android页面的样式也可以拿出来放到style配置文件里,这样能减少重复,便于维护。输入元素中用户输入的内容,当然也能从该元素的属性中读出。响应事件的元素的响应函数注册,也是在该元素上直接声明即可,类似网页中的__.onClick方式。元素和所属页面之间的关系,在页面的onCreate方法中使用findView找到该元素,并设到该页面的成员变量上。页面持有它的元素,元素拥有属性、输入值,并绑定有响应函数,这在任何有界面的编程中都是一致的。
3.数据知识
作为c/s程序,在本地当然有保存数据的能力,包括了键值对保存和数据库保存,这能力连html5后的b/s程序都具有了(5之前只有cookie的方式),Android这些能力的代码都很简单,不多说。
与服务器的交流,rest的交流方式是事实标准,这种交流方式保证了服务端写好rest接口后,开发的Android、IOS甚至Angular这种OPOA的网页程序都能共用这一套接口。rest的编码规范,网上早已有很多了,不多说。Android的HttpClient程序,只要指定url、参数、Get或Post等请求类型,即可发送请求,当服务器给出Http响应之后,Android程序可以从中拿到返回的json字符串,用JSON等库解析为集合或实体(其实json本质无非是map和list两种集合的混搭),然后遍历和取值,自动或手动构造成实体对象,然后改变页面的显示。在要页面显示时,由于Http返回的处理函数运行于另一个线程,直接调用页面的成员变量以试图修改其显示内容会报错。为此需要提早注册一个Handler,用于在接收到消息时读取页面的「数据属性」并改变页面显示,Http返回处理函数将数据更新到页面的「数据属性」中,向Handler发送一个消息,让Handler读取「数据属性」并更新页面即可。
在页面显示数据时,最常用到是ListView,可以定义一个Adapter,实现根据下标返回Item页面元素的方法,方法是声明一个Item布局文件,Adapter持有数据集合,在要实现的方法中使用传入的下标获得单个实体,再使用Item布局文件实例化一个页面元素对象,用实体的属性渲染页面元素对象,将页面元素对象返回即可,推荐使用ViewHolder来提高性能,这在包括《打造高质量Android应用》等书都讲了。
4.实践经验
有了上面1至3的知识,理论上即可完成App的开发,善于将各种编程技能元素组合使用即可(界面知识 + 数据知识 = 一切),但还有些具体工作了才会获得的经验。
在Android Studio中引入第三方库是使用Gradle,类似maven,写配置文件即可。
App上架方面360、百度、腾讯、豌豆荚、小米都成功上线了,华为和PP助手不允许非公司用户上线,没办法。
尝试手动实现定时轮询来获得服务器上的提醒,不成功,但对Service和BroadcastReceiver的理解更深了,Service的主要用途就是保证它打开的线程一直活着,但怎么保证这Service不死?一是设成常驻在通知栏的前台Service,二是在安卓手机「设置」里将该App设为「锁屏后继续运行」,还要将网络设为「锁屏后不断网」,以保证锁屏后线程能继续轮询并从网络上得到最新信息。而BroadcastReceiver的主要作用是,让两个相互之间解耦合得很好的组件可以互相通讯,只需要发起通讯那方指定一个字符串——既不需要访问对象,也不需要指定class类对象,指定一个字符串即可,这时通讯发起方根本不知道会不会有人响应它、会有几个人响应它,零个、一个、多个响应者都有可能,这就是「广播」的意义,可以联系「消息队列」来理解它,主要的目的是解耦。
虽然如此还是常有用户反馈收不到消息推送,只好使用专业的推送服务,目前使用的是「友盟」,文档很好,还提供了编程式发消息的sdk,测试也很友好,调了两天,用户基本能顺利收到推送了,当然还是要在手机设置中将App加入「锁屏后继续运行」的白名单,否则友盟的PushService被杀掉就收不到推送了。另外第三方的「统计」还在摸索。
程序更新提示的实现是在启动时向服务器发一个请求了解最新版本号,与本地程序版本号比对后,如果有更新的,则询问是否要更新。apk包是在Android Studio里签名打包之后,用360加固了之后(否则各平台不允上线),传到了「七牛云存储」的服务器上,在App获取最新版本号时,将最新的apk包的地址一并获取下来,如果用户同意更新,则在后台启动线程下载该apk包,下载完成后自动安装。
App的登录,是将用户名密码提交到服务器,服务器检查正确后返回一个token,App将这token保存在本地,以后请求api时附带用户名和token一起发给服务器,服务器检查用户名和token正确,则将关键的数据返回给App,否则视具体需求返回不完整的数据(未注册用户看到的数据不完整),或者直接返回错误(未注册用户完全不允许访问的数据)。注册时,则是生成一个验证码,将手机号和验证码存到库里,调用发短信的服务商的接口发到用户手机,当用户输入验证码发送请求到服务器,服务器检查手机号和验证码是否匹配,如果匹配,则注册成功。
Android页面中嵌入Html页面很简单,但这两者产生交互的功能还没做过,如果以后做到,再补充进来,这里留个TODO的「抽象方法」占位置。还有图像的延迟加载、数据库的使用,都要留个「TODO」。有时间即实践之。
5.个人感想
「应用程序员」做久了,总是觉得没太多成就感,虽然功能有人用会很开心。但当陷入没什么技术含量的细枝末节,觉得「知道这些东西仅代表有经验,没什么了不起」,就觉得很虚无。安卓的知识,对我来说最有趣的还是体系结构、界面的逻辑、数据的逻辑这三者,当陷入具体的事务,某个api该怎样调,函数有几个该怎样写,甚至最无聊的安卓各版本差异,就算做成功了,也觉得没什么好满足的。
而关于代码质量,在写了这么多年Java的服务器代码,用过市面上几乎所有流行框架,做过无数次封装之后,写这种App的代码,真提不起重构的兴头,「重构的第一原则就是不要重构」,这种思辩,恐怕没几个人辩得过我,因为我对在设计模式、重构、软件工程这些方面的阅读和思考量都非常大,而且逻辑清晰,文采飞扬,曾经而且如今也正在因一些文字被有大名气大影响力的人物欣赏,这些事情久了,就觉得无聊,很多时候人的火气不是来源于别人不认同自己,而是来源于自己不认同自己,当你对自己有了认同,就会觉得别人的发言很无聊,连反驳的兴头都没有,有那工夫,不如真真切切地读两本书,写两行代码。自身修为的提升,总要依赖于这些脚踏实地的努力,而非来源于口舌上的斗争。最重要的是,要知道自己想要的是什么。
文档为doc格式