一.环境搭建
- JDK安装
- eclipse下载安装,下载的版本是eclipse-jee-indigo-win32
- SDK(Software Development Kt)下载安装,SDK提供了Windows/Linux/Mac平台上开发Android应用的开发组件.不仅包括了Android模拟器和用于Eclipse的Android开发工具插件(ADT),还包括了各种用来调试、打包和在模拟器上安装应用的工具.
- eclipse安装ADT(Android Development Tools)插件(https://dl-ssl.google.com/android/eclipse/)
- 设定android SDK home
- 创建AVD(Android Virtual Device),AVD模拟了一套虚拟设备来运行Android平台
二.Android应用程序的组成
?
一般来说Android主要由一下四部分组成
?
- Activity
????????Activity代表手机屏幕的一屏.一般一个Android应用是由多个Activity组成,这多个Activity可以相互跳转.当打开一个新屏幕的时候,之前的屏幕会被置为暂停状态并被压入历史堆栈中,用户可以通过回退操作返回以前打开的屏并且可以有选择性的选择删除没必要保留的屏.Activity是由Android维护的,有其自己的生命周期(产生、运行和销毁).
??????? 在多个Activity中跳转我们就需要用到Intent.Intent就是一次对将要执行的操作的抽象描述.
??????? 与Intent有关系的是Intent Filters.Intent filters用于描述一个Activity能够操作哪写Intent.一般在AndroidMainfest.xml中定义.
?
- Broadcast Intent Recevier
??????? 可以使用BroadcastRecevier来让应用对外部的事件做出响应.不生成UI,用户是看不到的.BroadcastRecevier通过NotificationManager来通知用户这些事情发生了.BroadcastReceviers既可以在AndroidMainfest.xml中注册也可以在运行代码时使用Context.registerRecevier()进行注册.只要注册了,当事件来临的时候,即使程序没有启动, 系统也在需要的时候启动程序.各种应用还可以通过使用Context.sendBroadcast()将它们自己的intent broadcasts广播给其它应用程序.
?
- Service
??????? 控制应用程序的启动和暂停.startService(Intent service)启动Service,可以通过Context.bindService()来绑定一个Service
?
- Content Provider
??????? 数据在Android中是私有的,但是一个程序可以通过实现一个ContentProvider的抽象接口将自己的数据暴露出去.外界可以通过这一套标准而统一的接口和程序里的数据打交道.
?
三.Android布局
?
- LinearLayout
???? ?将自己包含的子元素按照水平或竖直进行排列.可以通过设置android:orientation="vertical"或者android:orientation="horizontal"来实现.
?
- FrameLayout
????? 好比一块在屏幕上提前预定好的空白区域,然后可以填充一些元素到里面.需要注意的是,所有的元素都被放置在FrameLayout区域最左上的区域.而且无法为这些元素制定一个确切的位置.如果一个FrameLayout里有多个子元素,那么后边的子元素的现实会重叠在前一个元素上.
?
- RelativeLayout
?????? 相对布局方式.里面的元素按照相对位置来计算.需要注意的是,出于性能上的考虑,对于相对布局的精确位置的计算只会执行一次,所以,如果一个可视化组件B依赖于A,那么必须要让A出现在B的前边.
?
- TableLayout
?????? 表格式的布局,这种布局会把包含的元素以航和列的形式进行排列,表格的列数为每一行的最大列数.