关于毕业设计这段时间的感想

  本次项目开发历时两个多月,经历从无到有的过程。我也从毫无Android开发经验成长到详细了解Android应用层开发,其中给我感触最深的,一个优秀的软件工程师应该学会如何去找到解决问题的方法,并将问题实际地解决。

Android开发的碎片化非常严重,其中从2.X到5.0,各个版本之间都有差异,而网络上大多数博文和书籍都是基于2.X版本进行讲解。由于某些原因,Google的Android开发文档的网站和下载SDK的网站都并不是那么容易上去。Android Studio使用的gradle管理依赖,而初学者根本无法理解这到底有什么用,这些都很容易让初学者掉入大坑,更别说在实际开发中语言层级的错误了。所以学会解决这些坑,是开发者绕不过去的坎。

最开始学习Android的时候,我希望能看一本对整个Android应用层体系整体概括、局部细讲的书籍,以便在Java的基础上,尽快地进入Android开发实战的过程。而市面上的很多书籍同样都是各种大坑,它们其实并不是面向初学者,而是应该作为Android从业人员的工具书。一本书几百页,厚厚的一本,从SDK中的每个功能讲起,初学者可能看了一半都没有对Android的应用层开发产生一个整体的概念。我觉得这些书应该作为当开发人员需要用到SDK中某一模块的功能时,就去看它、学习它、使用它,所以我选择了《第一行代码》作为我的Android入门书,并且在较短的时间内看完了这本书。书中大部分的demo都有自己手打编译运行通过,只有自己实际去做了,才会理解为什么会这么做,才会懂得了这个过程中自己会遇到各种奇奇怪怪的错误。比如requestFeature(window.FEATUR_NO_TITLE)必须放在setContentView()之前才会正确地去掉标题,放在之后就会出错呢?其实在理解了Andorid的整个界面布局之后就会理解,在你设置的Android布局之外还有一层FrameLayout,而一层还包括了标题栏和content层,所以你也明白了设置布局为什么是setContentView了。因为它设置的确实是主体界面的布局,而不包括标题栏的。只有这些都融会贯通了,很多之前不懂的问题,你就懂了。在完成书中最后一个天气预报的Demo之后,我体会到了之前编程从未有过的快乐。那种快乐叫做创造了价值,获得了世界认可的快乐。所以在那本书的最后还告诉了读者如何申请Google市场账号,如何在市场上出售自己的应用,并不是因为钱,而是证明了自己的应用是有价值的,并且有人愿意付钱去支持你的开发。

这段时间我还看了软件部落酋长Joel的《软件随想录》,这是一本由他的网志总结出来的一本书,写得非常棒。书中有谈到美国过去的计算机专业和现在计算机专业的对比,大学纷纷开始从非常难的C、C++转向了Java,作者认为这导致了大学生们和从培训学校出来的学生并没有区别的因素,还谈了计算机人才分为极客性和务实型。当然作者的观点不一定全部正确。大一大二的时候,我们每天做的编程就是在一个黑框里面打印出各种字符,然后研究++i++++这种东西到底是什么意思。当时我不懂这有什么用也对编程毫无兴趣,所以我大概一年写的代码可能也不超过500行。直到我写出了一个可以安装在手机上,并且每天提醒我天气如何的应用时,我才明白了是因为我创造了价值了,所以我热爱编程。这种思想影响了我一段时间,那段时间我觉得大学计算机专业的课程真是太蠢了,如果我能早点发现这种情况,也许我早就爱上了编程。

不过当我开始写自己的项目的时候,我忽然又明白好像大学学习的课程并不是毫无用处的。当我写Android的项目涉及到多线程时,我很自然地理解了Android中多线程的设计。因为我在操作系统中学习过生产者-消费者模型,学习过如何去使用互斥量、信号量控制同步,所以我很自然地理解了Handle.、Message,学习过数据结构中的队列,所以很清楚MessageQueue是一种怎样的结构。就好像乔布斯说的那样,当年你学习那个的时候也许根本不会想到它的作用,但正是因为学习它,所以Mac上才出现了如此优雅的字体。我想即使我们只能用Java编程,也和培训班里的学生有很大的不同。

好像讲了很多与项目实施无关的东西,不过这确实是我这段时间的心路历程吧。程序员是一个缺乏激励的职业,如果能把自己热爱的事情当成职业,我想一定能把它做好的。此次项目收获不仅仅是Android知识的学习,也弄清楚了我以后想做一个怎样的程序员。

时间: 2025-01-31 07:03:00

关于毕业设计这段时间的感想的相关文章

入门计算机一段时间的感想

