如何自学Android

如何自学Android, 教大家玩爆Android

2016-11-22 吧主 杨守乐

如何自学Android

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 有问题上google 百度

StackOverFlow Stack Overflow是一个与程序相关的IT技术问答网站。 SegmentFault

github 代码托管,可以在上面找到很多有用源码 开源中国码云

2. Android常用三大仓库

经常我们在github上面找到的项目不提供库文件的下载,我们又希望直接下载库文件怎么办,看该项目上传到什么仓库去了,然后到仓库里面去下载库文件。

snapshots

maven

jcenter

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优秀博客

郭霖的专栏

鸿洋

Trinea

赵凯强

任玉刚

一叶飘舟

Scott

张兴业的博客

夏安明

刘望舒

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,930评论 25 708
  • 工作原理 多级泵是离心泵的一种,也是依靠叶轮的旋转在获取离心力,从而物料。待气体密度达到机械真空泵的工作范围而被抽...
    七月的清风阅读 392评论 0 0
  • You can use ssh with reverse tunnel like this -f: run in ...
    alston_tsao阅读 1,447评论 1 0
  • 定时器是什么? 定时器提供执行延迟动作或周期性动作的方式。 定时器等待直到一定时间间隔过去,然后触发,向指定的对象...
    权宜平和阅读 922评论 0 0