万恶的资本主义,最近加班累成狗了。根据没时间学习。已经连续加了15天班并且没有休一天。关键晚上还要加班。好不容易挤出了点时间把视频看完了。而课程的第三周信息量又特大。真心无法完全消化。笔记也只能记下一些主要的。以后有空了再回来细化。望谅解!
View是如何工作的
- 构造器 –> 初始化
- onMesure() 定大小
- onLayout() 定位置
- onDraw() 绘制
- invalidate() 刷新
自定义控件的三种主要形式
- 继承已有的控件来实现自定义控件
- 通过继承一个布局文件实现自定义控件
- 通过继承view类来实现自定义控件
Fragment
- Fragment是activity的界面中的一部分
- 多个Fragment们组合到一个activity中
- 多个activity中可重用一个Fragment
如何使用Fragment
- Create Fragment.
- onCreate()
- onCreateView()
- onPause()
- Add Fragment.
- Java Code
- Layout
- Replace Fragment.
如何管理Fragment
- 查找Fragment
- findFragmentById()
- findFragmentByTag()
- Fragment的后退
- Fragment Stack
- popBackStack()
- addOnBackStackChangedListerner()
FragmentManager FragmentTransaction Add/Remove
Fragment的生命周期
- Created
- onAttach()
- onCreate()
- onCreateView()
- onActivityCreated()
- Started
- onStart()
- Resumed
- onResume()
- Paused
- onPause()
- Stopped
- onStop()
- Destroyed
- onDestoryView()
- onDestroy()
- onDetach()
总结:Fragment相当于模块化的一段activity, 具有自己的生命周期,接收自己的事件, 在activity运行时被添加或删除
Handler
Handler 是一个处理程序,你可用它来发送和处理消息,消息队列
Handler怎么使用
- obtainMessage()
- sendMessage()
- handleMessage()
Message
- 2个整形数值
- 一个Object
MessageQueue
- Message的队列
Looper
- 消息泵
- 是MessageQueue的管理者
- Looper.prepare()
- 每一个Looper对象和一个线程关联
- Looper.myLooper()可以获得当前线程的Looper对象
Looper从MessageQueue中取出Message,交由Handler的handleMessage进行处理。调用Message.recycle()将其放入Message Pool中。
Service
Service不是一个线程,也不是一个进程。它是应用程序组件,可以在后台执行长时间运行的操作,不提供用户界面。
要使用Service,必须在AndroidManifest中申明
Service的两种形式及生命周期
- Start(直接使用)
- onCreate()
- onStartCommand()
- onDestroy()
- Bind(绑定后再使用)
- onCreate()
- onBind()
- onUnbind()
- onDestroy()
IntentService
- onStartCommand()
- onHandleIntent()
BroadcastReceiver
BroadcastReceiver 四大组件之一,广播接收器(通知消息)。系统使用了很多广播比如:时间广播、电池电量广播、拍照广播等。BroadcastReceiver也是没有用户界面的。
BroadcastReceiver的两种注册方式
- 静态注册
- 动态注册
使用onReceive()来接收广播,但不能在此方法中执行耗时操作,不然会使应用程序无响应。应该创建一个线程去执行一些耗时操作。
广播的类型
- Normal Broadcasts
- Orderd Broadcasts
- LocalBroadcast
BroadcastReceiver的生命周期
- Register
- SendBroadcast
- onReceive
- unRegister
WebView
WebView是一个可包含网页的控件,可加载线上URL,也可加载本地HTML,可和JS进行交互。在使用WebView之前必须向系统申请网络权限。
WebView常用设置
- WebSettings
- WebViewClient
- WebChromeClient
Widget
Android独有的酷特性,窗口小工具。
Widget如何使用
- Widget也必须在AndroidManifest中声明
- 在xml目录定义App Widget的初始化xml文件
- 实现Widget具体布局的Layout.xml
- 继承AppWidgetProvider类,实现具体的Widget业务逻辑
本文详细介绍了Android中视图的工作原理,包括构造、测量、布局、绘制等过程,并探讨了自定义视图的方法。此外,还介绍了Fragment的使用与管理、Handler的消息处理机制、Service的启动方式、BroadcastReceiver的注册方法以及WebView的常用设置。

被折叠的 条评论
为什么被折叠?



