Android 开发感想
18年从.net转行做安卓开发,现在已经过去一年多了。说一下感想和心得体会!
一、开始
说一下我的经厉,从毕业开始出来工作一直是从事.net方向的开发工作。一开始也是没什么经验,加上也没有其他手艺就找了一个.net的开发岗位,刚开始两年都是做一些基本的系统开发OA、CRM什么的。后来跳槽换了几家公司,也都差不多主要是.net web系统开发或者是后台接口的开发。跟着团队一起做项目,完成需求开发,解决bug等等。做了几年看到现在移动互联网是趋势就打算换个方向,本来在我工作的第二年是有一次机会的但是错过了,当时买了mac准备转ios开发的但是刚出来工作基础不好加上没有自制能力所以就没有成功转型。
后来就还是在做.net相关的工作,结果发现做.net的越来越少,加上51上面发现工作岗位远远没有java和Android的多就想着换个方向了,另一个原因是做.net技术一般工资也没提高多少。然后就准备学习Android了
二、Android学习
Android学习是自学的花了两三个月的时间吧,买了几本书,《Android第一行代码》《Android开发艺术》再加上Google的文档和菜鸟教程。刚开始是从一个创意开始,比如想做一个app。下载开发环境,配置开发工具,然后写一个helloworld开始!那时候就是在家自学,做几个例子。跟着网上的教程写一下,因为之前做开发也有一段时间了,java基础还行基本掌握,就从Android开发的ui开始学习,一开始是了解基本的一些ui和xml怎么写,然后学习如何交互,基本上是把第一行代码里面的例子都敲了一遍。然后就是做一个项目实战一下,比如一个天气应用,刚开始学习的时候也是什么都不会,经常百度,看别人写的代码复制然后改一下,后来发现不行。还是要思考一下原理,然后在家做了一两个app之后觉得差不多了解一点了。
1使用listview 和ReceryView的问题二自定义listview中的东西。
三、找工作
学完Android基础加上做了几个例子程序之后有了一点点信心,就开始写简历了,写的是一年工作经验。然后投简历,找工作的时候已经是6月份了,给我打电话的公司也不多就每天投一下简历,然后看看面试题,想想怎么面试。再就是修改简历。大概找了一个星期左右吧,面试成功了一家公司,是一家外包公司,之前没进过外包加上刚开始也什么经验就去了工资待遇还可以。面试的时候问了一些简单的view基本原理,常用的控件和多线程知识,以及java基础等等。我大概答上来了,自我感觉70分吧。然后把之前公司的一些项目写上去了。之前公司也有移动端的项目,我大概了解一些,只不过当时是负责写后台接口的。就这样就找到了第一份Android的开发工作。当然也有一些不好的地方,比如编造了一些经验。但是不这样的话根本连面试的机会都没有。
四、工作体验
工作也快一年多了吧,刚开始进入公司是负责公司的一个内部系统的Android端的开发工作,根据每一期的需求进行开发。一般一个月到一个半月左右发布一个版本,更新迭代也是很快的,然后一开始是写一些简单的ui界面,调用一下接口。第一个月就是熟悉一下项目,刚好公司有同时和我交接,期间有不懂的也会问问其他同事,经常是问一下ios端的开发。然后因为一些事情项目组的一个同事离职了,我才发现原来招我进来是替代他的,然后Android端的话就只有我一个人了,感觉压力有点大。不过那位同事走之前把项目基本和我介绍了,然后里面系统框架也已经搭建好了,平时的主要工作就是改改界面,根据需求做一下系统的开发,和之前界面的修改。只是因为基础不好,加上经验也不是很足。常常加班,不过进步也是有的。这一年多来基本保证了项目的正常开发上线,虽然有时候会拖延几天。也紧急修改过一下bug。但是对我也是一种锻炼吧。工作总体来说还好,和同事们相处也比较愉快。同时也感谢他们对我的帮助,从别人身上也学到了不少东西,有时候有问题也是一起交流讨论。
工作中的一个技术问题和知识点,自定义View,视频播放,图片加载缓存,获取视频缩略图,复杂界面的布局,以及一些特殊效果的实现。这些问题下一篇文章会详细写出来。
五、总结和感慨
总结
通过这一年左右的工作经历让我对移动端开发有了一个新的认识,Android入门简单但是要想深入学习也需要花一番功夫。同时在这一年的开发工作中,业余还是没有主动学习和提高。对于项目的开发和代码的质量没有更好的要求自己。有时候也应该主动的去学习和思考一下项目中的代码应该怎么写。能不能提高一点,在完成任务的同时还需要对自己要求高一点。刚开始可能工作比较认真,到后来也会发现工作不够热情,对于项目和代码的激情也开始减少,这都是应该思考和反思的。
感慨
从毕业到现在也已经工作四五年了,本来以为可以一直做.net的但是还是换了方向,但是一些基础的编程思想都是相同的,比如数据结构,面向对象,接口。一般的开发语言只是语法的不同,但是基本思想基本差不多。只是其适合使用的场景不同,例如编译型语言适合后端开发和一些大型的系统,例如java和C#。解释型语言比较适合web方向的开发比如php和python等。不知道还能写多久的代码,工作到现在进步也不是很明显,大多数程序员基本都是写需求。那一份还可以的薪水,勉强养活自己。要赚钱还是需要有其他的方向。工作之余也要考虑一下未来的路该怎么走,不可能写一辈子代码。最多到30多岁,要找到自己方向吧,工作时间越久想找到一份好工作也越来越难。快30了也有一定的危机感了,人最怕温水煮青蛙。所以趁年轻还是多学点东西,不能到最后才发现想转行已经不会其他技能了。是很痛苦的一件事情!这句话是给自己说的,要加油,要努力!
Android 开发感想的更多相关文章
- 在帝都的Android面试感想
#第一次面试赤子城Android开发实习生 关于面试的表现和感想 1.没有准备充分就去面试(这是大忌,也就直接决定了结果) 我去面试Android,但是却不知道很多关于Android的基础知识,就是明 ...
- 20145225《Java程序设计》 实验四 Android开发基础
20145225<Java程序设计> 实验四 Android开发基础 实验报告 实验内容 安装Android Studio 运行安卓AVD模拟器 使用安卓运行出虚拟手机并显示HelloWo ...
- Android开发之漫漫长途 Ⅰ——Android系统的创世之初以及Activity的生命周期
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>中的相关知识,再次表示该书 ...
- Android开发之漫漫长途 Ⅱ——Activity的显示之Window和View(2)
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...
- Android开发之漫漫长途 Ⅱ——Activity的显示之Window和View(1)
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...
- Android开发之漫漫长途 Ⅳ——Activity的显示之ViewRootImpl初探
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...
- Android开发之漫漫长途 Ⅴ——Activity的显示之ViewRootImpl的PreMeasure、WindowLayout、EndMeasure、Layout、Draw
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...
- Android开发之漫漫长途 番外篇——自定义View的各种姿势1
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...
- Android开发之漫漫长途 Ⅵ——图解Android事件分发机制(深入底层源码)
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...
随机推荐
- redis的简介和使用
简介 redis(Remote Dictionary Server)是一种Nosql技术,它是一个开源的高级kv存储和数据结构存储系统,它经常被拿来和Memcached相比较,但是Memcached不 ...
- Raknet是一个基于UDP网络传输协议的C++网络库(还有一些其它库,比如nanomsg,fastsocket等等)
Raknet是一个基于UDP网络传输协议的C++网络库,允许程序员在他们自己的程序中实现高效的网络传输服务.通常情况下用于游戏,但也可以用于其它项目. Raknet有以下好处: 高性能 在同一台计算机 ...
- Linux之mysql安装
查看文件内容的命令有很多:cat, tac, more, less, head, tail, nl. cat由第一行开始显示档案内容:tac从最后一行开始显示,可以看出tac是cat的倒着写:more ...
- Qt 5.8 for Device Creation(好多内容,包括虚拟机安装,静态编译)
http://doc.qt.io/QtEnterpriseEmbedded/qt-configuration-tool.html http://doc.qt.io/QtEnterpriseEmbedd ...
- SYN2306C型 GPS北斗授时导航接收机
SYN2306C型 GPS北斗授时导航接收机 北斗对时系统北斗标准同步时钟北斗卫星校时器使用说明视频链接: http://www.syn029.com/h-pd-222-0_310_36_-1.htm ...
- 3015C语言_流程设计
第五章 流程设计 5.1 C语句概述 C语言的语句用来向计算机系统发出指令,一个实际的源程序通常包含若干语句,这些语句用来完成一定的操作任务. 1.其他类型语句 函数调用语句(由函数调用加一个分号构成 ...
- gitlab安装笔记一_虚拟机中安装Centos7
(为搭建gitlab环境的准备) 环境:vmware workstation 12 pro 系统: CentOS-7-x86_64-Everything-1804.iso (CentOS-7-Min ...
- 整合SSM框架必备基础—SpringMVC(上)
01 MVC概述 在Web系统开发中一般按照视图(View).模型(Model).控制(Controller)三层设计模式进行构建,视图层负责模型数据的渲染,将数据用一定的形式展现给用户:模型层负责监 ...
- 【React】遍历的两种方式
1.foreach(推荐) list.forEach((item)=>{ }); eg: dataSource.forEach((item) => { const est = item.e ...
- Redis Ubuntu 安装
1.使用 root 用户登录 Ubuntu 2. wget http://download.redis.io/releases/redis-5.0.3.tar.gz 下载最新的稳定版本到 redis ...