如何自学 Android 的?
http://android.jobbole.com/83380/
1. Java知识储备
本知识点不做重点讲解:
对于有基础的同学推荐看《Java编程思想》,巩固基础,查漏补全,了解并熟悉更多细节知识点。
对于没有基础的同学推荐看一本Java基础的书籍,看完后可以继续看《Java编程思想》提升自己。
对于自认为时间很充裕,只要基础学扎实就好的推荐看《疯狂Java讲义》,这本书真的很厚,但是讲解的特别详细。
2. Android基础学习
1. 基础UI学习
对于这些基础UI的使用API谷歌官网给出了很好的实例。对于上不了谷歌的同学,可以参考http://www.android-doc.com/reference/packages.html
比如我要看Button如何使用:
在网站的右上角搜索栏里面输入“Button”,然后下面提示一些带“Button”关键字的类,我们点击我们想要查看的类就可以看到这个类的基本使用方法及其API。
2. 四大组件学习
Activity的学习可以参考这几篇博文:
Activity生命周期
Activity的四种launchMode
Activity的task相关
Service的学习可以参考这篇博文:
Service完全解析
BroadCastReceiver的学习可以参考这篇博文:
BroadcastReceiver应用详解
ContentProvider的学习可以参考这几篇博文:
ContentProvider之读写联系人
ContentProvider之读写短消息
创建及调用自己的ContentProvider
四大组件之间的纽带Intent的学习可以参考这篇博文:
Intent应用详解
注意:默认情况下面Service是在主线程中运行的,默认情况下面BroadCastReceiver是存活在Android系统中的,不随着应用程序的关闭而消亡。
3. 五大布局学习
五大布局的精简使用介绍可以参考下面几篇博文:
LinearLayout、AbsoluteLayout
RelativeLayout、FrameLayout
TableLayout (一)
TableLayout (二)
五大布局详细介绍使用可以参考这篇博文:
Android系统五大布局详解Layout
4. 友好交互学习
这几个内容的学习可以参考下面几篇博文:
Android中的Menu(菜单)的三种类型菜单的学习
android ListView
Android Dialog用法
android Toast大全(五种情形)建立属于你自己的Toast
Notification的几种用法!
Android中PopupWindow的使用
5. 数据存储
- 内存存储将数据存储在内存中,读取速度最快但是不能永久性存储。
- 文件存储通过Java的IO流将数据以文件的形式存储在磁盘上。
- SharedPreferences以固定格式的xml文件的形式将数据存储在磁盘上。
- 数据库存储一般是指将数据存储到Android自带的sqlite数据库中。
- 网络存储是将数据传到云端进行存储。(典型应用:网盘)
SharedPreferences和数据库存储可以参考下面几篇博文:
Android SharedPreferences的使用
android中的数据库操作
6. 网络访问
- HttpClient:是Apache提供的。
- HttpURLConnection:是谷歌根据Java自带的URLConnection改进的。
- Socket:Socket是Java自带的基于TCP/IP的通信工具。
- WebView:WebView是基于谷歌chromium内核的一个可以作为浏览器的视图。
这几个内容可以参考下面几篇博文:
Android HttpClient
Android_HttpURLConnection_Get和Post请求
基于android的Socket通信
android WebView总结
关于HttpClient,HttpURLConnection部分也可以参考郭霖的《第一行代码》中的相关部分。
注意:Android从4.0开始后就不能再主线程中进行网络操作。
7. 动画讲解
这几个内容可以参考下面几篇博文:
详解Android动画之Frame Animation
详解Android动画之Tween Animation
Android 属性动画(Property Animation) 完全解析 (上)
Android 属性动画(Property Animation) 完全解析 (下)
8. 画图
- View画图可以参考Android画图最基本的三个对象(Color,Paint,Canvas)
- SurfaceView画图可以参考android之View和SurfaceView
- OpenGL ES画图可以参考Android OpenGL ES 教程
9. 多媒体与照相机
这几个内容可以参考下面几篇博文:
【Android笔记】MediaPlayer基本使用方式
Android Camera(一) 调用系统相机应用
Android Camera(二) Camera程序编写
10. 高级UI学习
这几个内容可以参考下面几篇博文:
Android Fragment完全解析,关于碎片你所需知道的一切
有关ViewFlipper的使用及设置动画效果的讲解
Android ViewPager使用详解
Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)
Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)
Android 自定义View (一)
Android 手把手教您自定义ViewGroup(一)
注意:使用Fragment的时候注意是用的是android.support.v4.app.Fragment
还是android.app.Fragment
11. 样式开发
这几个内容可以参考下面几篇博文:
Android样式的开发:shape篇
Android样式的开发:selector篇
Android样式的开发:layer-list篇
Android样式的开发:drawable汇总篇
Android样式的开发:View Animation篇
Android样式的开发:Property Animation篇
Android样式的开发:Style篇
12. 多线程与通信
- Handle学习可以参考Android消息处理机制(Handler、Looper、MessageQueue与Message)
- AsyncTask学习可以参考详解Android中AsyncTask的使用
- AIDL学习可以参考Android AIDL使用详解
13. 其它知识点
这几个内容可以参考下面几篇博文:
android基本架构
Android资源文件 – 使用资源存储字符串 颜色 尺寸 整型 布尔值 数组
Android Manifest.xml 结构详解
Android GestureDetector手势识别类
Android事件传递机制
Android 编程下 Touch 事件的分发和消费机制
Android事件分发机制实例验证
Android Clipboard(复制/剪贴板)
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,其实说实在的,我学的也一塌糊涂,当然在学习过程也积累了一些知识,对于以前没接触过Android的朋友,或者刚入门Android 的朋友,这篇文章作为入门,那 ...
- 转自:如何自学Android(强烈推荐)
转自: http://gityuan.com/2016/04/24/how-to-study-android/ 看到很多人提问非科班该如何学习编程,其实科班也基本靠自学.有句话叫“师傅领进门修行靠个人 ...
- 我是如何自学Android,资料分享
我是如何自学Android,资料分享(2015 版) 已经完成,我的建议是先把这一篇看完,再看2015 版的.关于我在学习中开发的项目代码,已经发布在: 爱开发-源码搜索,集成了上万个App源码 ...
- 一个大四毕业生想对自学Android的大学生说一些话
本人大四,经历了秋招和春招,秋招拿了华为的android offer,春招是拿的java后台开发的offer,一路走来,感慨很多,有一些话想对在自学Android的大学生说.本文只是帮助像我一样的大学 ...
- 自学android半年,已从.net转型成android程序员,分享下这个过程
自学从来都是一件难以坚持的事情,看过太多人三分钟热度之后就颓然放弃,然后告诉下一个要自学的人,自学很难,还是正儿八经去培训机构吧 所以首先你要对安卓开发非常感兴趣,发自内心喜欢安卓系统,日常手机如果是 ...
- 如何自学Android
看到很多人提问非科班该如何学习编程,其实科班也基本靠自学.有句话叫"师傅领进门修行靠个人",再厉害的老师能教你的东西都是很有限的,真正的修行还是要靠自己.博主本科是数学专业,虽研究 ...
- 自学Android的第一个小程序(小布局、button点击事件、toast弹出)
因为上班,学习时间有限,昨晚才根据教程写了一个小程序,今天忙里偷闲写一下如何实现的,来加深一下印象. 首先创建一个Android项目, 通过activity_xxx.xml布局文件来添加组件来达到自己 ...
- 中专生自学Android到找到工作的前前后后
我是一名中专生,在学校里读的是计算机专业,但是由于学校不好大部分同学都不爱学习来这里几乎大部分都是在混日子的,虽然我中考的成绩不差,但是因为家里穷考虑到以后没钱读大学我毅然来到这里,虽然是中专,但是我 ...
随机推荐
- 莫烦theano学习自修第三天【共享变量】
1. 代码实现 #!/usr/bin/env python #! _*_ coding:UTF-8 _*_ import numpy as np import theano.tensor as T i ...
- python数据结构与算法第八天【冒泡排序】
1.排序算法的稳定性 稳定排序算法会让原本有相同键值的记录维持相对次序 例如:对以下元组按照元组的第一个元素升序排列,元组如下: (4,1) (3,1) (3,7) (5,6) 若要满足条件,则可能的 ...
- vue自定义组件及传值
1.使用 Vue.component() 方法注册组件 2.使用 props 属性传递参数 v-for="item in items": 遍历 Vue 实例中定义的名为 items ...
- vue中组件绑定事件时是否加.native
组件绑定事件时 1. 普通组件绑定事件不能添加.native, 添加后事件失效 2. 自定义组件绑定事件需要添加.native, 否则事件无效 <template> <!-- < ...
- 51-node-1649齐头并进(最短路)
题意:中文题,没啥坑点: 解题思路:这道题一开始以为要跑两个最短路,后来发现不用,因为如果给定了铁路的线路,那么,公路一定是n个节点无向图的补图,所以,铁路和公路之间一定有一个是可以直接从1到n的,我 ...
- 洛谷 P3951 小凯的疑惑
题目链接 一开始看到这题,我的内心是拒绝的. 以为是同余类bfs,一看数据1e9,发现只能允许O(1)的算法,数学还不太好,做不出来,其实应该打表找规律. 看到网上的题解,如果两个都必须拿,结果一定是 ...
- Lisp小程序,大作用,不该放弃!
从听说autolisp到现在已经20年了, 学了一点点, 可惜中间没能坚持下来, 放弃了! 今天在画图, 图纸是从revit转成dwg的, 其中有些文本的朝向是错误的, 如果手工旋转很是费事, ...
- CH2101 可达性统计(算竞进阶习题)
拓扑排序+状态压缩 考虑每一个点能够到达的所有点都是与该店相邻的点的后继节点,可知: 令f[u]表示u点可到达的节点个数,f[u]={u}与f[v](u, v)的并集 于是可以利用状态压缩,能够到达的 ...
- kebab HDU - 2883(按时间段建点)
题意: 有n个人去撸串,每个人都能决定自己的串上有几块肉,每一块肉都要花费一个单位时间才熟,烤炉一次能烤m块肉 给出每个人的起始时间.终止时间.要几串.每个串上有几块肉,问能否满足所有的人 (啥?题不 ...
- 【BZOJ4126】【BZOJ3516】【BZOJ3157】国王奇遇记 线性插值
题目描述 三倍经验题. 给你\(n,m\),求 \[ \sum_{i=1}^ni^mm^i \] \(n\leq {10}^9,1\leq m\leq 500000\) 题解 当\(m=1\)时\(a ...