Android 学习已有一年半有余,先后做过两款游戏、三款应用和搭建一台服务端,也了解过一些Android相关的源码(JDK、SDK和NDK)

后来想学深入点,搞过两款开源项目(LGame 和 AChartEngine),还发布过自己的开源项目(wsi-lgame-pro 和 mobilesurvey),现在总结一下自己的经验和心得

Android 入门

一开始学Android,主要看了三本书

《Android开发教程&笔记》,讲解了Android起源、Android框架、环境搭建、简单Demo等开发入门知识,对Android概念有个感性认识,知道Android是个什么东东

《Android应用开发揭秘》,重点练习了各种控件的使用,图片操作和动画,数据存储的各种方式和使用场景,以及网络通信,其中我感觉这本书对网络通信部分讲得最好

《Android 3D游戏开发》,重点看了View和SurfaceView绘制图片的原理和流程,用来做游戏开发,后来把随书的几个示例都调试通了,熟悉了各个资源文件夹的作用

《Android核心技术与实例详解》,其实这本书就没啥核心技术,也都是一些应用层的基础知识,重点是对手机通信、桌面组件、传感器和google服务讲得比较全面

就这样高强度学习了将近一个月,就算Android入门了,当时都是在Ubuntu环境下搭建和开发的,在练习和学习过程中,有哪不懂就上网查,在此推荐 stackoverflow

Android 进阶

android入门后,只会照着别人的葫芦来画瓢,即没有设计思想,也没有自主原创的代码,不好不好

于是乎,进了公司跟着项目走,用项目来驱动自己去学习和提高

公司是1+1开发模式,即1个美工 + 1个工程师,负责完成一个项目(主要是游戏开发),就完全需要自己设计游戏的布局、逻辑,以及各种动画,来增强用户体验的效果

当时主要是看Android官方的SDK API文档、中文API文档、 JDK源码,对有些感念不清楚,就上论坛去找答案,如CSDN、ITEye、IBM、知乎,或者去啃google 官方的文档

Android 高级

在后来,掌握了常用控件、view、surfaceview使用方式,知道怎样去适配不同屏幕后,每天就是重复的工作,堆砌代码,难以进一步去提升自己

于是就自己给自个找点事干,自定义控件,如对话框背景等,或去google code找些开源的代码下来研究,学习人家的设计思想、模块功能的划分、代码组织结构等知识

这个过程中,涉及到的知识比较多,如版本管理工具SVN、Git、Mercurial,如设计模式的思想,如怎样构建通用的开源应用框架(考虑sdk1.5等版本),如何适用在不同屏幕分辨率的手机上等等

学习中会不断遇到一个又一个新的问题,因此需要不断去查资料、再学习各种工具,逐步积累,潜移默化中自己掌握的知识和工具就多了,眼界也开阔了

这里推荐几个进阶的好书:

《Android技术内幕.系统卷》,此书与《Android应用开发揭秘》对应的系统篇,也是由杨丰盛著,主要讲解Android内部底层的实现,涉及到Linux、硬件驱动和汇编

老罗的博客,讲解Android底层的各个模块比较详尽、透彻,我有事没事会去访问、溜达,学习一些底层的实现,让自己增长一点见识,这样对理解应用层会有帮助

Android 开源

学习编程,最好的最快的方式,就是先阅读大量源代码,学习、借鉴,吸收,拿来主义,融会贯通,再加工,化为己用 —— 师夷长技以自强  ^_^

这里推荐几个比较好的开源社区:

google code(google 开源社区,包含google自己的开源项目,如chromium、gtest等,也包括其它的,如著名的MySQL、JavaScript、Python、...)

github(版本工具Git进行管理维护,英文)

oschina(开源中国,中文的开源社区)

