一. android应用程序开发方式
Android应用程序可以基于两种方式开发:Android SDK和Android 源代码
二、 Android应用程序概念性描述
1. Android应用程序包含了工程文件、代码和各种资源,主要有Java编写,每一个应用程序被编译成Android的一个Java应用程序包,
即*.apk文件.
2. Android基于Linux,故Android应用程序运行于Linux环境中,具有以下特点:
× 默认情况下,每个应用程序运行于它们的Linux进程中;
× 每个进程具有自己的虚拟机,故每个应用程序运行于独立的环境中;
× 默认情况下,每个应用程序具有唯一的Linux用户ID。通过设置权限让应用程序只对用户和应用程序本身可见,也有一些方法可以
把它们暴露给其他应用程序.
3. 应用程序的组成部分:一个应用程序是一个package,包中可能包含一个或者多个Android组件(component)
× Activity
× Broadcast Receiver
× Service
× Content Provider
Activity是最基本的应用程序组件。一个活动通常就是一个单独的用户界面。每一个活动被实现为一个独立的类,并且从活动基类中
继承而来,活动类将会显示由视图(View)控件组成的用户接口,并对事件作出响应。大多数应用程序都会有多个用户界面,因此
便会有多个相应的活动。
Android的一个活动一般对应界面中的一个屏幕显示,可以理解成一个界面,每一个活动在界面上可以包含按钮、文本框等多种可视
的UI元素。
广播接收器用于让应用程序对一个外部事件作出响应。如电话呼入事件、数据网络可用通知或者到了晚上时进行通知。
一个服务是一个具有一段较长生命周期但没有用户界面的程序。例如,一个正在从播放列表中播放歌曲的媒体播放器在后台运行。
内容提供者:应用程序能够将它们的数据保存到文件或SQLite数据库中,甚至是任何有效的设备中。当需要将数据与其他的应用程序
共享时,内容提供者将会很有用。一个内容提供者实现了一组标准的方法,从而能够让其他应用程序保存或读取此内容
提供者处理的各种数据类型。
4. 应用程序的生命周期
Android进程的类型包括:(重要性依次降低)
× 前台(foreground)进程
× 可见(visible)进程
× 服务进程
× 后台进程
× 空进程
活动的生命周期:
运行活动的情景:当一个活动被启动时,活动中的onCreate()、onStart()、onResume()3个方法依次被调用,活动对应的界面
出现在屏幕上。
活动被“覆盖”的情景:Android的活动一般都占据一个完整的屏幕,从当前活动启动另外一个活动时,另一个活动将被启动到前台,
当前活动转入后台,这时活动的onPause()方法被调用,活动转入后台运行。如果活动变为不可见,还将调
用onStop()方法。
活动被恢复的情景:当界面上最前面的活动推出后,它所覆盖的活动将被恢复,这时onResume()方法被调用,活动重新转入前台
运行。
活动完全推出的情景:当使用回退(Back)按钮退出活动时,onDestroy()方法将被调用,活动关闭。如果系统缺少内存,也会杀死
后台的活动,其中优先杀死不可及的活动,可见活动一般不会被杀死。
服务的生命周期:
使用startService运行服务的情景:使用这种方法启动服务,服务的onCreate()和onStart()这两个方法将被调用,服务会在后台
运行直到退出,推出时将调用onDestroy()方法。
使用bindService运行服务的情景:使用这种方法启动服务,调用者(即服务的客户端)将获得和服务交互的类,通过其调用时服务
的相关内容会处于活动状态。
广播接收器的生命周期:
广播接收器有一个单一的回调方法onReceive(),当广播消息到达接收器时,Android将调用这个方法,并传递给包含在这个消息中
的Intent对象。
广播接收器只有在这个方法的执行过程中才处于活动状态,当onReceive()返回后,广播接收器将不再处于活动状态。
即,广播接收器类似于一个回调函数,只是单次运行时处于活动状态。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yujixi123/archive/2010/07/13/5731865.aspx