Android 应用程序开发基础

1. 每一个应用程序运行在一个独立的进程,每一个进程运行在一个独立的VM中.
2. 每一个应用程序有一个Linux UID,用于权限管理.
3. 两个应用可以有相同的UID,相同UID的应用可以运行在同一VM中.

应用程序组件:
Android应用程序的特色之一:[b]组件重用[/b].
Android根据需要自动启动相应的组件处理请求.

四种类型组件:

1.Activities
代表用户界面.包括视图树.视图包括布局和子视图.

2.Services
代表后台服务,没有用户界面,在独立的线程中运行,不阻塞用户界面.

3.Broadcast receivers
广播:分为系统广播和程序广播.根据需要接收指定的广播并处理.

4.Content providers
内容提供商:存储数据,通过内容解析器(ContentResolver)在各种数据提供商中读写数据.

组件有自己的生命周期:
激活 - 运行 - 关闭

激活组件: intents
内容提供商根据内容解析器请求激活.而Activities, Services, Broadcast receivers则通过Intents对象激活.

运行Activities:
Context.startActivity()
Activity.startActivityForResult()

获取Intent:
getIntent()

响应Activity启动结果:
onActivityResult()

----
运行服务Services:
Context.startService()
响应启动服务:
onStart()
绑定服务:
Context.bindService()
响应绑定服务:
onBind()

----
发送广播:
Context.sendBroadcast()
Context.sendOrderedBroadcast()
Context.sendStickyBroadcast()
接收广播:
onReceive()

关闭组件:
组件也有可能被系统关闭,当组件异常或内存不足,电池快没电等.
广播接收器和内容提供商不需要程序员来关闭.
关闭Activity:
finish()
finishActivity()

关闭服务:
stopSelf()
Context.stopService()

manifest 文件:
AndroidManifest.xml
用于声明组件,命令库,权限认证.声明式注册广播接收器类.

Intent filters:
声明可用的组件处理Intents.


Tasks
任务:任务是指一个用户体验.包括一组Activities.类似一个完整应用,不过这个应用是由不同的Activity组成.

Affinities and new tasks
Launch modes
Clearing the stack
Starting tasks


进程和线程
Activity配置进程.Application配置默认进程.
线程安全


Remote procedure calls
轻量级的远程方法调用

组件生命周期
Activity:
void onCreate(Bundle savedInstanceState)
void onStart()
void onRestart()
void onResume()
void onPause()
void onStop()
void onDestroy()

服务:
void onCreate()
void onStart(Intent intent)
void onDestroy()

进程:
前台进程
可视进程
服务进程
后台进程
空进程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值