前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android 学习小结

Android 学习小结

作者头像
阳光岛主
发布2019-02-19 15:43:06
4830
发布2019-02-19 15:43:06
举报
文章被收录于专栏:米扑专栏米扑专栏

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源码,对有些感念不清楚,就上论坛去找答案,如CSDNITEye、IBM、知乎,或者去啃google 官方的文档

Android 高级

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

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

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

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

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

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

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

Android 开源

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

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

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

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012年06月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档