`
kevin2562
  • 浏览: 119110 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android 应用程序开发基础

阅读更多
Android 应用程序开发基础
1. 每一个应用程序运行在一个独立的进程,每一个进程运行在一个独立的VM中.
2. 每一个应用程序有一个Linux UID,用于权限管理.
3. 两个应用可以有相同的UID,相同UID的应用可以运行在同一VM中.

应用程序组件:
Android应用程序的特色之一:组件重用.
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()

进程:
前台进程
可视进程
服务进程
后台进程
空进程
分享到:
评论
Global site tag (gtag.js) - Google Analytics