我是怎样自学 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励志了!)
学日语并不难,难是难在你有没有信心学好日语,有没有恒心学好日语.如果三天打鱼两天晒网的话,我劝你还是趁早死心,在语言世界里没有任何的捷径,有的只是艰辛和不懈的努力. 我自认为自己在学语言方面很有天赋, ...
随机推荐
- 说说C#中list与IList中的区别(转载)
首先IList 泛型接口是 ICollection 泛型接口的子代,并且是所有泛型列表的基接口. 但是它仅仅是所有泛型类型的接口,并没有太多方法可以方便实用,如果仅仅是作为集合数据的承载体,确实,IL ...
- springboot实现web应用过程中的摸爬打滚(持续更新ing)
最近在做公司的网站项目,后端用到springboot.怎么说呢,记录总结一下自己开发过程中遇到的坑和一些心得体会,以及一些技巧.方便以后回顾复习,也供同行们参考. 开发环境:eclipse2018-1 ...
- JAVA基础——设计模式之简单工厂模式
在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式.简单工厂模式是由一个工厂 ...
- 样例GeoQuiz应用开发 第1章
1. Activity是Android SDK的Activity类的一个具体实例,负责管理用户和信息屏的交互.应用的功能是通过编写一个Activity子类来实现的.简单的可能只有一个子类,复杂的应用则 ...
- 笔试算法题(35):最长递增子序列 & 判定一个字符串是否可由另一个字符串旋转得到
出题:求数组中最长递增子序列的长度(递增子序列的元素可以不相连): 分析: 解法1:应用DP之前需要确定当前问题是否具有无后效性,也就是每个状态都是对之前状态的一个总结,之后的状态仅会受到前一个状态的 ...
- MySQL主从配置详解
一.mysql主从原理 1. 基本介绍 MySQL 内建的复制功能是构建大型,高性能应用程序的基础.将 MySQL 的 数亿分布到到多个系统上去,这种分步的机制,是通过将 MySQL 的某一台主机的数 ...
- <mongoose>……find与findOne的区别……//
mongoose中的 find 和 findOne 都是用来查找指定表的数据的 find指的是查找指定表的所有数据,返回的是数组 User.find().then((result)=>{ con ...
- hdu 1075
#include<stdio.h> #include<string.h> #include<string> #include<iostream> #in ...
- 听dalao讲课 7.27
1.高斯消元&线性基 也就是打大暴力啊 所谓的高斯消元也就是加减消元嘛,我的意识流高斯消元是可以的,没听到HY神犇讲,LZHdalao讲得很好,其实就是\(O(n^3)\)的暴力,别的地方一直 ...
- [NOIP2006] 提高组 洛谷P1065 作业调度方案
题目描述 我们现在要利用m台机器加工n个工件,每个工件都有m道工序,每道工序都在不同的指定的机器上完成.每个工件的每道工序都有指定的加工时间. 每个工件的每个工序称为一个操作,我们用记号j-k表示一个 ...