我是怎样自学 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励志了!)
学日语并不难,难是难在你有没有信心学好日语,有没有恒心学好日语.如果三天打鱼两天晒网的话,我劝你还是趁早死心,在语言世界里没有任何的捷径,有的只是艰辛和不懈的努力. 我自认为自己在学语言方面很有天赋, ...
随机推荐
- OracleService類
using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Lin ...
- vue开发 - 根据vue-router的meta动态设置html里标签的内容
路由文件 :router/index.js import Vue from 'vue'import Router from 'vue-router'import index '@/view/index ...
- 「 Luogu P2196 」 挖地雷
# 解题思路 跑 $\text{n}$ 遍 $\text{spfa}$ 并记录路径,找到比当前最长路长的就更新答案,并且将路径也更新,注意起点的处理. # 附上代码 #include <iost ...
- [Python3网络爬虫开发实战] 1.9.6-Gerapy的安装
Gerapy是一个Scrapy分布式管理模块,本节就来介绍一下它的安装方式. 1. 相关链接 GitHub:https://github.com/Gerapy 2. pip安装 这里推荐使用pip安装 ...
- 201621123079《Java程序设计》第1周学习总结
第1周-Java基本概念 1.本周学习总结 第一次上课接触java,了解了java的由来和历史,还有JCP,JSP的概念,并学会如何建立一个java文件和运行过程.感觉java比之前学习的数据结构更高 ...
- selenium的三种等待
1. 强制等待 最简单粗暴,sleep(xx),不管你浏览器是否加载完了,程序都得等待xx秒,时间一到,再继续执行下面的代码,作为调试很有用,有时候也可以在代码里这样等待,不过不建议总用这种等待方式, ...
- Lucene实现全文检索的流程
[索引和搜索流程图] 对要索引的原始内容进行索引构建一个索引库,索引过程包括:确定原始内容即要搜索的内容->采集文档->创建文档->分析文档->索引文档. 从索引库中搜索内容, ...
- 从PDF复制到word(换行问题)
当我们从pdf文档中复制一部分内容到word的时候,pdf的自动换行会自动给文字添加换行,也就是一个回车,让文字另起一行,这样粘贴到word中的时候,word中也会有很多换行符,排版比较麻烦,需要一个 ...
- BNUOJ 1268 PIGS
PIGS Time Limit: 1000ms Memory Limit: 10000KB This problem will be judged on PKU. Original ID: 11496 ...
- 九度oj 题目1205:N阶楼梯上楼问题
题目1205:N阶楼梯上楼问题 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:4990 解决:2039 题目描述: N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式.(要求采用 ...