Android之旅:梦想、学习、坚持、自信、淡定

2024-06-02 11:58

本文主要是介绍Android之旅:梦想、学习、坚持、自信、淡定,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前段时间参加了2012年度IT博客大赛,进了前十强,写了一篇获奖感言,不过还没正式在CSDN发表出来。眼看2012年就要结束了,刚好借这个机会将2012年度IT博客大十强获奖感言发表出来,也算是对2012年博客的一个总结,关键字是“梦想”、“学习”、“坚持”、“自信”、“淡定”。希望大家一如既往地支持老罗的CSDN专栏《老罗的Android之旅》以及老罗的新书《Android系统源代码情景分析》。

        自2011年6月21日开博至今天2012年12月31日,在这560天里面,主要是做了以下三件事情:

        1. 发表了72篇原创博客,访问量1060200次,评论3153条。

        2. 出版了《Android系统源代码情景分析》一书,一共3大篇16章830页1570千字。

        3. 被评为2012年度十大杰出博客。

        写博客之初,是没有出书的计划的,不过在各方面的巧合之下,就整理了博客上的文章,然后就出版了,不过也算是了却心愿,以后就可以专心地写博客了。下面就简单说一下从写博客以来的一些感受。

        1. 梦想。APP刚刚火起来的那阵子,还没接触过移动开发。有一天听说我们的产品经理自己做了个APP,用来订阅自己感兴趣的视频。顿时倍受打击:连产品经理都会做APP了,作为一个码农,怎么还能对移动开发无动于衷呢?!于是就准备学习移动开发,做个APP来玩玩。但是后来想了一下,其实我更感兴趣的是移动操作系统,很想知道它和PC操作系统有什么区别。于是就带着“了解移动操作系统长什么样子”这个梦想踏上了研究Android的旅程。再啰嗦说一下梦想这个话题。再年轻一些的时候,会觉得谈梦想是一件很扯很遥远很虚无缥缈的事情。随着年纪的增大,年轻时的棱角随着生活中的各种遭遇和压力都慢慢地磨平了,只剩下每天重复的上下班。这时候才发现年轻时的梦想是多么的弥足珍贵:梦想原来是可以让人这么年轻而富有激情的!现在看达人秀的时候,更多的感动是来自那些选手对梦想的执着追求,而不是他们的表演。

        2. 学习。决定了要学习移动操作系统开发以后,接下来就是选平台了。当时iOS和Android都是红透半边天,WP还未成型。由于Android是开放源码的,因此,它就是学习移动操作系统的不二选择了。了解到Android是基于Linux内核来开发之后,就开始看Linux内核的书:《Linux Kernel Development》、《Understanding the Linux Kernel》、《Linux Device Drivers》和《Linux内核源代码情景分析》。这四本书每一本书都至少看过两遍。对Linux内核有了大概的了解之后,就开始学习Android应用开发,因为我觉学习一个新知识的最好切入点就是先知道它是怎么使用的。于是,接下来又看了两本讲Android应用开发的书:《Professional Android Application Development》和《Google Android SDK开发范例大全》。看完了之后,觉得还是有点云里雾里,于是又写了个Android小游戏——交互式人机对战五子棋。说来和五子棋有缘,高中时经常和同学在几何簿上画着来玩玩五子棋,有时上课也偷偷玩;上大学学习C和Java时,也是拿五子棋来练手。在Android上开发的这个五子棋游戏虽小,但却五脏俱全:Activity、Service、Broadcast Receiver和Content Provider四大组件全用上了,异步任务和Binder进程间通信机制等也用上了。这为日后研究Android系统打下了坚实的基础。其实学习这个东西就是这样,它不是快餐,饿了就去吃,必须得老老实实地一步一步地打基础。

        3. 坚持。长期地坚持去做一件事情,真的很难。不过,当你下定决心持续地去做一件事情的时候,你的坚持就会变成一种习惯。习惯一旦养成,你不去做那件事情的时候,反而会觉得心里不舒服,好像少了什么似的。因为平时要上班,所以一天下来,其实也没多少时间去研究Android系统。这时候我就告诉自己,更加要坚持,并且给自己算了一笔数:工作日每天看20页书,周末每天看50页书,大概两周就可以看一本400~500页的书;一天看300行左右代码,一周就能看2000~3000行代码;一天写1个段落的博客,一周也能捣鼓出1篇来。另外,当坚持了一段时间之后,就会发现学习的速度比以前更快了,就好像有一种加速度一样,这时候就会发现事情越做越快。

        4. 自信。自信是很重要的,尤其是在你做一件很有挑战性的事情的时候。如果没有自信,在碰到难以解决的困难时,或许就会放弃了。其实在很多时候,机遇都是偏爱那些有自信并且一直坚持着梦想的人。记得在研究Android系统的UI渲染服务SurfaceFlinger的时候,被一个20多行代码的函数难住了,百思不得其解。后来盯了两三天,联系了各种上下文,最后总算是把它弄明白了。我一直都相信潜意识这种东西:只要你相信你能解决一个问题,并且坚持住不放弃,潜意识就会帮助你去加工和组织各种原始信息。因此,自信很重要,它是一种软实力:有自信不一定能成功,但是没有自信要成功就难上加难。

        5. 淡定。淡定是一种人生态度,它能使你不功利,不浮躁,从容地面对得与失,找到一条更合适自己长远发展的路。往往梦想都是一个比较长期的东西,不是短期内就能看到效益的。在坚持梦想的过程中,又可能要付出很多代价,例如,你没有时间找(陪)老婆或者女朋友,你赚的钱没有一起毕业的同学多,诸如此类的等等事情。这时候,你就更需要淡定:只要你判断你正在做的事情是值得的,你就淡定地面对别人的眼光和周围的环境。我发现写博客以来,自己变得越来越宅了,下班后和周末都更愿意呆在房间里,当渐渐地发现同学都在忙着晒结婚照或者小孩照的时候,自己还在单身着:(。这可能就是宅的代价吧,不过现在对这件事情还是比较淡定:)。

        上述5点感受总结来说就是:心怀梦想,带着自信和淡定,持之以恒,学习、学习,再学习!很讽刺的是,如果是五六年以前的自己看到上面的这些文字,我会觉得很扯,很空洞,没意义。人可能就是要非得亲自去经历一些事情,才能深刻地领会一些道理。

        最后,老罗和大多数人一样,出身草根,也就是俗称的屌丝,如今也是在平凡的职位上做着平凡的事情,但是老罗相信,虽不是官二代富二代,但是拼尽全力地去奋斗,就会有希望!

