我是怎样自学 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励志了!)
学日语并不难,难是难在你有没有信心学好日语,有没有恒心学好日语.如果三天打鱼两天晒网的话,我劝你还是趁早死心,在语言世界里没有任何的捷径,有的只是艰辛和不懈的努力. 我自认为自己在学语言方面很有天赋, ...
随机推荐
- cesium 原理 之 command拼接
VAO VAO(Vertext Array Object),中文是顶点数组对象.之前在<Buffer>一文中,我们介绍了Cesium如何创建VBO的过程,而VAO可以简单的认为是基于VBO ...
- python 导入beautifulsoup报错
导入Beautifulsoup 报错 AttributeError: 'module' object has no attribute '_base' 解决方法: pip install --up ...
- vue跨域解决方法 及设置api路径方法
vue项目中,前端与后台进行数据请求或者提交的时候,如果后台没有设置跨域,前端本地调试代码的时候就会报“No 'Access-Control-Allow-Origin' header is prese ...
- HDU4415 Assassin’s Creed
题目大意:有n个人,每个人有x,y两个值.x代表干掉他得到的分数,分数和不超过m;y代表干掉他后你能额外干掉多少个,且不计入总分. 求干掉人数最多为多少,以及最小的分. ~~~~~~~~~~~~~~~ ...
- [Python3网络爬虫开发实战] 6-Ajax数据爬取
有时候我们在用requests抓取页面的时候,得到的结果可能和在浏览器中看到的不一样:在浏览器中可以看到正常显示的页面数据,但是使用requests得到的结果并没有.这是因为requests获取的都是 ...
- dva使用及项目搭建
一.简介 本文将简单分析dva脚手架的使用及项目搭建过程. 首先,dva是一个基于redux和redux-saga的数据流方案,然后为了简化开发体验,dva还额外内置了react-router和fet ...
- caca需要用到x11作为图形输出
编译错误:no output drivers were selected!. yum -y install xcb-proto yum -y install libxcb-devel.x86_64 l ...
- [luoguP2885] [USACO07NOV]电话线Telephone Wire(DP + 贪心)
传送门 真是诡异. 首先 O(n * 100 * 100) 三重循环 f[i][j] 表示到第 i 个柱子,高度是 j 的最小花费 f[i][j] = min(f[i - 1][k] + abs(k ...
- 前端开发:JavaScript---DOM & BOM
DOM:Document Object Model 文档对象类型 模态框案例 <!DOCTYPE html> <html lang="en"> <h ...
- [NOIP2007] 普及组
奖学金 模拟 开个struct排序即可 c++吼啊 /*by SilverN*/ #include<algorithm> #include<iostream> #include ...