基于Linux内核操作系统,是Google公司在2007年11月5日公布的手机操作系统。早期由原名为“Android"的公司开发,采用了软件堆层(软件迭层)的架构,主要分为三部分,底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分以JAVA编程。
五大特色
1、开放性
2、挣脱运营商的束缚
3、丰富的硬件选择
4、不受任何限制的开发商
5、无缝结合的Google应用
src目录:主要是完成java代码的编写
assets目录:资源目录
res目录:存在图片,布局文件和字符串、菜单等
bin目录:输出文件夹,如生成的APK文件
project.properties 工程属性文件配置
gen目录:系统自动生成的源代码目录
R.java文件是系统自动生成的文件
默认有attr、drawable,layout,string 4个静态内部类,每个类对应一直资源。
drawable默认存放png格式的图片
layout存放工程的布局文件以.xml结束
values文件夹下面存放一个重要的string.xml此文件夹存放自定义的字符串和数值。
除了这个文件之外,还可以定义arrays.xml(数组),color.xml(颜色),dimens.xml(尺寸数值)
styles.xml(用来定义样式)
清单文件
AndroidMainifest.xml是每个android程序中必须的文件。它位于整个项目的根目录,描述了packagaae中暴露的组件(activities,services,等等),他们各自的实现类,各种能被处理的数据和启动位置。除了能声明程序中的Acticities,ContentProviders,Services,和Intent Receivers,还能指定premissions和instrumentation(安全控制和测试)
manifest xmlns:android="";约束规则
package 包表示整个java应用程序的主要包名,是一个默认的程序名称。
android:versionCode="1"表示该工程所生成的apk版本号,1…4
android:versionName="1.0"表示版本的一个名称,1.0 …2.0
android:installLocation=“auto” 自动寻找安装的地方,ROM或者SDcard卡(默认)
“internalOnly”仅安装在ROM上
preferExternal会直接安装在sdcard卡(大型游戏)
android:icon="@drawable/icon" 表示应用程序的一个图片,logo。
android:lable="@string/app_name" 表示应用工程的文字说明
android:name 表示整个应用程序的主程序名称
intent-filter 意图过滤器:用来过滤用户的一些动作和操作。
android.intent.action.MAIN表示当前程序是整个工程的入口程序。
category android:name表示决定应用程序是否在程序列表显示。
uses-permission android:name 添加用户的授权
布满整个窗口或者悬浮于其他窗口上的交互界面,在一个应用程序中通常由多个Activity构成,
在清单文件中指定一个主的Activity。
当程序第一次运行看到主Activity,可以通过启动其他Activity进行相关操作。
当启动其他Activity时当前Activity停止,新的Activity压入栈中,同时获取用户焦点,这时可以直接在Activity上进行操作。
先入后出原则,当用户按Back键时,当前Activity销毁,前一个Activity重新恢复。
开启Activity,OnCreate,OnStart,OnResume方法。
重新获得焦点,OnRestart、OnStart和onResume方法
关闭Activity:OnPause、OnStop和OnDestry
第一层循环OnPause->OnResume->OnPause,Activity循环可见
第二层循环OnStart->OnRestart->OnResume->OnPause->OnStop,Activity循环不可见
第一层循环为焦点生命周期,第二层循环视为生命周期。