如何自学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. 画图


9. 多媒体与照相机



这几个内容可以参考下面几篇博文: 
【Android笔记】MediaPlayer基本使用方式 
Android Camera(一) 调用系统相机应用 
Android Camera(二) Camera程序编写

10. 高级UI学习


 
 

本文隶属于专栏

Android开发漫谈

介绍Android学习知识点,介绍Android流行框架,介绍Android常用工具,介绍AndroidStudio好用的插件,介绍Android常见UI搭配使用等等,只要和Android相关的都有可能会介绍,漫谈Android开发

lavor作者

 

系列文章

Android如何自学----转自lavor从segmentfault的更多相关文章

  1. Android开发自学笔记(Android Studio) 目录

    开发环境如下: 操作系统:Windows 10 Pro IDE:Android Studio 1.3.X 或更高版本 其它请参见文章说明. 1. 环境搭建 1.1 (番外)AndroidStudio常 ...

  2. Android开发自学笔记(Android Studio)—4.5 ProgressBar及其子类

    一.前言 ProgressBar本身代表了进度条组件,它还派生出了两个常用的组件:SeekBar和RatingBar,他们的使用方法类似,只是显示界面有一定的区别.我们看一下API文档中的说明: 从图 ...

  3. Android开发自学笔记(Android Studio)—4.4 AdapterView及其子类

    一.引言       AdapterView本身是一个抽象类,而它派生的子类在用法上也基本相似,只是在显示上有一定区别,因此把他们也归为一类.       AdapterView具有如下特征: Ada ...

  4. Android开发自学笔记(Android Studio)—4.3ImageView及其子类

    一.引言 ImageView继承自View组件,主要功能用来显示图片,实际上他能显示的不仅是图片,Drawable对象都可以用ImageView来显示. ImageView派生了ImageButton ...

  5. Android开发自学笔记(Android Studio)—4.2TextView及其子类

    一.引言 TextView是我们最常用的一个控件了,它类似于C# Winform程序中的Lable,Java Swing编程中的JLable,不过相对功能更强大些,但从功能上看,它其实就是个文字编辑器 ...

  6. Android开发自学笔记(Android Studio)—4.1布局组件

    一.引言 Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.在Android4.0之前,我们通常说 ...

  7. Android开发自学笔记(Android Studio)—4.界面编程与View组件简单介绍

    一.引言 Android应用开发最重要的一份内容就是界面的开发,无论你程序包含的内容多么优秀,如若没有一个良好的用户交互界面,最终也只是会被用户所遗弃.Android SDK提供了大量功能丰富的UI组 ...

  8. Android开发自学笔记(Android Studio1.3.1)—1.环境搭建

    一.引言 .Google推出的 毫无疑问,这个是它的最大优势,Android Stuido是Google推出,专门为Android"量身订做"的,是Google大力支持的一款基于I ...

  9. Android开发自学笔记—1.1(番外)AndroidStudio常用功能介绍

    一.界面区介绍 1.项目组织结构区,用于浏览项目文件,默认Project以Android组织方式展示. 2.设计区,默认在打开布局文件时为设计模式,可直接拖动控件到界面上实现所见即所得,下方的Desi ...

随机推荐

  1. shell命令跟踪

    Linux Shell提供了两种方式来跟踪Shell脚本中的命令,以帮助我们准确的定位程序中存在的问题.下面的代码为第一种方式,该方式会将Shell脚本中所有被执行的命令打印到终端,并在命令前加&qu ...

  2. H5+MUI上传文件

    应用场景:MUI+H5+WEBAPI 今天在给我外甥女调手机端上传图片的时候,发现他是直接调用的MUI下的api,直接调取相册或者相机,到最后只看见了一个文件的路径,所以以前写的上传文件就不太好套上去 ...

  3. 使用gunzip、tar、rar、(zip压缩和unzip解压缩)

    ---------------------20171119------------------------------ 解压gz后缀 使用gunzip filename.gz ------------ ...

  4. Kinect1驱动 PCL OpenCV ROS 安装

    1. OpenCV安装 1)在终端安装依赖项sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev li ...

  5. 最全的HTTP 响应状态码列表!

    摘要: HTTP状态码,我们要学会现查现用能记住最好. 简单举例几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了.如果是做AJAX,RE ...

  6. JSP简单实现统计网页访问次数

    JSP简单实现统计网页访问次数 需求:统计网页的访问次数 核心思想:利用application对象,将访问次数的信息放入application对象中,每次访问就+1.这里利用了application对 ...

  7. 插件式WebApi服务及自动生成Api帮助文档

    上一篇博客中,讲到了将WebApi Host到控制台和IIS,本篇总结一下如何将WebApi的Service以插件的形式进行动态部署,并设置Hoster的首页显示Api帮助文档,当然,也包括动态部署进 ...

  8. windows查看当前python的版本

    1.Ctrl+R打开控制台 输入python之后回车

  9. dsu on tree(CF600E Lomsat gelral)

    题意 一棵树有n个结点,每个结点都是一种颜色,每个颜色有一个编号,求树中每个子树的最多的颜色编号的和. dsu on tree 用来解决子树问题 好像不能带修改?? 暴力做这个题,就是每次扫一遍子树统 ...

  10. css 动画中 ease,seae-in,ease-in-out,ease-out,效果区别

    linear 规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1)).(匀速) ease 规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0. ...