在其他的文章中看到,有人说学习如何东西之前,都要学会思考一下几点,这样如何东西都会学的很好。
1、What is it(它是什么) 2、What does it do(它是干什么的、怎么干的) 3、Why does it do this(它为什么这么干)
安卓系统是基于linux为核心的,而linux是用c语言和少量汇编语言写成的,如果你想研究安卓,就去学c语言吧。而应用大多是用java编写的,而我想从易到难,所以我这篇文章写的是Android的一些入门规划。
首先分为这个三大节。
一、JAVA基础
二、Android基础
三、边学变练(做程序)
而每个三大节中又分为若干个小结,首先:
JAVA SE基础篇
1.基础语法:数据类型、方法的基本运用、运算符、数组、循环、分支的使用。
2.常用算法:排序(冒泡排序、选择排序、快排(面试常用)),正则表达式(会用、理解即可)
3.面向对象的抽象,封装,继承,多态,类与对象,对象初始化和回收;构造函数、this关键字、方法和方法的参数传递过程、static关键字、内部类。
4.对象实例化过程、方法的覆盖、final关键字、抽象类、接口、继承的优点和缺点剖析;对象的多态性:子类和父类之间的转换、抽象类和接口在多态中的应用、多态带来的好处。
5.Java异常处理,异常的机制原理。
6.常用的设计模式:Singleton、Template、Strategy模式。
7.JavaAPI介绍:种基本数据类型包装类,System和Runtime类,Date和DateFomat类等。
8.Java集合介绍:Collection、Set、List、ArrayList、LinkedList、Hashset、Map、HashMap、Iterator等常用集合类API。
9.JavaI/O输入输出流:File和FileRandomAccess类,字节流InputStream和OutputStream,字符流Reader和Writer,以及相应实现类,IO性能分析,字节和字符的转化流,包装流的概念,以及常用包装类,计算机编码。
10.Java高级特性:反射和泛型。
11.多线程原理:如何在程序中创建多线程(Thread、Runnable),线程安全问题,线程的同步,线程之间的通讯、死锁。
到这里,JAVA基础基本学完,应该也算JAVA入门了,但是这些远远不够,上面只是一些常用的,实际上还缺少很多,要有一颗不断进取,不断学习的心。
学习方式:
1.网上视频教程,记得做笔记,笔记的重要性可以加成%50!文末会提供我以前学习的视频教程。
2.或者拿一本书来啃。
3.遇到不会的,学会Google(百度)。
Android基础篇:
1.学会使用Androidstudio:现在市面上大部分公司已经抛弃eclipse了,一款好的IDE犹如宝剑在手,伤害力奇高!记得,学会翻墙。应用程序目录结构
2.常用控件的使用
TextView控件的使用
Button控件的使用方法
EditText控件的使用方法
ImageView的使用方法
RadioButton的使用方法
Checkbox的使用方法
Menu的使用方法
3.Android高级组件的使用
ListView的使用方法
GridView的使用方法
Adapter的使用方法
Spinner的使用方法
Gallary的使用方法
ScrollView的使用方法
RecyclerView
4.对话框与菜单的使用:
Dialog的基本概念
BlockquoteAlertDialog的使用方法
DatePickerDialog的使用方法
Menu的使用方法`
自定义Menu的实现方法
5.控件的布局方法:
线性布局的使用方法
相对布局的使用方法
6.多Acitivity管理:
AndroidManifest.xml文件的作用
Intent的使用方法
使用Intent传递数据的方法
启动Activity的方法
IntentFilter的使用方法
Activity Group的使用方法
7.自定义控件实现方法:
自定义ListView的实现方法
可折叠ListView的使用方法
自定义Adapter的实现方法
自定义View的实现方法
动态控件布局的上实现方法
上拉刷新下拉加载更多
android网络编程与数据库
1.基于android平台的HTTP通讯:
Http协议回顾
使用Get方法向服务器提交数据的方法
使用POST方法向服务器提交数据的实现方法
使用Http协议实现多线程下载
使用Http协议实现断点续传
2.Android数据存储技术:
SQLite3数据库简介
SQL语句回顾
SQLite3编程接口介绍
SQLite3事务管理
SQLite3游标使用方法
SQLite3性能分析
访问SDCard的方法
访问SharedPreferences的方法
3.ContentProvider使用方法:ContentProvider实现共享数据、URI的解析与UriMatcher、ContentUris的使用、使用ContentResolver操作ContentProvider、ContentProvider的监听Android当中的异步操作:Handler的使用方法;异步任务的基本概念;AsyncTask的使用方法。
android手机硬件管理
1.地图及定位技术:GPS简介;LocationManager的使用方法;在Google Map上添加标记的方法;查询某地附近建筑的方法;使用Google Map实现点对点导航。
2.传感器使用方法:方向、加速度(重力)、光线、磁场、距离、温度等传感器的使用。
3.近场通信技术:NFC技术简介;NFC技术是用场景介绍;NFC技术实现方法。
4.媒体管理技术:MediaPlayer的使用方法。
5.触摸屏技术:手势识别;多点触摸技术。
Android图形编程技术
1.图形处理基础:2D图形编程基础
2.点、线、面等基本图形元素绘制方法
3.Android动画框架简介
4.位移动画的实现方法
5.淡入淡出动画的实现方法
6.旋转动画的实现方法
7.Matrix的使用方法
Android游戏开发
1、Android游戏开发:Android游戏开发概述;
2、SurfaceView的使用方法;
3、物理小球技术;
4、碰撞检测技术;
5、图片、文字和背景音乐等资源的使用方法;
6、游戏引擎基础概念;
7、Cocoa2d-Android引擎使用方法;
8、OpenGL ES使用方法。
安卓项目篇
1.去网上寻找项目,可以找视频跟着写,也可以自己做一个一个自己想做的项目,这时候会遇到各种各样的困难,这时候要做的就是百度+坚持。
2.@stormzhang如何自学 Android 编程? - 学习方法 知乎自学链接,非科班出身,能做到这样很了解。可以看一下stormzhang 的一些博客和一些文章,打打鸡血,他最近刚买了车。香车美女,好不自在。我很多东西都是看他的博客学的。是国内较早使用as和 安卓自学者,很能吃苦的一个人。
3.github的使用!怎样使用 GitHub? - GitHub 知乎的介绍。而关于我的想法:框架的使用,如果有Google的就使用Google的原生框架,如volley。 如果谷歌没有,那么去github寻找高星的答案,因为高星或者官方意味着使用人数更多,这样你遇到困难,则更容易解决。毫不客气的说,你遇到的%99.9的困难,前人已经遇到过了。
4.在学习中会遇到各种各样的困难,需要你去一点点去解决。如果你以上都能完成的话,你已经入门了。如果再有一些项目经验,已经可以养活你自己了
初级基本知识点:
比如四大组件如何使用、如何创建Service、如何进行布局、简单的自定义View、动画等常见技术、五大布局
书籍推荐
《第一行代码 Android》、《疯狂Android》
中级基本知识点:
AIDL、Messenger、Binder、多进程、动画、滑动冲突、自定义View、消息队列等
书籍推荐
《Android开发艺术探索》、《Android群英传》
**高级基本知识点:
稍微深入的知识点
系统核心机制
基本知识点的细节
设计模式和架构
书籍推荐
《Android开发艺术探索》、《Android 源码设计模式解析与实战》、《Android内核剖析》
**
http://www.jianshu.com/p/602ed764c32c
**
这是我在简书收集到一遍挺不错的文章,里面有大牛的博客,视频教学,及学习方法等