基础
- 资源(非Java)
- Manifest文件:声明sdk、application(activity、service、receiver、provider)
- Strings文件:字符串
- Layout文件:布局文件
-
R文件:根据资源自动生成,便于java文件引用(R.资源名)
-
Activity(Java类)
- 在Manifest中注册:name=类名
- 定义生命周期的回调方法:onCreate、{onStart、[onResume、onPause]、onStop、onRestart}、onDestroy
- 加载UI:使用setContentView(Layout)
- ActivityStarter(Java方法)
- 准备意图:创建intent并设置action、category等属性
-
发送启动活动的意图:使用startActivity(Intent)
-
Service(Java类)
- 在Manifest中注册:name=类名
- 定义生命周期的回调方法
- 启动模式:onCreate、onStart、onDestroy
- 绑定模式:onCreate、onStart、[onBind、onUnbind、onRebind]、onDestroy
- 注:
- Service捕获并过滤意图(可以是自带的意图,也可以是自定义的意图)
- 启动模式和绑定模式的区别
- 启动模式:创建一次,永久运行,手动Destroy后关闭
- 绑定模式:创建一次,被绑定时才运行,取消绑定时仅暂停,手动Destroy后关闭
- ServiceBinder(Java方法)
- 准备意图:创建intent并设置action、category等属性
- 发送启动服务的意图:使用startService(Intent)
-
发送绑定服务的意图:使用bindService(Intent)
-
BroadcastReceiver(Java类)
- 在Manifest中注册:name=类名
- 定义回调方法:onReceive
-
注:Receiver捕获并过滤意图(可以是自带的意图,也可以是自定义的意图)
-
BroadcastSender(Java方法)
- 准备意图:创建intent并设置action、category等属性
-
发送广播的意图:使用sendBroadcast(Intent)
-
ContentProvider(Java类)
- 在Manifest中注册:name=类名,还需要给出ContentProvider类的路径
- 内容URI字符串:content://\
/ /\ - 定义生命周期的回调方法:onCreate
-
定义增删改查的回调方法:query、insert、delete、update、getType
-
Fragment(Java类)
- 定义生命周期的回调方法:onAttach、onCreate、onCreateView、onActivity
-
注:
- Fragment用于分屏时不同程序之间各自的生命周期
- 当分屏第一次初始化时onAttatch、onCreate、onCreateView、onActivityCreated
- 当分屏可见时调用onStart
- 当手指离开分屏1并到达分屏2时,会将Frag1暂停,并恢复Frag2
- 片段分为:单帧片段、列表片段、片段过渡
-
Intent(Java对象)
- 属性:Action、Data、Category、Extras、Flags、ComponentName
- 方法:Intent.putExtra(键,值)、Intent.putExtras(Bundle)
- 注:
- 显式意图和隐式意图的区别
- 显式意图:指定组件类型/名,等价于通过startActivity、startService等方法,给对应类型的组件发送意图
- 隐式意图:不指定组件类型/名,等价于发给所有类型的组件
- IntentFilter(非Java)
- 放置在activity、service、receiver、provider等标签内部
- 子标签:action、category等