其实没啥感想,偷会懒码点字...... 我本身是学习高分子材料专业的,高考填报志愿时觉得自己化学基础不错,就报了这个专业.在大学的两三年里,学的最多的就是物理和化学,也做了很多化学实验,一次也没有体验过成功的喜悦(嗯,对,就是这么菜).有机化学是很重要的一门课,而我却不幸地选了一个教学能力很差的老师,上下两册全部挂科(当时这位老师的班级挂科率可达50%至75%,而我为了补考看的慕课的老师就讲得非常浅显易懂,容易理解).可以说,我对化学的兴趣就这样在一次又一次的失败中消失殆尽.到了大三,这种情况有

ubuntu16.04 无法wifi链接一段时间掉线且无法再连接

ubuntu16.04 无法wifi链接一段时间掉线且无法再连接,从网上搜索的确认这个一个bug. 解决方法: 1.Get details of your PCI wireless card by running sudo lshw -class network 显示信息如下: *-network description: Wireless interface product: RTL8723BE PCIe Wireless Network Adapter vendor: Realtek Sem

为QNetworkAccessManager添加超时提醒(自己记录一段时间里的下载字节数,用定时器去定期检测,从而判断是否超时)

在做更新,在测试异常的时候,在下载过程中,发现如果直接系统禁用了网络,会报错误,可以捕获.但是如果是第三方软件限制程序联网,问题来了. 程序会一直在那里等待,没有异常,也不发送QNetworkAccessManager::finsh和QNetworkReply::error和QNetworkReply::finsh信号. 所以动念头为下载加个超时,但是QNetworkAccessManager,QNetworkReply和QNetworkRequest都没有相关的设置函数.其实仔细想一下,也没有

快到这段时间的终点了。。。

总结一下自己最近的问题. (1)生活 比较懒散,学习了一段时间前端以后,渐渐忘记了实际上是一个写C++的.应该有时间的时候,写点C++的代码,试着解决一些复杂一点算法, 应该向——向总学习,最近一个月搞定了2个机器学习的算法,额,惭愧,应该花点时间撸一撸算法的.最近还是过的太懒散了. (2)学习的惯性应该保持,时刻保持一颗学习的心,这个行业大部分都是平庸的人.只有极少数才是行业领袖,业界精英.所以,能坚持到最后的,都有机会 成为行业精英,所以,最好比的是时间,因为除了极少数的天才,大部分都是靠时

网站部署中遇到的问题-过一段时间后连不上服务器

问题描述: 这个情况我只针对局域网说明,我在一个局域网内用电脑A作为服务器,并部署站点site1.在这个局域网内的电脑可以正常访问site1. 可是过一段时间后无法访问site1,重新登录A后,又恢复了对site1的访问. 原因: 设置了电脑的睡眠时间. 解决方法: 将电脑A的的睡眠时间设置为"从不".设置步骤:控制面板—>电源—>更改睡眠时间.

java linux ImageIO 验证码在一段时间以后出不来 问题总结

最近在测试上布署的项目经常性的出现验证码过了一段时间以后出不来的情况,耐心找了一下,最后在上级的指导下发现了报错,其实说真的,我自己也找到了这个报错,只是没有当一回事.因为这个验证码的东西不是我写的,我也不知道这个报错是不是和它有关系. 错误如下: 2014-05-21 10:46:17,826 DEBUG [org.springframework.web.servlet.DispatcherServlet] - Could not complete request org.springfram

前一段时间的混乱岁月总结和下一阶段展望

前段时间虽然断断续续地在学,但是状态极其不佳,下面分析原因: 1.晚上玩手机:下午学了一些东西->感觉很充实->晚上想玩->决定带手机回寝室,认为自己只需要玩一会就可以睡觉->晚上玩得昏天黑地->白天死睡,睡了一个上午->后悔,自责->下午开始学习,没精神,想睡觉->下午学了一些东西->进入循环 2.学习,放松,生活三者之间的关系:这其中:学习和生活都应该得到重视,特别是生活:不要忽视他,应该把它放到与学习平等的地位,好的愉快地生活习惯会反哺学习,好的

搞了一段时间iOS开发的感受

接触iOS有了一小段的时间了,属于半路出家,之前只是对C和数据结构有一些了解并不深入,Objective-C算是第一门较为深入的了解吧,知道自己在各个方面都差的很远,需要学习的东西很多很多. 第一个阶段就是基础的学习,熟悉UIFoundation和UIKit的基础框架,能自己写些简单的app,花了几个月的时间.掌握了这部分的基础知识后,开始在公司做项目,开始看写app发现自己好多实现都无从下手,当然还有很多看不到的地方,于是就开始看一些code4app和github上的代码,先看example,

关于ScheduledExecutorService执行一段时间之后就不执行的问题

问题背景 最近写了个程序,程序中使用到了ScheduledExecutorService的scheduleAtFixedRate方法,用于定时执行任务,但是发现程序运行一段时间之后定时任务不执行了,查看日志和perfcounter都没有看到任何异常,比较郁闷.最后看了一下JDK的源码,在源码的Java doc中的发现了如下一句话: If any execution of the task encounters an exception, subsequent executions are sup