Android 开发者进阶的“丝绸之路”,万人踩坑晋升总结

一、Java基础

1 . 面向对象的三大特性: Java 作为面向对象编程语言,你得知道OOP的的三大特性 封装、继承、多态。

2 . 程序设计的6大原则

  • 单一职责原则
  • 里氏替换原则
  • 依赖倒置原则
  • 接口隔离原则
  • 迪米特法则
  • 开闭原则

3 . 设计模式

  • 单例模式 :double check 双重加锁方式、静态内部类方式、枚举方式。
  • 构造器模式
  • 模板方法模式
  • 装饰器模式
  • 观察者模式
  • 责任链模式
  • 策略模式

4 . Java 字符串相关 Java 字符串相关的三个类:String、StringBuilder、StringBuffer

5 . Java 线程池 线程池方面,JDK 为我们内置了几种线程池:

  • newFixedThreadPool:newFixedThreadPool,创建固定大小的线程池,poolCoreSize和maxPoolSize 相等,到达coreSize,则将新的任务放到缓存队列,有线程执行完毕,直接去取。
  • newSingleThreadExecutor:newSingleThreadExecutor,创建一个单线程的线程池,核心池的大小和最大池大小都为1.
  • newCacheThreadPool:newCacheThreadPool,无大小限制的线程池,提交一个任务就创建一个线程执行。

6 . Java 集合

Collection (1) List:

  • LinkedList
  • ArrayList
  • Vector

(2) Set

  • HashSet
  • TreeSet

Map:

  • HashMap
  • TreeMap
  • HashTable

7 . Java 内存模型

Java 内存模型这一块非常重要,因为它涉及到我们程序的性能,我们需要知道,内存是如何分配的,成员变量、静态变量、局部变量、对象等各自分配到哪一个区:

  • 栈内存
  • 堆内存

垃圾回收机制:

  • 年轻代:1 Eden 区 和2个Survivor 区
  • 年老代
  • 永久代

Java 基础总结:关于Java基础暂时就总结了这些,这些都是Android 开发中比较常用或者常常需要关心的一些东西。如果你想比较系统的学习Java基础相关的东西,推荐你去看一下经典书籍《Thinking in Java》。

二、Android 基础

1 . Android 四大组件

  • Activity
  • Service
  • BroadcastReceiver
  • ContentProvider

Activity:

  • Activity 的生命周期
  • Activity 的几种启动方式:standardSingleTaskSingleTopSingleInstance
  • Activity 间传如何递数据?
  • Activity 横竖屏切换生命周期有哪些变化?
  • 显示Intent 和隐式Intent 有和区别?

Service:

  • Service 的生命周期
  • Service 的两种启动方式:
  • 1, startService 2, bindService
  • 2种启动方式 所走的生命周期方法是不一样的
  • Service vs IntentService: Service 和IntentService 个自用于不同的场景,各自的场景和区别吗?

BroadcastReceiver:

ContentProvider ContentProvider 可能用得不是很多,可以用于共享数据,提供数据源,掌握会写增删改查就好了。

Android 常用的几种布局

  • 帧布局 FrameLayout
  • 线性布局 LinearLayout
  • 相对布局 RelativeLayout
  • Google 新出的约束布局ConstraintLayout

3 . Android Studio

Android Studio 是我们Android开发的常用工具,熟练操作和使用上面的快捷键和一些插件,对我们的开发效率有很大的帮助。

4 . Fragment

  • Fragment 的生命周期
  • Fragment 与fragment 之间的通讯方式
  • Fragment 与Activity 之间的通讯方式
  • Fragment + ViewPager 懒加载
  • Fragment +TabLayout 选项卡

5 . 数据库相关 Android 自带数据库 Sqlite, 关于数据库,我们应该熟悉:

  • 数据库和表的创建
  • 数据的增删、改、查。
  • 数据库升级:
  • 三方库:GreenDao

6 . 常用控件基础控件

  • RecyclerView & ListView
  • ViewPager
  • TextView
  • ImageView
  • Button
  • Checkbox
  • RadioButton

三、Android 进阶

1 . View

自定义View:

自定义view 的三种方式:

  • 组合基础控件
  • 继承基础控件,做相应的更改。
  • 继承View 或 ViewGroup

2.View事件分发机制

App 的几种架构

  • MVC
  • MVP
  • MVVM

3 . Android 动画

(1) Android 中的5种基础动画

  • 平移动画
  • 缩放动画
  • 旋转动画
  • Alpha 动画
  • 帧动画

(2) 属性动画

  • ObjectAnimator
  • ValueAnimator
  • AnimatorSet

(3)矢量动画

  • svg
  • VectorDrawable
  • AnimatedVectorDrawable

4 . Material Design 系列

  • Toolbar 的使用
  • AppbarLayout+CollapsingToolbarLayout
  • Behavior 相关:
  • (1)BottomSheetBehavior (2)BottomSheetDialog (3)SwipeDismissBehavior (4)自定义Behavior
  • TextInputLayout + TextInputEditText
  • TabLayout
  • BottomNavigationView
  • CardView 阴影卡片
  • Snackbar , FloatActionButton

5 . Android 多媒体

相机开发:

1, 使用自带的相机APP 拍照 2,系统相册选择照片 3,系统相机或相册获取的照片裁剪 4,使用相机API 开发相机: (1), Android 5.0 (API 21 )以下 使用Camera API (2) , Android 5.0 以上使用 Camera2 API 5 ,自定义相册开发 6 , 自定义裁剪界面

Android视频开发:

(1)视频播放 MediaPlayer VideoView

(2)视频编解码

音频开发:

AudioPlayer

音乐播放器

音视频开发这一块门槛较高,但是这也是比较吃香的一个领域,把这一块吃透了,你的优势就很大了,现在的直播这么火,对于这一块的需求还是比较大的。

6 . Git Git 版本控制 也是我们常用的,熟悉各种Git 命令。

7. Android 权限适配

Android 6.0 以上权限适配。

8 . Gradle

  • 自定义Gradle插件
  • Gradle 多渠道打包

四、学习了解开源库

图片加载框架:

  • Universal-Imageloader
  • Picasso
  • Glide
  • Frecssco

网络相关框架:

  • Retrofit
  • Okhttp
  • Volley

RxJava :

  • RxJava
  • RxAndroid

数据库方面:

  • GreenDao
  • OrmLite
  • Realm

五、文末

关于Java基础、Android 基础、Android 进阶 ,只是作了知识点梳理,没有解答,点到为止。要详细学习这些知识点需自行学习资料。 本文所列出的知识点还不完全,要比较系统的学习,可以前往领取私信发送“核心笔记”或“手册”即可领取《Android核心进阶技术资料》学习。

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
上一篇 2022年6月24日 15:29
下一篇 2022年6月24日 15:30

相关推荐

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息