Android 学习小结相关推荐

  1. Android学习之——APP番茄工作法——小结(1)

    2014-4-3补: 最近一直忘记回复:给位需要源码的,请到这里https://github.com/MrFuFuFu/TomatoTask  版本已经更新为1.0.1,且已在豌豆荚,应用宝,360手 ...

  2. 四、Android学习第四天——JAVA基础回顾(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 四.Android学习第四天--JAVA基础回顾 这才学习Android的 ...

  3. Android学习系列(15)--App列表之游标ListView(索引ListView)

    游标ListView,提供索引标签,使用户能够快速定位列表项.       也可以叫索引ListView,有的人称也为Tweaked ListView,可能更形象些吧.       一看图啥都懂了: ...

  4. Android学习系列(34)--App应用之发布各广告平台版本

    Android的广告平台是很多的,各市场对各平台的接受程度是不一样的,Android的开发者如果想集成广告基本要考虑下面两个问题: (1)集成什么广告,会赚钱? (2)集成什么广告,不会被市场拒绝? ...

  5. Android学习系列(27)--App缓存管理

    随笔- 53 文章- 10 评论- 1064 Android学习系列(27)--App缓存管理 无论大型或小型应用,灵活的缓存可以说不仅大大减轻了服务器的压力,而且因为更快速的用户体验而方便了用户. ...

  6. 我的 5 年 Android 学习之路,那些年一起踩过的坑

    光阴似箭,日月如梭,时间真的过得飞快. 加上实习,从事 Android 开发,差不多有 5 年了,在这里,我分享一下我的经验,在 Android 的学习路上,我是站在巨人的肩膀上成长起来的. 大概分为 ...

  7. Android学习博客和文章存档

    [Android基础]Android总结篇 http://blog.csdn.net/codeemperor/article/details/51004189 Android最佳性能实践(一)--合理 ...

  8. Android 学习网站(资源收集)

    http://www.open-open.com/news/view/c7eed7   //android 学习路线   http://blog.csdn.net/xiaanming/article/ ...

  9. Android学习笔记 75. 单元测试

    Android学习笔记 Android 开发者基础知识 (Java) -- Google Developers 培训团队 文章目录 Android学习笔记 Android 开发者基础知识 (Java) ...

最新文章

  1. ubuntu网卡问题
  2. python商品评论分析_亚马逊产品情感评论分析
  3. Dataset之Knifey-Spoony:Knifey-Spoony数据集的简介、下载、使用方法之详细攻略
  4. python for CFD(前两步问题总结)
  5. idea maven项目下载源码及关联源码
  6. 找新朋友(欧拉函数)
  7. spring实例化bean的方式
  8. javascript中BOM介绍、屏幕尺寸、历史记录、URL解析、计算机信息获取、定时器、三大系列及兼容代码、封装动画函数、同步和异步
  9. luoguP1090 合并果子 (贪心+优先队列)
  10. cad2010多个文件并排显示_cad2010如何设置 使一个窗口打开多个文件,并排显示(和360浏览器类似的并排缩略)...
  11. 2022年全球备用锂电池管理系统行业分析报告
  12. java 模拟get post请求_[Java] 模拟HTTP的Get和Post请求
  13. 拳皇世界6月13服务器维护,拳皇世界2月8日例行维护 数据互通公告[图]
  14. 这些跳槽理由千万不能说!
  15. 基于决策树的交通拥堵成因分析
  16. 压缩跟踪Compressive Tracking源码理解
  17. 车主委托过户和电子委托书
  18. javaweb企业员工考勤管理系统案例
  19. 《商业模式》读书笔记
  20. “应用程序无法启动,因为应用程序的并行配置不正确”问题的解决

热门文章

  1. DWR框架--让前端JS代码调用JAVA后端的方法
  2. 解决Mac不更新通讯录到icloud
  3. 字符数组转list集合
  4. 打包好的NODE.JS短信接口DEMO示例
  5. spark业务开发-添加索引列
  6. 借助百度云平台人脸识别sdk完成网页人脸识别登录demo
  7. 用PyMOL制作分子结构图像及所用脚本
  8. 学会使用C#在PDF文件中添加或删除注释
  9. http缓存相关理论
  10. win10蓝牙已配对连接不上_教你win10系统显示蓝牙已配对但未连接失败如何解决...