我是怎样自学 Android 的?
1. Java知识储备
本知识点不做重点解说:
对于有基础的同学推荐看《Java编程思想》,巩固基础,查漏补全,了解并熟悉很多其它细节知识点。
对于没有基础的同学推荐看一本Java基础的书籍,看完后能够继续看《Java编程思想》提升自己。
对于自觉得时间非常充裕,仅仅要基础学扎实就好的推荐看《疯狂Java讲义》,这本书真的非常厚,可是解说的特别具体。
2. Android基础学习
1. 基础UI学习

对于这些基础UI的使用API谷歌官网给出了非常好的实例。
对于上不了谷歌的同学,能够參考http://www.android-doc.com/reference/packages.html
比方我要看Button怎样使用:
在站点的右上角搜索栏里面输入“Button”。然后以下提示一些带“Button”keyword的类。我们点击我们想要查看的类就能够看到这个类的基本用法及其API。

2. 四大组件学习

Activity的学习能够參考这几篇博文:
Service的学习能够參考这篇博文:
BroadCastReceiver的学习能够參考这篇博文:
ContentProvider的学习能够參考这几篇博文:
四大组件之间的纽带Intent的学习能够參考这篇博文:
注意:默认情况以下Service是在主线程中执行的,默认情况以下BroadCastReceiver是存活在Android系统中的,不随着应用程序的关闭而消亡。
3. 五大布局学习

五大布局具体介绍使用能够參考这篇博文:
五大布局的精简使用介绍能够參考以下几篇博文:
4. 友好交互学习

这几个内容的学习能够參考以下几篇博文:
android Toast大全(五种情形)建立属于你自己的Toast
5. 数据存储

- 内存存储将数据存储在内存中。读取速度最快可是不能永久性存储。
- 文件存储通过Java的IO流将数据以文件的形式存储在磁盘上。
- SharedPreferences以固定格式的xml文件的形式将数据存储在磁盘上。
- 数据库存储通常是指将数据存储到Android自带的sqlite数据库中。
- 网络存储是将数据传到云端进行存储。(典型应用:网盘)
SharedPreferences和数据库存储能够參考以下几篇博文:
6. 网络訪问
- HttpClient:是Apache提供的。
- HttpURLConnection:是谷歌依据Java自带的URLConnection改进的。
- Socket:Socket是Java自带的基于TCP/IP的通信工具。
- WebView:WebView是基于谷歌chromium内核的一个能够作为浏览器的视图。
这几个内容能够參考以下几篇博文:
Android_HttpURLConnection_Get和Post请求
关于HttpClient,HttpURLConnection部分也能够參考郭霖的《第一行代码》中的相关部分。
注意:Android从4.0開始后就不能再主线程中进行网络操作。
7. 动画解说

这几个内容能够參考以下几篇博文:
Android 属性动画(Property Animation) 全然解析 (上)
Android 属性动画(Property Animation) 全然解析 (下)
8. 绘图

- View绘图能够參考Android绘图最主要的三个对象(Color,Paint。Canvas)
- SurfaceView绘图能够參考android之View和SurfaceView
- OpenGL ES绘图能够參考Android OpenGL ES 教程
9. 多媒体与照相机

这几个内容能够參考以下几篇博文:
10. 高级UI学习

这几个内容能够參考以下几篇博文:
Android Fragment全然解析,关于碎片你所需知道的一切
Android ActionBar全然解析,使用官方推荐的最佳导航栏(上)
Android ActionBar全然解析,使用官方推荐的最佳导航栏(下)
注意:使用Fragment的时候注意是用的是android.support.v4.app.Fragment还是android.app.Fragment
11. 样式开发

这几个内容能够參考以下几篇博文:
Android样式的开发:Property Animation篇
12. 多线程与通信

- Handle学习能够參考Android消息处理机制(Handler、Looper、MessageQueue与Message)
- AsyncTask学习能够參考具体解释Android中AsyncTask的使用
- AIDL学习能够參考Android AIDL使用具体解释
13. 其他知识点

