Android应用基础——Activity
2015-01-17 16:43
127 查看
目前小菜鸟一枚,由于翻译未参考国内其他书籍,所以可能还有很多地方有待推敲。目前也并没有想太认真去做这件事,只是简单做一下。所以理解不到位的地方多包涵~
应用由不同的部件构成。安卓实例化并按需求运行,每个部件都有自己的用途和API。
典型的onCreate()函数的工作流如下:存储保存好的状态;设置内容视图;初始化UI部件;链接UI部件至代码行为。
在设备上使用USB调试工具:settings->applications->development->USB debugging: %adb install <path_to_apk>。
安卓支持用多种方式在活动类间切换:任务、任务返回栈、闲置或重启活动。
b)暂停—可见,用户不能够交互,可以中止;
c)停止—不可见,可以中止。
a)onCreate()
当活动创建时被调用。设置初始状态:调用super:onCreate(),设置活动的内容视图,必要时保留对UI访问,必要时配置视图。
b)onRestart()
当活动停止并且将要重新启动时被调用。
c)onStart()
活动将会变成可见的。
d)onResume()
活动可见并将要与用户交互。
e)onPause()
准备切换到另一个活动。
f)onStop()
活动不再对用户可见,但有可能重启。如果安卓杀死应用则不会被调用。
g)onDestroy()
活动即将销毁。
从onCreate()到onDestroy()为整个生命周期,从onStart()到onStop()为用户可见的,从onResume()到onPause()为可见并且在前台运行的程序。
传递新创建的意图给方法,比如:startActivity(),startActivityForResult()调用回调方法当活动完成并返回结果。
(1)根据联系人定位地图
和地图定位相似,但需要从联系人通讯录中获得地址。
通过调用Activity.setResult()可以设置开始的活动的结果:publicfinal void setResult(int resultCode),public final void setResult(int resultCode,Intent data)。
(2)RESULTCODE(AN INT)
RESULT_CANCELED、RESULT_OK、RESULT_FIRST_USER和用户自定义的RESULTCODE。
保持对象重要状态:将难计算的数据存储起来加速解决配置变化。
(1)推翻
onRetainNonConfigurationInstance()来建立和返回配置对象,可以在onStop()和onDestroy()之间调用。
(2)恢复
调用在onCreate()中调用getLastNonConfigurationInstance()来恢复保留的对象。
注:这些方式在Fragment类中丢弃。
(3)手动重新配置
可以防止系统重启活动。在androidManifest.xml文件中修改你的活动配置。比如:
<activity android:name=”.MyActivity” android:configChanges=”orientation|screensize|keyboardHidden”…>
当配置改变时,活动类的onConfigurationChanged()方式被调用,传递了一个配置对象,指定新的设备配置。
应用
应用由活动、服务、广播接收和内容供应商组成。应用由不同的部件构成。安卓实例化并按需求运行,每个部件都有自己的用途和API。
1. 活动
用于用户交互的基本类。通常用在用户能够做的单一的、明确的任务。2. 服务
在后台运行,可以运行长时间的操作,支持远程交互。3. 广播接收
监听和响应事件的组件。订阅者在publish/subscribe模式下。事件可以用Intent类来表示,然后广播。广播接收者接收并响应广播事件。4. 内容供应商
通过应用来存储和分享数据。使用基于数据库的交互,解决进程间的通信问题。5. 地图定位
用户输入地址,应用显示1个包含地址周围区域的地图。创建安卓应用
1. 定义资源
资源不是源码实体,包括不同的资源类,比如布局(Layout)、字符串(Strings)、图像(Images)、菜单(Menus)以及动画(Animations)。允许应用针对不用的设备和用户定制。(1)字符串类型
字符串的类型包括字符串、字符串阵列和复数,主要存储在res/values/*.xml中。具体放在xml中,比如:<string name=”hello”>HelloWorld!</string>可以包含格式和样式。也可以被其它资源访问,比如@string/string_name。在Java中可以用R.string.string_name访问。(2)定制字符串
如果默认语言为Italian,则@string/location_string为“DIGITA L’INDIRIZZO”,否则为“ENTER LOCATION”。(3)用户布局
UI布局在xml文件里面。有些文件允许可视布局。xml文件默认存放在res/layout/*.xml中。在Java中可以通过R.layout.layout_name访问,也可以被其他资源访问:@layout/layout_name。(4)使用多层布局文件
可以基于你的设备的方向和屏幕大小等设置不同布局文件。(5)R.java
在编译时资源可以用来产生R.java类,java代码使用R类访问资源。2.使用类
通常至少包含1个活动。活动初始代码通常存放在onCreate()函数中。典型的onCreate()函数的工作流如下:存储保存好的状态;设置内容视图;初始化UI部件;链接UI部件至代码行为。
3. 包应用
系统将应用部件和资源打包进1个apk文件中。开发者在AndroidManifest.xml文件中设置要求的应用信息。(1)AndroidManifest.xml
文件中包含的信息有:应用名称、组件和其它(要求的权限、应用的特征和最小API等级)。4. 安装和运行应用
在Eclipse中运行仿真器或设备或者从命令行输入。在设备上使用USB调试工具:settings->applications->development->USB debugging: %adb install <path_to_apk>。
活动
为用户交互提供视觉接口,每个活动类支持用户能够专注去做的一件事,比如查看邮箱信息或显示登录界面。一个应用通常用若干活动组成。安卓支持用多种方式在活动类间切换:任务、任务返回栈、闲置或重启活动。
1. 任务
相关活动的集合,这些相关活动不一定包含在同一应用中。大多数任务从主屏幕开始。2. 任务返回栈
活动被启动时,它被置于返回栈顶端;活动销毁时,它弹出返回栈。3. 活动周期
创建、暂停活动,应用执行中必要时重启或销毁。某些行为取决于用户的行为,而有些取决于安卓系统本身。比如:安卓在需要资源时可以杀死活动。(1)活动周期状态
a)重新开始/运行—可见,用于与用户交互;b)暂停—可见,用户不能够交互,可以中止;
c)停止—不可见,可以中止。
(2)活动周期方式
安卓通过请求具体的活动方式来获得活动周期状态的改变。(3)一些活动回调方式
OnCreate(BundlesavedInstanceState),onStart(),onResume(),onPause(),onRestart(),onStop(),onDestroy()。a)onCreate()
当活动创建时被调用。设置初始状态:调用super:onCreate(),设置活动的内容视图,必要时保留对UI访问,必要时配置视图。
b)onRestart()
当活动停止并且将要重新启动时被调用。
c)onStart()
活动将会变成可见的。
d)onResume()
活动可见并将要与用户交互。
e)onPause()
准备切换到另一个活动。
f)onStop()
活动不再对用户可见,但有可能重启。如果安卓杀死应用则不会被调用。
g)onDestroy()
活动即将销毁。
从onCreate()到onDestroy()为整个生命周期,从onStart()到onStop()为用户可见的,从onResume()到onPause()为可见并且在前台运行的程序。
4. 开始活动
创建1个意图对象,指定活动开始。传递新创建的意图给方法,比如:startActivity(),startActivityForResult()调用回调方法当活动完成并返回结果。
(1)根据联系人定位地图
和地图定位相似,但需要从联系人通讯录中获得地址。
通过调用Activity.setResult()可以设置开始的活动的结果:publicfinal void setResult(int resultCode),public final void setResult(int resultCode,Intent data)。
(2)RESULTCODE(AN INT)
RESULT_CANCELED、RESULT_OK、RESULT_FIRST_USER和用户自定义的RESULTCODE。
5. 解决配置变化
键盘、方向和环境等,可以在运行时改变设备配置。当设备配置改变时,安卓杀死很多当前的活动然后重启。活动重启应该很快:如果有必要你可以:在配置状态改变时保持对象的重要状态信息或手动解决状态配置。保持对象重要状态:将难计算的数据存储起来加速解决配置变化。
(1)推翻
onRetainNonConfigurationInstance()来建立和返回配置对象,可以在onStop()和onDestroy()之间调用。
(2)恢复
调用在onCreate()中调用getLastNonConfigurationInstance()来恢复保留的对象。
注:这些方式在Fragment类中丢弃。
(3)手动重新配置
可以防止系统重启活动。在androidManifest.xml文件中修改你的活动配置。比如:
<activity android:name=”.MyActivity” android:configChanges=”orientation|screensize|keyboardHidden”…>
当配置改变时,活动类的onConfigurationChanged()方式被调用,传递了一个配置对象,指定新的设备配置。
相关文章推荐
- android【基础】 style标签应用与activity间的淡入淡出切换
- android基础--为应用添加新的Activity与参数传递
- android基础学习007_android 应用启动界面SplashActivity
- 【Android基础】页面跳转与传值(Activity跳转与传值)
- Android基础教程之-----访Iphone 拖动相片特效Gallery的简单应用.
- Android基础教程(六)之----多选项CheckBox的综合应用
- Android基础教程(六)之----多选项CheckBox的综合应用
- Android基础教程(三)之-----简单的Button事件响应综合提示控件Toast的应用
- Android基础 - 对话框和浮动Activity
- Android基础教程(十)之-------ListView的应用
- Android基础教程之-----访Iphone 拖动相片特效Gallery的简单应用.
- Android 开发文档 程序基础 ——activity组件
- android基础应用
- Android基础 - 对话框和浮动Activity
- Android Activity类应用解析
- Android基础 - 对话框和浮动Activity【转】
- android学习1 android应用的基础
- Android文档(二)-应用基础(1)应用组件(Application Components)
- Android基础教程(七)之----单选项框RadioGroup的综合应用
- Android核心分析(22)-----Android应用框架之Activity