这篇关于Android之旅:梦想、学习、坚持、自信、淡定的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1023901

相关文章

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

Android与iOS设备MAC地址生成原理及Java实现详解

《Android与iOS设备MAC地址生成原理及Java实现详解》在无线网络通信中,MAC(MediaAccessControl)地址是设备的唯一网络标识符,本文主要介绍了Android与iOS设备M... 目录引言1. MAC地址基础1.1 MAC地址的组成1.2 MAC地址的分类2. android与I

Android 实现一个隐私弹窗功能

《Android实现一个隐私弹窗功能》:本文主要介绍Android实现一个隐私弹窗功能,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 效果图如下:1. 设置同意、退出、点击用户协议、点击隐私协议的函数参数2. 《用户协议》、《隐私政策》设置成可点击的,且颜色要区分出来res/l

Android实现一键录屏功能(附源码)

《Android实现一键录屏功能(附源码)》在Android5.0及以上版本,系统提供了MediaProjectionAPI,允许应用在用户授权下录制屏幕内容并输出到视频文件,所以本文将基于此实现一个... 目录一、项目介绍二、相关技术与原理三、系统权限与用户授权四、项目架构与流程五、环境配置与依赖六、完整

Android 12解决push framework.jar无法开机的方法小结

《Android12解决pushframework.jar无法开机的方法小结》:本文主要介绍在Android12中解决pushframework.jar无法开机的方法,包括编译指令、框架层和s... 目录1. android 编译指令1.1 framework层的编译指令1.2 替换framework.ja

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

Android实现定时任务的几种方式汇总(附源码)

《Android实现定时任务的几种方式汇总(附源码)》在Android应用中,定时任务(ScheduledTask)的需求几乎无处不在:从定时刷新数据、定时备份、定时推送通知,到夜间静默下载、循环执行... 目录一、项目介绍1. 背景与意义二、相关基础知识与系统约束三、方案一:Handler.postDel