Android应用结构分析:……。
Android应用的四大组件:
Activity,
Service,
BroadcastReceiver,
ContentResolver ,[ Intent ]。
Activity:
package com.mao.hello;import android.app.Activity;import android.os.Bundle;public class HelloActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }}
创建Activity步骤:
1.创建一个Activity就是创建一个类,且该类要继承Activity;2.需要复写其中的onCreate()方法;
3.新建的Activity要在清单文件AndroidManifest.xml文件中注册;
4.要为新建的Activity设置布局文件如main.xml
Activity的生命周期:
onCreate(),onStart(),onRestart(),onResume(),onPause(),onStop(),onDestory();
PreferenceActivity(<PreferenceScreen>选项设置)
ListActivity,TabActivity,LauncherActivity……。
启动Activity:startActivity,startActivityForResult(),复写onActivityResult()。
Service后台服务:
Service是一个后台运行的,没有界面的Android组件,可用于处理耗时操作。
Service不是一个线程,有自己的生命周期。
创建一个Service步骤:
(1)创建一个类,继承Service。
(2)在AndroidManifest.xml文件中配置<Serviec>
(3)复写相应的方法:
abstract IBinder onBind():该方法是Service子类必须要实现的方法.
void onCreate():当Service被创建时回调该方法.
void onStartCommand():当Service被启动时回调该方法.
void onDestroy():当Service被关闭前回调该方法.
boolean onUnbind():当Service上绑定的所有客户端都断开连接时回调该方法.
BroadcastReceiver广播机制:
1.监听广播:
Broadcast事件发生----系统自动创建对应的BroadcastReceiver实例[ 创建一个类,继承BroadcastReceiver类]--[设置action匹配Intent]--
自动触发其onReceive()方法[重写该方法]----onReceive()执行完成[10s],实例被销毁.
2.发送监听广播:
(1)创建需要启动BroadcastReceiver的Intent
(2)调用Context的sendBroadcast()或sendOrderedBroadcast()方法
(3)重写BroadcastReceiver监听的onReceive()方法[监听]
(4)[1]在AndroidManifest.xml中注册:(这种方式可实现后台全局监听):<reveiver.../><intent-filter../>
[2]代码注册:(不会在后台监听)
注册:registerReceiver(receiver, filter);
取消:unregisterReceiver(receiver);
3.Android内置了许多系统广播消息Broadcast Actions[主要用这些内置的]
<intent-filter>是过滤器,过滤匹配的Broadcast Intent.(Intent包括action和data)