我是怎样自学 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励志了!)
学日语并不难,难是难在你有没有信心学好日语,有没有恒心学好日语.如果三天打鱼两天晒网的话,我劝你还是趁早死心,在语言世界里没有任何的捷径,有的只是艰辛和不懈的努力. 我自认为自己在学语言方面很有天赋, ...
随机推荐
- 异步编程when.js
when.js很小,压缩后只有数kb,gzip后的大小几乎可以忽略.在Node和浏览器环境里都可以使用when.js 首先,我们看一小段代码: var getData = function(callb ...
- C#readonly 关键字与 const 关键字的区别
1. const 字段只能在该字段的声明中初始化,readonly 字段可以在声明或构造函数中初始化.因此,根据所使用的构造函数,readonly 字段可能具有不同的值. 2. const 字段是编译 ...
- ionic3 ion-slides遇坑
不想吐槽 ionic-slides 的组件,是个巨坑...切换页面以后再返回当前页面, 不能自动播放,网上的解决方案都是没用的(亲测,后台获取的数据) ... 不信邪的宝宝们可以去试试..建议换 ...
- PHP实现定时任务的几种方式
关于定时任务,之前以前认识了一种最常用的:crontab定时任务.通过linux的定时任务去实现.今天又认识了一下php实现定时方式的其它方式,总结一下. 一 服务器定时任务 服务器定时任务,其实就是 ...
- 关于ie8下disabled属性:字体颜色问题
在ie8下,input/textarea输入框如果使用disabled属性,字体的颜色会变灰,这时我们可以使用另一种方法实现它. 不使用disabled,用readonly代替: input[read ...
- Broadcasting
目录 Broadcasting Key idea How to understand? Why broadcasting? Broadcastable? Broadcast VS Tile Broad ...
- 利用类装饰器自定制property实现延迟计算
class LazyProperty: ''' hello,我是非数据描述符(没有定义__set__,不然是大哥数据描述符了--!) ''' def __init__(self, func): pri ...
- leetcode-832翻转图像
翻转图像 思路: 先对图像进行水平翻转,然后反转图片(对每个像素进行异或操作) 代码: class Solution: def flipAndInvertImage(self, A: List[Lis ...
- prometheus监控linux系统
安装node exporter 创建Systemd服务 #vim /etc/systemd/system/node_exporter.service[Unit]Description=mysql_ex ...
- java成员变量
成员变量是在类范围内定义的变量 局部变量是在一个方法内定义的变量 https://www.cnblogs.com/zhengchenhui/p/5762966.html