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官方的SDKAPI文档、中文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(开源中国,中文的开源社区)



更多相关文章

  1. android高仿抖音、点餐界面、天气项目、自定义view指示、爬取美
  2. android常用颜色代码定义
  3. 刚刚接触Android,写第一个Hello world 小项目笔记
  4. Android高手进阶教程(二十)之---Android与JavaScript方法相互调
  5. android小说阅读、MVP + RxJava + Retrofit项目、证件拍照裁剪、
  6. android弹力效果菜单、组件化项目、电影选座控件的源码
  7. GitHub 优秀的 Android 开源项目
  8. Android app项目和开发总结

随机推荐

  1. Spring Boot工程集成全局唯一ID生成器 Ui
  2. 注册中心 Eureka 源码解析 —— 应用实例
  3. 网关 Spring-Cloud-Gateway 源码解析 —
  4. Spring Cloud Eureka Server高可用之:在线
  5. 注册中心 Eureka 源码解析 —— 应用实例
  6. 注册中心 Eureka 源码解析 —— 应用实例
  7. 一文上手 Elasticsearch常用可视化管理工
  8. Kafka底层原理剖析(近万字建议收藏)
  9. 自然语言处理工具包 HanLP在 Spring Boot
  10. 注册中心 Eureka源码解析 —— 应用实例