Android如何自学----转自lavor从segmentfault
如何自学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开发漫谈
介绍Android学习知识点,介绍Android流行框架,介绍Android常用工具,介绍AndroidStudio好用的插件,介绍Android常见UI搭配使用等等,只要和Android相关的都有可能会介绍,漫谈Android开发
lavor作者
系列文章
- Android通用流行框架大全 55 收藏, 4.3k 浏览
- AndroidStudio好用的插件 1 收藏, 70 浏览
Android如何自学----转自lavor从segmentfault的更多相关文章
- Android开发自学笔记(Android Studio) 目录
开发环境如下: 操作系统:Windows 10 Pro IDE:Android Studio 1.3.X 或更高版本 其它请参见文章说明. 1. 环境搭建 1.1 (番外)AndroidStudio常 ...
- Android开发自学笔记(Android Studio)—4.5 ProgressBar及其子类
一.前言 ProgressBar本身代表了进度条组件,它还派生出了两个常用的组件:SeekBar和RatingBar,他们的使用方法类似,只是显示界面有一定的区别.我们看一下API文档中的说明: 从图 ...
- Android开发自学笔记(Android Studio)—4.4 AdapterView及其子类
一.引言 AdapterView本身是一个抽象类,而它派生的子类在用法上也基本相似,只是在显示上有一定区别,因此把他们也归为一类. AdapterView具有如下特征: Ada ...
- Android开发自学笔记(Android Studio)—4.3ImageView及其子类
一.引言 ImageView继承自View组件,主要功能用来显示图片,实际上他能显示的不仅是图片,Drawable对象都可以用ImageView来显示. ImageView派生了ImageButton ...
- Android开发自学笔记(Android Studio)—4.2TextView及其子类
一.引言 TextView是我们最常用的一个控件了,它类似于C# Winform程序中的Lable,Java Swing编程中的JLable,不过相对功能更强大些,但从功能上看,它其实就是个文字编辑器 ...
- Android开发自学笔记(Android Studio)—4.1布局组件
一.引言 Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.在Android4.0之前,我们通常说 ...
- Android开发自学笔记(Android Studio)—4.界面编程与View组件简单介绍
一.引言 Android应用开发最重要的一份内容就是界面的开发,无论你程序包含的内容多么优秀,如若没有一个良好的用户交互界面,最终也只是会被用户所遗弃.Android SDK提供了大量功能丰富的UI组 ...
- Android开发自学笔记(Android Studio1.3.1)—1.环境搭建
一.引言 .Google推出的 毫无疑问,这个是它的最大优势,Android Stuido是Google推出,专门为Android"量身订做"的,是Google大力支持的一款基于I ...
- Android开发自学笔记—1.1(番外)AndroidStudio常用功能介绍
一.界面区介绍 1.项目组织结构区,用于浏览项目文件,默认Project以Android组织方式展示. 2.设计区,默认在打开布局文件时为设计模式,可直接拖动控件到界面上实现所见即所得,下方的Desi ...
随机推荐
- WCF-异步调用和两种客户端形式
当发布一个服务端之后,客户端可以通过服务端的元数据,用VS2010添加服务引用的方式生成对应的代码.并且可以选择生成相应的异步操作. WCF实现代码,Add操作延时5秒后再返回结果. [Service ...
- SQL Server 获取(本周、本月、本旬、本季、本年)的某一天
/*------------------------------本周----------------------------------------*/ --本周第一天 ),getdate()) -- ...
- WPF判断两个时间大小避免误差
进行查询操作的时候,经常用到判断开始时间和结束时间大小的条件,由于从控件上获取的时间除了年月日时分秒,还包括毫秒.微秒等,导致直接判断时间大小的时候会产生一些误差,如下: 结果分析:年月日时分秒一致的 ...
- JS获取当前屏幕宽高
Javascript: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.b ...
- 撩课-Web大前端每天5道面试题-Day3
1. javascript的typeof返回哪些数据类型? 答案: undefined string boolean number symbol(ES6) Object Function 2. 列举3 ...
- HTTP2 概述
HTTP/2,也就是超文本传输协议第2版,不论是1还是2,HTTP的基本语义是不变的,比如方法语义(GET/PUST/PUT/DELETE),状态码(200/404/500等),Range Reque ...
- unity3d之简单的时钟倒计时demo
输入结束时间,开始倒计时,时间差不超过一天,附上代码:(关于个位数显示,加个判断如果小于10 显示的字符串加上0) using System.Collections; using System.Col ...
- 文件下载(Servlet/Struts2)
文件上传(Servlet/Struts2/SpringMVC)的链接:http://www.cnblogs.com/ghq120/p/8312944.html 文件下载 Servlet实现 目录结构 ...
- easy canvas shape with react antdesign 简单的canvas图形in antd & react
//show: //code: import React from "react" import {findDOMNode} from 'react-dom' import { B ...
- ORACLE数据仓库学习记录
一.数据仓库安装 安装ORACLE DATABASE 10g Release 2 ORACLE数据库版本是:10.2.0.1.0(服务器).执行基本安装(安装全部的组件)并创建示例数据库. 安装ORA ...