这几个内容能够參考以下几篇博文:
Android资源文件 – 使用资源存储字符串 颜色 尺寸 整型 布尔值 数组
14. 一些Android学习站点和博客
1. 三大Android最佳学习站点
| 站点名 | 说明 | 国内相似者 |
|---|---|---|
| 有问题上google | 百度 | |
| StackOverFlow | Stack Overflow是一个与程序相关的IT技术问答站点。 | SegmentFault |
| github | 代码托管。能够在上面找到非常多实用源代码 | 开源中国码云 |
2. Android经常使用三大仓库
常常我们在github上面找到的项目不提供库文件的下载。我们又希望直接下载库文件怎么办。看该项目上传到什么仓库去了。然后到仓库里面去下载库文件。
3. Android有用站点
| 站点名 | 说明 |
|---|---|
| Android Weekly | Android技术每周推介 |
| Android开发技术周报 | 每周介绍Android开发新闻与新技术 |
| Android Arsenal | 不要反复造轮子,提供Android工具,库和应用程序 |
| Codota | 代码搜索 |
| CodePath | 国外著名培训机构,提供大量Android学习优秀资源 |
| Android Asset Studio | Android图标制作 |
| 干货集中营 | 每天分享Android优秀技术文章或者开源项目 |
| 开发技术前线 | Android开发前沿技术介绍 |
| http://www.android-doc.com/ | Android官方API镜像站点(同步API到19) |
| http://android.xsoftlab.net/ | Android官方API镜像站点(同步API到23) |
4. Android优秀博客
我是怎样自学 Android 的?的更多相关文章
- 我是如何自学Android,资料分享(2015 版)
自己学了两三个月的Android,最近花了一周左右的时间写了个App——Diigoer(已开源),又花了一两周时间找工作,收到了两个Offer,也算是对自己学习的一种认可吧:我刚开始学习总结的——&l ...
- 我是如何自学Android,资料分享
我是如何自学Android,资料分享(2015 版) 已经完成,我的建议是先把这一篇看完,再看2015 版的.关于我在学习中开发的项目代码,已经发布在: 爱开发-源码搜索,集成了上万个App源码 ...
- 如何自学 Android 编程?
最近知乎上有网友问我怎么自学Android,其实说实在的,我学的也一塌糊涂,当然在学习过程也积累了一些知识,对于以前没接触过Android的朋友,或者刚入门Android 的朋友,这篇文章作为入门,那 ...
- 一个大四毕业生想对自学Android的大学生说一些话
本人大四,经历了秋招和春招,秋招拿了华为的android offer,春招是拿的java后台开发的offer,一路走来,感慨很多,有一些话想对在自学Android的大学生说.本文只是帮助像我一样的大学 ...
- 转自:如何自学Android(强烈推荐)
转自: http://gityuan.com/2016/04/24/how-to-study-android/ 看到很多人提问非科班该如何学习编程,其实科班也基本靠自学.有句话叫“师傅领进门修行靠个人 ...
- 自学android半年,已从.net转型成android程序员,分享下这个过程
自学从来都是一件难以坚持的事情,看过太多人三分钟热度之后就颓然放弃,然后告诉下一个要自学的人,自学很难,还是正儿八经去培训机构吧 所以首先你要对安卓开发非常感兴趣,发自内心喜欢安卓系统,日常手机如果是 ...
- 如何自学Android
看到很多人提问非科班该如何学习编程,其实科班也基本靠自学.有句话叫"师傅领进门修行靠个人",再厉害的老师能教你的东西都是很有限的,真正的修行还是要靠自己.博主本科是数学专业,虽研究 ...
- 中专生自学Android到找到工作的前前后后
我是一名中专生,在学校里读的是计算机专业,但是由于学校不好大部分同学都不爱学习来这里几乎大部分都是在混日子的,虽然我中考的成绩不差,但是因为家里穷考虑到以后没钱读大学我毅然来到这里,虽然是中专,但是我 ...
- 我是怎样自学日语的(太TM励志了!)
学日语并不难,难是难在你有没有信心学好日语,有没有恒心学好日语.如果三天打鱼两天晒网的话,我劝你还是趁早死心,在语言世界里没有任何的捷径,有的只是艰辛和不懈的努力. 我自认为自己在学语言方面很有天赋, ...
随机推荐
- $("[lay-id='"+this.id+"']")
$("[lay-id='"+this.id+"']") $("[lay-id='"+this.id+"'] .layui-tabl ...
- Mac OS X 中安装 brew
不想被误导?直接看官方文档: http://mxcl.github.com/homebrew/ 先安装Git,打开一个shell cd /usr/local sudo mkdir homeb ...
- error while loading shared libraries: libclntsh.so.11.1
解决这个问题有两种方法 1.在当前用户下,添加链接库所在路径 LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH; export LD_LIBRARY_ ...
- mysql limit关键字
select * from table_name limit [index, ] length; limit后面跟2个参数: index:索引号,从0开始计算,表示从哪一行开始: length:长度, ...
- 借助百度地图API制作企业百度地图
做网站需要插入地图,可以借助百度地图API,具体步骤如下: 1.打开百度地图API的网址: http://api.map.baidu.com/lbsapi/creatmap/ 2.设置中心点 3. ...
- source collection list
1.Anaconda:http://www.cnblogs.com/xiaoming123abc/p/6970890.html https://conda.io/docs/help-support.h ...
- Java 序列化Serializable详解(附详细例子)
Java 序列化Serializable详解(附详细例子) 1.什么是序列化和反序列化Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是 ...
- Core Animation教程
http://dev.wo.com.cn/bbs/viewthread.jsp?tid=141767&page=1 http://blog.csdn.net/lvxiangan/article ...
- getQueryString(option)的用法
//页面参数接收1.function getQueryString(name) { var reg = new RegExp("(^|&)" + name + " ...
- 源码学习-String类
最近在扫描CodeDex时报了一个不能使用String.intern()的字符串来做锁对象的告警,对这个问题有疑问查了些资料,顺便学习一下String类的源码. 1.类定义 String 被final ...