转发
您还未登录!|登录|注册|帮助[*]首页
[*]业界
[*]移动
[*]云计算
[*]研发
[*]论坛
[*]博客
[*]下载
[*]更多
修行在个人
个人技术博客
[*]目录视图
[*]摘要视图
[*]订阅
投票赢好礼,周周有惊喜! 2014年4月微软MVP申请开始了! 消灭0回答,赢下载分 “我的2013”年度征文活动火爆进行中! 专访何海涛:“不正经”程序员的进阶之路 android framework学习回忆
2011-07-27 10:47 1821人阅读 评论(6) 收藏 举报androidgoogle框架任务searchmenu 好久没来这里了,这2天开发板不够用,所以暂时闲下来学习东西。顺便回忆一下学到的会用的东西。
刚踏入Android Framework大门,是从电源管理开始的。记得当时拼命的google搜索相关资料,因为之前为了入门framework一直在做App练手,当走上这条路后,第一感觉就是步履维艰,拼了命的搜资料。当时关于电源管理搜到最多的就是一篇讲PowerManagerService的文章,还有就是Android电源管理调研什么的文章也是讲的这个文件。于是对着这个powermanagerservice文件研究了半个多月,其他的都没怎么理会。直到有一天老大叫我改什么Android系统低电提醒的设置,我才发现根本不是这个文件,至今我还是觉得当时是多么的幼稚,汗。
时至今日,虽说还是一个菜鸟,但对framework部分的心得体会还是有的。首先为什么framework入门很艰难呢,并不是说你不会,大部分是因为你找不到要在哪里改,因为android的源码多达2.5GB,里面的代码有几亿行,如果你不明确你要的文件在哪里,你就会像只无头苍蝇在这几亿行代码里面乱转,直至五脏六腑都憋出血来。所以首先对源码要有充分的了解。至少framework/base目录下的每一个文件有什么作用要了然于胸。然后当你接到任务的时候,就可以快速定位,提高效率。当然新手一般都是从google开始的,但毕竟有时候网上的资料还是有限的。所以最好的方法就是从base下的文件一个一个看,不懂的在把这个文件名google一下,多少还是会有收获的。此为framework的入门境界,在这个阶段你至少可以帮公司项目改改bug,打打杂。新手一般都是这样开始的。一般这个阶段对相关的模块框架并不需要很深刻的理解。
以上说的是“改”这个阶段。直至有一天,老大给你一个任务,要你加一个东西。这个时候,你才会发现,并不是改改源码就可以做,而是需要你“立新”。那么这个过程你要懂的东西就要更多了。还记得老大第一次给我的任务,做一个类似statusbar一样的导航栏,上面有back、home、menu、search,四个触控按键,与statusbar分立屏幕两边。当时第一反应肯定就是google,搜到一些资料。其中有一些想法也差点让我走了弯路,回想起来还是有点恶心。有一个idea是,手工将屏幕的下方得一些区域分割出来,做成独立的按键区域,然后通过触控事件转换到按键事件来实现这个按键。里面有许多讲要在驱动怎么改改的之类的,当时研究了一阵,感觉不对,或者感觉这样完全超出我的能力了,于是知难而退。偶然间乱逛,看到有些人在statusbar上面加back、home等按键的文章,于是灵感来了,何不模仿statubar做一个类似山寨版statusbar的导航栏呢,于是又通习了statusbar的启动流程与具体的设计框架,然后山寨出一个放在屏幕底部,把背景改一下,然后加上4个按钮,ok完事。当然还必须知晓的还有,怎样将你增加的文件成功编译进系统。这又需要你对Android.mk文件了解。那么,此时你在famework的路已经走到“创”的境界。
依然记得,有一天老大叫我和另一个哥们去问话,问我们为什么不加班。当时我正在全力的赶毕业设计和毕业论文,肯定不可能加班啦。那位哥们说的就有意思极了,说感觉还是菜鸟没做什么大的贡献,不敢填加班单。汗,我很佩服这位小哥的如履薄冰的精神。老大对我们两的理由都是置之一笑。然后就是大拉家常,谈谈他当年的英雄事迹,什么当年带领台湾ACM团队勇夺世界XX大赛一等奖,什么在他手上做过的cpu光架构就有7、8种啊,云云。。当然这些我们只有羡慕与憧憬的份。其中令我最深刻的就是他讲的程序员发展的几个境界的问题:1、能看懂代码,这个是最基本的,但是不能做事,不能为公司创造利益;2、会改bug,这个也是入门境界,但可以帮团队做些小事,一般新手学习几个月即可进入该境界;3、创新,能创造设计新东西,一般有天赋的在第二个境界上做上几个月就可以入此道 ;4、当你接触了很多系统架构后,能设计出自己的架构,一般到这个境界你就可以去Android总公司帮忙改进系统了 ;5、框架神马的,代码什么的都是浮云,在他们眼中就是一串二进制0101010101010110.。哈哈,感觉很有意思,由于时间过去半年了,基本意思是记到了。
今天就写到这了,算是开场白吧。以后有空会陆续放出一些技术文章
更多0下一篇:android2.3设备有多个Camera设置查看评论6楼 mxw2013 3天前 19:11发表 [回复]正在做launcher功能,表示找一个功能确实要过滤万行代码,但是很多特效都跟立体几何有关,悔当初没把数学学好,现在设计一个算法要研究半天。5楼 Vito_Wang 2012-10-09 17:09发表 [回复]励志4楼 xinyang20111114 2012-09-03 09:28发表 [回复]刚刚被公司分配 准备做这个framework 看了你的文章 感觉很有压力啊3楼 lc402 2012-07-26 09:08发表 [回复]最近刚刚入门在开多媒体部分的代码,
可以看懂代码的局部意思,但是代码的具体功能是怎么实现的还是不怎么理解,看了快1个月了 感觉做不了事压力大啊2楼 hefangchi 2012-02-28 17:41发表 [回复]好文章,豁然开朗啊。1楼 xunian123 2011-11-07 14:29发表 [回复]同行,顶个您还没有登录,请[登录]或[注册]* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场核心技术类目
全部主题 Java VPN Android iOS ERP IE10 Eclipse CRM JavaScript Ubuntu NFCWAP jQuery 数据库 BI HTML5 Spring Apache Hadoop .NET API HTML SDKIIS Fedora XML LBS Unity Splashtop UML components WindowsMobile Rails QEMUKDE Cassandra CloudStack FTC coremail OPhone CouchBase 云计算 iOS6 RackspaceWebApp SpringSide Maemo Compuware 大数据 aptech Perl Tornado Ruby HibernateThinkPHP Spark HBase Pure Solr Angular CloudFoundry Redis Scala DjangoBootstrap
个人资料
朝朝之花夕夕来拾
[*]访问:29850次
[*]积分:475分
[*]排名:千里之外
[*]原创:16篇
[*]转载:9篇
[*]译文:0篇
[*]评论:21条
文章搜索
文章存档
[*]2013年03月(1)
[*]2013年02月(2)
[*]2013年01月(5)
[*]2012年08月(1)
[*]2012年07月(1)展开
阅读排行
[*]Android4.0 WIFI初始化与启动流程(6315)
[*]Android4.0 Camera架构分析之preview和takePicture(4245)
[*]WiFiDisplay(3890)
[*]Android4.0 Camera架构分析之Camera初始化(3386)
[*]androidframework学习回忆(1821)
[*]Android4.0 CTS Debug(1086)
[*]Androidndk 开发步骤总结(899)
[*]Android无法通过cmcc wap2.0 test解决(885)
[*]Android加载键盘布局文件过程(816)
[*]Android蓝牙(754)
评论排行
[*]Android4.0 WIFI初始化与启动流程(7)
[*]androidframework学习回忆(6)
[*]Android4.0 Camera架构分析之preview和takePicture(5)
[*]Android4.0 CTS Debug(1)
[*]Android4.0 Camera架构分析之Camera初始化(1)
[*]Android电量信息(1)
[*]找IT类工作的一点建议(0)
[*]vbs脚本应用之午饭抢沙发必备(0)
[*]JNI调用机制(0)
[*]Android4.0 事件系统(0)
推荐文章
最新评论
[*]androidframework学习回忆mxw2013:正在做launcher功能,表示找一个功能确实要过滤万行代码,但是很多特效都跟立体几何有关,悔当初没...
[*]Android4.0 CTS DebugAU3604:终于看到一篇有价值的博文, thank you very much
[*]Android4.0 Camera架构分析之preview和takePicturecaiwl2010:很谢谢博主的分析(*^ ^*)(^ *) .....总算是把HAL的代码改正过来了。。。之前被坑了好...
[*]Android4.0 Camera架构分析之preview和takePicturehappy08god:哥们,问个问题啊。你说系统会将采集来的数据拷贝的用于显示的surfaceview缓存区,这个我理解。...
[*]Android4.0 WIFI初始化与启动流程andhuangroid:楼主,怎么用代码实现切换 某个WIFI呢。!
[*]Android4.0 WIFI初始化与启动流程朝朝之花夕夕来拾:@jy02149522:你要强制打开也行啊,在checkAndStartWifi里面把setWifi...
[*]Android4.0 WIFI初始化与启动流程jy02149522:不知楼主有没有测试过,4.0系统中,如果关机前wifi是关闭的,那么做一个开机自动打开wifi的功能...
[*]Android4.0 WIFI初始化与启动流程ngaicen:这几天闲着没事,我就随便拿起Android源码看看... ...囧>>>我跟楼主差好几个级别啊
[*]Android4.0 WIFI初始化与启动流程bsxiaomage:很好,楼主太牛了,谢谢分享了
[*]Android4.0 WIFI初始化与启动流程yongheng_123:很受益!
公司简介|招贤纳士|广告服务|银行汇款帐号|联系方式|版权声明|法律顾问|问题报告QQ客服 微博客服 论坛反馈 联系邮箱:webmaster@iyunv.com 服务热线:400-600-2320京 ICP 证 070598 号北京创新乐知信息技术有限公司 版权所有江苏乐知网络技术有限公司 提供商务支持Copyright © 1999-2014, CSDN.NET, All Rights Reserved
页:
[1]