Android 学习小结
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 学习小结相关推荐
- Android学习之——APP番茄工作法——小结(1)
2014-4-3补: 最近一直忘记回复:给位需要源码的,请到这里https://github.com/MrFuFuFu/TomatoTask 版本已经更新为1.0.1,且已在豌豆荚,应用宝,360手 ...
- 四、Android学习第四天——JAVA基础回顾(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 四.Android学习第四天--JAVA基础回顾 这才学习Android的 ...
- Android学习系列(15)--App列表之游标ListView(索引ListView)
游标ListView,提供索引标签,使用户能够快速定位列表项. 也可以叫索引ListView,有的人称也为Tweaked ListView,可能更形象些吧. 一看图啥都懂了: ...
- Android学习系列(34)--App应用之发布各广告平台版本
Android的广告平台是很多的,各市场对各平台的接受程度是不一样的,Android的开发者如果想集成广告基本要考虑下面两个问题: (1)集成什么广告,会赚钱? (2)集成什么广告,不会被市场拒绝? ...
- Android学习系列(27)--App缓存管理
随笔- 53 文章- 10 评论- 1064 Android学习系列(27)--App缓存管理 无论大型或小型应用,灵活的缓存可以说不仅大大减轻了服务器的压力,而且因为更快速的用户体验而方便了用户. ...
- 我的 5 年 Android 学习之路,那些年一起踩过的坑
光阴似箭,日月如梭,时间真的过得飞快. 加上实习,从事 Android 开发,差不多有 5 年了,在这里,我分享一下我的经验,在 Android 的学习路上,我是站在巨人的肩膀上成长起来的. 大概分为 ...
- Android学习博客和文章存档
[Android基础]Android总结篇 http://blog.csdn.net/codeemperor/article/details/51004189 Android最佳性能实践(一)--合理 ...
- Android 学习网站(资源收集)
http://www.open-open.com/news/view/c7eed7 //android 学习路线 http://blog.csdn.net/xiaanming/article/ ...
- Android学习笔记 75. 单元测试
Android学习笔记 Android 开发者基础知识 (Java) -- Google Developers 培训团队 文章目录 Android学习笔记 Android 开发者基础知识 (Java) ...
最新文章
- ubuntu网卡问题
- python商品评论分析_亚马逊产品情感评论分析
- Dataset之Knifey-Spoony:Knifey-Spoony数据集的简介、下载、使用方法之详细攻略
- python for CFD(前两步问题总结)
- idea maven项目下载源码及关联源码
- 找新朋友(欧拉函数)
- spring实例化bean的方式
- javascript中BOM介绍、屏幕尺寸、历史记录、URL解析、计算机信息获取、定时器、三大系列及兼容代码、封装动画函数、同步和异步
- luoguP1090 合并果子 (贪心+优先队列)
- cad2010多个文件并排显示_cad2010如何设置 使一个窗口打开多个文件,并排显示(和360浏览器类似的并排缩略)...
- 2022年全球备用锂电池管理系统行业分析报告
- java 模拟get post请求_[Java] 模拟HTTP的Get和Post请求
- 拳皇世界6月13服务器维护,拳皇世界2月8日例行维护 数据互通公告[图]
- 这些跳槽理由千万不能说!
- 基于决策树的交通拥堵成因分析
- 压缩跟踪Compressive Tracking源码理解
- 车主委托过户和电子委托书
- javaweb企业员工考勤管理系统案例
- 《商业模式》读书笔记
- “应用程序无法启动,因为应用程序的并行配置不正确”问题的解决