-
不要学得太杂太乱!学习Android开发只要记住这几点!
2021-01-16 21:54:10我也已经做了好几年开发了,还记得刚出来工作的时候觉得自己很牛逼,现在回想起来也蛮...当然,说一千道一万,最重要的还是学以致用,把学过的知识融会贯通。 1、Java se基础 1).Java基本数据类型与表达式,分支循环。我也已经做了好几年开发了,还记得刚出来工作的时候觉得自己很牛逼,现在回想起来也蛮好笑的。懂的越多的时候你才会发现懂的越少。因为如果你的知识是一个圆,当你的圆越大时,圆外面的世界也就越大。
最近看到很多Android新手问Android学习路线,学习方法啊,如何入门啊,所以我从网上找了一些资料,然后以我的工作经验给大家总结一下,让大家少走弯路,提取一些工作中经常用到的技术。当然,说一千道一万,最重要的还是学以致用,把学过的知识融会贯通。
1、Java se基础
1).Java基本数据类型与表达式,分支循环。 2).String和StringBuffer的使用、正则表达式。
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),线程安全问题,线程的同步,线程之间的通讯、死锁。2、android UI编程
1)、Android开发环境搭建:
Android介绍,Android开发环境搭建,第一个Android应用程序,Android应用程序目录结构。
2)、Android初级控件的使用:
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的实现方法动态控件布局的上实现方法上拉刷新下拉加载更多
3、android网络编程与数据存储
1).基于Android平台的HTTP通讯:
Http协议回顾使用Get方法向服务器提交数据的方法使用POST方法向服务器提交数据的实现方法使用Http协议实现多线程下载使用Http协议实现断点续传
2).Android数据存储技术:
SQLite3数据库简介SQL语句回顾SQLite3编程接口介绍SQLite3事务管理SQLite3游标使用方法SQLite3性能分析访问SDCard的方法访问SharedPreferences的方法
初级工程师
技术要求:
-
基本知识点比如四大组件如何使用、如何创建Service、如何进行布局、简单的自定义View、动画等常见技术
-
书籍推荐《第一行代码 Android》、《疯狂Android》
中级工程师
技术要求:
- 稍微深入的知识点AIDL、Messenger、Binder、多进程、动画、滑动冲突、自定义View、消息队列等
书籍推荐《Android开发艺术探索》、《Android群英传》
-
AIDL:熟悉AIDL,理解其工作原理,懂transact和onTransact的区别;
-
Binder:从Java层大概理解Binder的工作原理,懂Parcel对象的使用;
-
多进程:熟练掌握多进程的运行机制,懂Messenger、Socket等;
-
事件分发:弹性滑动、滑动冲突等;
-
玩转View:View的绘制原理、各种自定义View;
-
动画系列:熟悉View动画和属性动画的不同点,懂属性动画的工作原理;
-
懂性能优化、熟悉mat等工具
-
懂点常见的设计模式
-
搞懂view的滑动原理
-
搞懂如何实现弹性滑动
-
搞懂view的滑动冲突
-
搞懂view的measure、layout和draw
-
然后再学习几个已有的自定义view的例子
-
最后就可以搞定自定义view了,所谓万变不离其宗
高级工程师
技术要求:
-
稍微深入的知识点
-
系统核心机制
-
基本知识点的细节
-
设计模式和架构
-
书籍推荐《Android开发艺术探索》、《Android 源码设计模式解析与实战》、《Android内核剖析》
-
继续加深理解”稍微深入的知识点“中所定义的内容
-
了解系统核心机制:
-
了解SystemServer的启动过程
-
了解主线程的消息循环模型
-
了解AMS和PMS的工作原理
-
能够回答问题”一个应用存在多少个Window?“
-
了解四大组件的大概工作流程
-
…
- 基本知识点的细节
-
Activity的启动模式以及异常情况下不同Activity的表现
-
Service的onBind和onReBind的关联
-
onServiceDisconnected(ComponentName className)和binderDied()的区别
-
AsyncTask在不同版本上的表现细节
-
线程池的细节和参数配置
-
…
- 熟悉设计模式,有架构意识学习方法
-
-
android checkbox 选中事件_不要学得太杂太乱!学习Android开发只要记住这几点!
2020-11-23 15:32:52懂的越多的时候你才会发现懂的越少。因为如果你的知识是一个圆,当你的圆越大时,圆外面的世界也就越大。最近看到很多Android新手问Android学习路线,学习方法啊,如何入门啊,所以我从网上找了一些资料,然后以我的...我也已经做了好几年开发了,还记得刚出来工作的时候觉得自己很牛逼,现在回想起来也蛮好笑的。懂的越多的时候你才会发现懂的越少。因为如果你的知识是一个圆,当你的圆越大时,圆外面的世界也就越大。
最近看到很多Android新手问Android学习路线,学习方法啊,如何入门啊,所以我从网上找了一些资料,然后以我的工作经验给大家总结一下,让大家少走弯路,提取一些工作中经常用到的技术。当然,说一千道一万,最重要的还是学以致用,把学过的知识融会贯通。
1、Java se基础
1).Java基本数据类型与表达式,分支循环。
2).String和StringBuffer的使用、正则表达式。
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),线程安全问题,线程的同步,线程之间的通讯、死锁。2、android UI编程
1)、Android开发环境搭建:Android介绍,Android开发环境搭建,第一个Android应用程序,Android应用程序目录结构。
2)、Android初级控件的使用:
TextView控件的使用
Button控件的使用方法
EditText控件的使用方法
ImageView的使用方法
RadioButton的使用方法
Checkbox的使用方法
Menu的使用方法3)、Android高级控件的使用:
ListView的使用方法
GridView的使用方法
Adapter的使用方法
Spinner的使用方法
Gallary的使用方法
ScrollView的使用方法
RecyclerView4、对话框与菜单的使用:
Dialog的基本概念
BlockquoteAlertDialog的使用方法
DatePickerDialog的使用方法
Menu的使用方法
自定义Menu的实现方法5.控件的布局方法:
线性布局的使用方法
相对布局的使用方法6.多Acitivity管理:
AndroidManifest.xml文件的作用
Intent的使用方法
使用Intent传递数据的方法
启动Activity的方法
IntentFilter的使用方法
Activity Group的使用方法7、自定义控件实现方法:
自定义ListView的实现方法
可折叠ListView的使用方法
自定义Adapter的实现方法
自定义View的实现方法
动态控件布局的上实现方法
上拉刷新下拉加载更多3、android网络编程与数据存储
1).基于Android平台的HTTP通讯:
Http协议回顾
使用Get方法向服务器提交数据的方法
使用POST方法向服务器提交数据的实现方法
使用Http协议实现多线程下载
使用Http协议实现断点续传2).Android数据存储技术:
SQLite3数据库简介
SQL语句回顾
SQLite3编程接口介绍
SQLite3事务管理
SQLite3游标使用方法
SQLite3性能分析
访问SDCard的方法
访问SharedPreferences的方法初级工程师
技术要求:
- 基本知识点
比如四大组件如何使用、如何创建Service、如何进行布局、简单的自定义View、动画等常见技术 - 书籍推荐
《第一行代码 Android》、《疯狂Android》
中级工程师
技术要求:
- 稍微深入的知识点
AIDL、Messenger、Binder、多进程、动画、滑动冲突、自定义View、消息队列等 - 书籍推荐
《Android开发艺术探索》、《Android群英传》 - AIDL:熟悉AIDL,理解其工作原理,懂transact和onTransact的区别;
- Binder:从Java层大概理解Binder的工作原理,懂Parcel对象的使用;
- 多进程:熟练掌握多进程的运行机制,懂Messenger、Socket等;
- 事件分发:弹性滑动、滑动冲突等;
- 玩转View:View的绘制原理、各种自定义View;
- 动画系列:熟悉View动画和属性动画的不同点,懂属性动画的工作原理;
- 懂性能优化、熟悉mat等工具
- 懂点常见的设计模式
- 搞懂view的滑动原理
- 搞懂如何实现弹性滑动
- 搞懂view的滑动冲突
- 搞懂view的measure、layout和draw
- 然后再学习几个已有的自定义view的例子
- 最后就可以搞定自定义view了,所谓万变不离其宗
高级工程师
技术要求:
- 稍微深入的知识点
- 系统核心机制
- 基本知识点的细节
- 设计模式和架构
- 书籍推荐
《Android开发艺术探索》、《Android 源码设计模式解析与实战》、《Android内核剖析》 - 继续加深理解”稍微深入的知识点“中所定义的内容
- 了解系统核心机制:
- 了解SystemServer的启动过程
- 了解主线程的消息循环模型
- 了解AMS和PMS的工作原理
- 能够回答问题”一个应用存在多少个Window?“
- 了解四大组件的大概工作流程
- …
- 基本知识点的细节
- Activity的启动模式以及异常情况下不同Activity的表现
- Service的onBind和onReBind的关联
- onServiceDisconnected(ComponentName className)和binderDied()的区别
- AsyncTask在不同版本上的表现细节
- 线程池的细节和参数配置
- …
- 熟悉设计模式,有架构意识学习方法
- 基本知识点
-
【随笔】学得杂而不精不好么
2018-12-22 00:07:37我一直有一个毛病,学得杂而不精,一会儿学这个,一会儿学那个,好奇心倒是挺强,光是我个人网站(http://avata.cc)上那些总结文档,就涵盖了世界上绝大部分的知识领域。 这并非是自己注意力不集中,而是大多数...我一直有一个毛病,学得杂而不精,一会儿学这个,一会儿学那个,好奇心倒是挺强,光是我个人网站(http://avata.cc)上那些总结文档,就涵盖了世界上绝大部分的知识领域。
这并非是自己注意力不集中,而是大多数世间事,实在让我找不到归属感,实在让我找不到坚持下去的动力,很多东西根本就是毫无意义的,只是为了经济流动而凭空制造的虚假概念。人生有太多颠倒,儿童时代有没钱的苦恼,学生时代有应试教育的禁锢,进入社会又产生了社会的各种生存压力,房价、医疗、夫妻羁绊、父母养老、子女教育、工作、剥削,当结婚生子后,一个人的灵魂就很难再属于自己了。(幸好发现了新世界,省掉了医疗这座大山,未来也极有可能成立“丁克”家庭)
我的想法很简单,要自由。如何摆脱人世间的各种束缚,做自己喜欢的事,获得真正的自由?
这些年来,看似一直在变,而核心没有变。不去了解世界内乃至世界外的所有的可能性,如何能知道真正的自由在哪里?经过这些年的探索,总算有些眉目了。
这世间的东西,也就文档里写的那些,还有一些过于敏感,没有放出去。就是因为我学了这么多,所以世间发生的任何事,都逃不出我的预料。当然,现在只能是整体上模糊的后知后觉,若能做到细节上先知先觉,就可以依靠这种智慧创造价值或者从资本家手中夺取利益了(中国人苦,中国的农民更苦)。
可是,这种智慧或者是感觉,积累起来实在是太慢了。作为一个农村学子,寒门的窘迫,耗不起太多时间。
只有自己获得自由,才能发扬慈悲之道,去帮助更多的人获得自由。若自己都不能自由,空有一腔热血,毫无用处。
人生苦短,应当每时每刻都觉悟时光飞逝,劝诫自己勤奋精进。与成功人士做个对照:
毛润之24岁写出《心之力》,最大的爱好就是读书,可以看到几日几夜不睡觉,把古今中外几乎一切能看的书都看了,于是才有机会总结出无与伦比的政治军事思想。
马云曾在演讲中提到,他年轻时总被批评乱学,什么都学,就是不学正业。而成功后的他,回想起来,还是要感谢自己当年的不务正业。随着众多产业全面的自动化与人工智能的发展,现有的专业职业体系必然面目全非。为了未雨绸缪,也应当全面学习。不过,总要有一门专业技术在手。我现在的计算机技术,够找工作了吗?
-
学的东西比较杂,怎么办?
2018-07-03 16:14:53亲身经历告诉我,学的太多,但是不精通没啥大用,食之无味,弃之可惜。但是还得舍‘放下,专心,攻克一门之一门。亲身经历告诉我,学的太多,但是不精通没啥大用,
食之无味,弃之可惜。
但是还得舍‘
放下,专心,攻克一门之一门。
-
Deep Learning | 理论太多?呐,实战来袭!
2018-06-14 10:57:40关于新的技术专栏到底要写什么?这个问题困扰了我们的工程师很久。关于深度学习,网络上有太多可以查阅的资料和文献,只要...理论知识太多太杂,只是看不实践,很难进行内化和提炼,况且世上本没有什么所谓的大牛... -
怎样学编程
2015-06-28 13:09:01其实我觉得我们没有必要学这么多的编程语言,因为学得太多了反而不是一件好事,杂而不专。但是没办法,这是现代教育的一种模式,能多学就多学,最好什么都学。那么在这种教育模式下该怎样学习以达到最好的效果呢,这... -
用java判定三角形_这146条初中数学公式总结得太及时!初一到初三都能用,速收藏...
2020-11-05 18:12:14初中数学公式定理多,知识点杂,定理熟背是必须要做的,这样看到试题自然了然于心,提高学习效率,先要学会分类归纳整理,记得查漏补缺。线1.同角或等角的余角相等2.过一点有且只有一条直线和已知直线垂直3.过两点有... -
圆的相切相交相离公式_这146条初中数学公式总结得太及时!初一到初三都能用,速收藏...
2021-01-11 01:22:47初中数学公式定理多,知识点杂,定理熟背是必须要做的,这样看到试题自然了然于心,提高学习效率,先要学会分类归纳整理,记得查漏补缺。线1.同角或等角的余角相等2.过一点有且只有一条直线和已知直线垂直3.过两点有... -
管控情绪才能静心学习
2018-04-23 18:57:48很多人在很多时候都是想得太多想的太远,一到晚上就开始胡思乱想,为什么晚上开始乱想呢?因为晚上没事做,太TM闲了,闲的难受,想想明天要做什么,要怎么做,可是到后来呢?呵呵,我用一句话概括是最贴切的,那就是... -
个人杂想
2013-05-14 21:44:00看得书越多,越觉得自己知道的太少.接触的面广了,需要学习的范围也就大了,越感到知识之间的联系性和耦合性,有时看书看着会突然恍然大悟茅塞顿开,联系到之前的知识以及做东西时所遇到的问题,结合起来去理解最好.... -
基础学习有感
2012-03-10 01:35:46想学的东西太多了,而自己的时间也不是很多,怎样才能更有效更持久得学习呢? 首先要确立目标,东西多了就容易杂,孰重孰轻就无法把握了,很容易偏离方向,确立一个可以坚持长久的目标,可以是阶段的,容易实现但... -
Person ReID学习路线总结
2019-05-06 10:45:00注:探索阶段,持续更新,主要是资料太多太杂,防止混乱整理得有头绪一些 注2:目前也是小白,感兴趣的可以互相交流 推荐关注:郑哲东博士 行人重识别 知乎问题1 非深度学习代码,主要为局部特征提取+度量学习 ... -
学习之路——艰苦
2010-10-06 16:37:00我们学校也学,可是觉得学完了太乱太杂了,而且学校交得一点都不好,都觉得这两年的大学白学了。可是我会一直坚持自己的梦想,成一名网页设计师。所以打算毕业一年以后去哈尔滨培训一下。我听说了龙采培训学校,不... -
学技术,头很大
2006-10-10 14:57:00并不是我不想继续学习了,而是我觉得学得太多太杂了不利于技术的钻研,求精。而对于技术的精进我又没有什么特别好的方法,所以,迷惘中。。。。 来到CSDN的目的就是想为自己,为自己的前途找寻一个答案。 -
u3d学习资料
2015-05-16 19:36:00基础教程:极客学院 实例教程: 国外教程,挺多实例的 蛮牛在线,太杂了,有基础也有重复,老师水平也不一样,教学风格不一样,语速不一样,得自己淘宝~ 泰客在线,挺多实例教程的 转载于:... -
新闻学实习报告范文.doc
2020-12-27 14:42:46新闻学实习报告范文 在法治版组实习,遇到的采访事件会很杂,但都和法律有关系,为了不至于让自己太手忙脚乱,也稍微补充了一点法律方面的知识,不至于当个“法盲”。遇到的采访事件各种各样,举几个简单的例子:xx... -
技术之外杂想
2010-08-21 23:11:00作为一个技术人,自始至终都是要靠技术吃饭,没办法,哪一行哪一业都是这个样子,你不能完全按着自己的喜好来做一件事情,很多时候,是做好一件事情是一种责任。有时候我在想,整天泡在技术当中肯定会不会使脑子变得... -
学习的困惑
2011-04-18 11:40:00在公司里做东西都很杂,自己的方向也不太明确,C,C++,java都得用上,随着智能手机的发展,android的应用突飞猛进,但是好东西还是没几个,现在公司在android应用这么方面需求也多了起来,把我分配到了开发android... -
开始学测试^^
2007-04-09 19:12:00所以大学里总的学得很杂,到现在毕业了,才发现自己该选择一条路了。。。 路,在迷雾缭绕的丛林里,是网状,蜿蜒,延伸向未知的远方的。。。一路上,我是开开心心的走来,毫无顾虑,毫无打算,不 -
如何才能在网络这条路上走得更远
2019-09-18 05:31:05大专学了三年的网络,但是由于大专学的东西太杂,太浅,所以大专毕业时选择了专升本,可是,升了本,还是学那些乱七八糟的课程,没有方向,没有目标。由于对网络这一方面兴趣,所以想在这条路上继续走下去,并且希望... -
-
-
堆以及一些用法 QWQ这是写得最认真的板子题
2019-04-29 12:57:00最近一直在学图论,然后吧,由于学的东西实在是太多太杂了,加上蒟蒻本蒻又经常颓,所以落了好多好多板子题的整理没写啊嘤嘤嘤,不过把这些东西学的差不多了,再一块写个整理,其实感觉还不错?????也算是很神奇... -
开课吧python小课学了有用吗-分享一个小白也能月赚2万的新技能
2020-10-29 14:59:41最近太累了,加班多、事情杂、离家远......可到手的工资却少得可怜。”辞职、跳槽,已然成为一种常态。这不,某个周五晚上,叶子就给我发来信息:"我太太太难了!”叶子毕业后,就在这家公司做人力,两年来... -
HELLOBLOG
2020-04-12 17:22:04找个地,记录下自己的知识库 发现自己学习得太杂,内容也很多,在这里分门别类的记下啦。 -
一个单片机的小问题。
2020-03-02 11:14:31点击上方“大鱼机器人”,选择“置顶/星标公众号”福利干货,第一时间送达!阅读文本大概需要 2 分钟。有个朋友问了一个问题:突然觉得,关于单片机,关于嵌入式,我们学的太多,学得太杂,反而对... -
关于职业发展,我的计划
2018-03-19 22:41:32一直觉得自己勤勤恳恳,从来没有放弃过学习,但是学的太泛了,太杂了,学习得不深入。经过面试,现在没有收获工作,但是开始思考,我该学些什么,学到什么程度,怎么学,也算是收获吧。1.学习一些耐用的知识 a.算法...
-
RapidScada从入门到精通
-
『计算机网络』域名系统(DNS)
-
ROS学习(五):package.xml 文件
-
MySQL 高可用(DRBD + heartbeat)
-
application.properties中com.mysql.cj.jdbc.Driver报红
-
内科与外科的区别?//2021-2-25
-
谷歌浏览器Windows版离线安装包
-
【二叉树】 50 二叉树:删除以x为根的子树
-
867. 转置矩阵
-
PHP文件类型判断
-
CSharpOutline.vsix
-
一天学完MySQL数据库
-
龙芯生态应用开发基础:C语言精要
-
区块链应用开发实战(Go语言方向)
-
去除空白文件夹.bat
-
自学demo —微信小程序
-
用微服务spring cloud架构打造物联网云平台
-
lucene全文检索过程
-
Z8700平台通用驱动_X64
-
激酶组的高含量siRNA筛选确定了参与Git2诱导的间充质-上皮转化的激酶。