第2章 活动Activity
zshhappy
贡献于2014-06-22
2805
1
0
第2章 活动Activity
下载需要
3
金币
[ 金币充值 ]
服务器/托管费、人工审核、技术维护等都需要很多费用,请您支持深度开源的发展
下载PPT
标签:
Android开发
移动开发
Java
XML
PPT 内容
1. 第 2 章活动Activity
2. - 2 -本章目标熟悉Android程序框架 理解Activity的生命周期及方法 掌握Activity的组织结构 熟悉Android中各种资源的使用
3. - 3 -2.1 Activity概述 Activity(活动)是Android应用程序中最基本的组成单位。 Activity主要负责创建显示窗口,一个Activity对象通常就代表了一个单独的屏幕。 Activity类似于JavaSE中的窗体。 Activity是用户唯一可以看得到的组件,用来与用户进行交互的。 Activity是通过一个Activity栈来进行管理 import android.app.Activity; //Activity类用于提供可视化的用户界面 import android.os.Bundle; //Bundle类用作携带数据 import android.util.Log ; // android.util.Log类提供了日志功能 public class MyActivity extends Activity { // MyActivity类继承Activity类 ...... }
4. 4
5. - 5 -2.1.1 Activity生命周期 -1Activity具有生命周期,在生命周期的过程中共有四种状态: 激活或者运行状态:此时Activity运行在屏幕的前台; 暂停状态:此时Activity失去了焦点但是仍然对用户可见,例如在该Activity上遮挡了一个透明的或者非全屏的Activity; 停止状态:此时Activity被其他Activity覆盖; 终止状态:此时Activity将会被系统清理出内存。 注意:处于暂停状态和停止状态的Activity仍然保存了其所有的状态和成员信息,直到被系统终止。当被系统终止的Activity需要重新再显示的时候,它必须完全重新启动并且将关闭之前的状态全部恢复回来。
6. - 6 -Activity生命周期 -2android.app.Activity类定义了Activity生命周期中所包含的全部方法 :public class Activity extends ApplicationContext { protected void onCreate(Bundle icicle); protected void onStart(); protected void onRestart(); protected void onResume(); protected void onFreeze(Bundle outIcicle); protected void onPause(); protected void onStop(); protected void onDestroy(); }注: Activity其实是继承了ApplicationContext这个类, 我们可以重写以上方法
7. 打开:7
8. - 8 -Activity生命周期 -3方法功能描述下一个方法onCreate()Activity初次创建时被调用,在该方法中一般进行一些静态设置,如创建View视图、进行数据绑定等。如果Activity是首次创建,本方法后将会调用onStart(),如果Activity是停止后重新显示则调用onRestart()onStart()或onRestart()onStart()当Activity对用户即将可见的时候调用onRestart()或onResume()onRestart()当Activity从停止状态重新启动时调用onResume()onResume()当Activity将要与用户交互时调用此方法,此时Activity在Activity栈的栈顶,用户输入的信息可以传递给它。如果其他的Activity在它的上方恢复显示,则调用onFreeze()onFreeze()onFreeze()当Activity被暂停而其他的Activity恢复与用户交互的时候,该方法将会被调用,其后总是调用onPause()onPause()onPause()当系统要启动一个其他的Activity时(其他的Activity显示之前),这个方法将被调用,用于提交持久数据的改变、停止动画等onResume()或onStop()onStop()当另外一个Activity恢复并遮盖住当前的Activity,导致其对用户不再可见时,这个方法将被调用onStart()或onDestroy()onDestroy()在Activity被销毁前所调用的最后一个方法无
9. - 9 -Activity生命周期 -4
10. (本页无文本内容)
11. 介绍了Activity生命周期
12. (本页无文本内容)
13. (本页无文本内容)
14. - 14 -Activity生命周期 -5完整生命期:从Activity最初调用onCreate()方法到最终调用onDestroy()方法的这个过程称为完整生命周期。Activity会在onCreate()方法中进行所有全局状态的设置,在onDestroy()方法中释放其占据的所有资源。 可见生命周期:从Activity调用onStart()方法开始,到调用对应的onStop()方法为止的这个过程称为可见生命周期。在这段时间内,用户可以在屏幕上看到这个Activity,尽管并不一定是在前台显示,也不一定可以与其交互。在这两个方法之间,用户可以维护Activity在显示时所需的资源。因为每当Activity显示或者隐藏时都会调用相应的方法,所以onStart()方法和onStop()方法在整个生命周期中可以多次被调用。 前台生命周期:从Activity调用onResume()方法开始,到调用对应的onPause()方法为止的这个过程称为前台生命周期,这段时间当前的Activity处于其他所有Activity的前面,且可以与用户交互。
15. - 15 -2.1.2 Activity示例 android.util.Log类提供了日志功能,使用Log类的下列静态方法可以输出各种级别的日志信息 静态方法级别分类功能说明v()verbose,对应DDMS的Log Cat视图中的V最低级别,所有信息d()debug,对应DDMS的Log Cat视图中的D调试信息i()info,对应DDMS的Log Cat视图中的I一般信息w()warn,对应DDMS的Log Cat视图中的W警告信息e()error,对应DDMS的Log Cat视图中的E错误信息 上述方法都至少有下列两种重载形式(以d()为例): public static int d (String tag, String msg) public static int d (String tag, String msg, Throwable tr) 其中: tag为日志标记; msg为日志信息; tr为异常信息。
16. 打开LogCat16
17. P2717
18. Ctrl+点击 18
19. 19
20. 运行ch02_2D1项目,注意LogCat视图显示的日志信息---太多了注意: 如果Logcat没反应,点击一下 DDMS透视图/DEVICS视图20
21. 点击 按钮,只显示对应级别以上的日志信息 21
22. 单击“+”按钮创建过滤器,则在视图中只显示标记为MyActivity的日志信息22
23. 注意LogCat视图显示的日志信息:23
24. 24
25. 点击“Home”键,将返回Android桌面,此时新增日志输出如下:25
26. 此时调用了onPause、onStop方法,应用程序已停止。26
27. 从应用程序中找到ch02_2D1,单击“运行”,输出如下日志信息27
28. 28
29. 单击“返回”,新增日志如下:29
30. 01-29 15:30:18.758: DEBUG/MyActivity(279): onPause01-29 15:30:19.358: DEBUG/MyActivity(279): onStop01-29 15:30:19.358: DEBUG/MyActivity(279): onDestroy30
31. - 31 -2.2 Android中的资源使用 Android中的资源是指非代码部分,是代码中使用的外部文件,如图片、音频、动画、字符串等,作为应用程序的一部分,这些文件将被编译到应用程序中。 将资源与代码分离能够提高程序的可维护性,例如通过字符串资源文件可以轻松实现国际化 。 在Android工程中,资源文件分别存放在res和assets两个文件夹中: res目录存放Android程序能通过R资源类直接访问的资源; assets目录存放Android程序不能直接访问的资源(原生文件),如MP3文件,必须通过AssetManager类以二进制流的形式读取。
32. JPEG与PNG格式图片对比: JPEG在照片压缩方面拥有巨大的优势,这方面无可替代,但是JPEG是有损压缩,图片质量会有损失。另外,一般屏幕截屏用PNG格式,其不但比JPEG质量高而且文件大小还更小。 在网络中一般小图标中很多图片格式都采用png。 GIF是将多幅图像保存为一个图像文件,从而形成动画,所以归根到底GIF仍然是图片文件格式。32
33. - 33 -目录结构存放的资源类型res/anim动画文件res/drawable图片文件res/layout布局文件res/values各种XML资源文件: strings.xml:字符串文件 arrays.xml:数组文件 colors.xml:颜色文件 dimenss.xml:尺寸文件 styless.xml:样式文件res/xml任意的XML文件res/raw直接复制到设备中的原生文件res/menu菜单文件Android资源类型
34. - 34 -2.2.1 字符串资源 字符串是最简单的一种资源,程序用到的字符串资源需要在 res/values/strings.xml文件中定义,在其他的资源文件中或代码中都可以访问字符串资源。 在其他资源文件中采用“@string/资源名称”的形式访问
在代码中可通过“R.string.资源名称”的形式访问 TextView tv = ...... // 初始化TextView控件 tv.setText(R.string.hello);
35. 按教材P32建一个Android项目-ch02_2D2zyz35
36. 在布局文件main.xml里:----布局文件在CH3讲36
37. 37
38. Ctrl+Shift+L----------快捷键列表如: ctrl+Z-----undo alt+/-----Content Assist ctrl+shift+ / ------Add Block Comment ctrl+F11---run ctrl+s----Save ctrl+shift+S----save all38
39. 在静态资源引用文件R.java中,其id会自动增加一个tv引用。39
40. 编写Activity,代码如下:40
41. 字符串资源文件strings.xml—查看41
42. 运行程序,结果:42
43. - 43 -2.2.2 图片资源 图片资源的使用与字符串资源非常类似 程序用到的图片资源需要存放在: res/drawable-ldpi、res/drawable-mdpi 或res/drawable-hdpi目录下。 在其他的资源文件中或代码中都可以访问其中的图片资源。 访问图片资源的方式与访问字符串资源也是类似的,在其他资源文件中可采用“@drawable/资源名称”的形式访问,在代码中可通过“R.drawable.资源名称”的形式访问。 注意 res/drawable-hdpi、res/drawable-mdpi、res/drawable-ldpi三个目录分别用于存放高、中、低三种分辨率下的图标文件,Android程序运行时,会自动根据当前分辨率到对应的目录下查找图片。
44. 新建Android项目ch02_2D3zyz复制图片td.jpg到 res/drawable-mdpi目录下44
45. 编辑布局文件res/layout/main.xml, 代码如下:最外层的LinearLayout的布局中,设置backgroud属性值为“@drawable/td”.即使用名称为td的图片资源作为背景。45
46. 运行项目,结果如图:46
47. 练习: 在EditText中显示图片
48. 把图片放到res/drawable-mdpi里
49. 会自动在gen/R.java里生成一个文件名字不可修改,自动维护
50. 左、上、下任选
51. android:drawableLeft="@drawable/icon_download"
52. 输入文字时更加的漂亮
53. 实践2 活动(Activity)实践2.G.1--------后续章节实现一个饭店使用的无线点餐系统-----------P218导入ph02ex.zip53
54. - 54 -小结:Activity是Android应用程序中最基本的组成单位 大部分的Android应用中包含多个Activity类 Activity共有四种状态:激活或者运行状态、暂停状态、停止状态、终止状态 每个Activity类在定义时都必须继承android.app.Activity android.app.Activity类中的方法定义了Activity完整的生命周期 Android中的资源是指非代码部分,是代码中使用的外部文件 对于字符串资源,在其他资源文件中使用“@string/资源名称”的形式访问,在代码中可通过“R.string.资源名称”的形式访问 对于图片资源,在其他资源文件中使用“@drawable/资源名称”的形式访问,在代码中可通过“R.drawable.资源名称”的形式访问
PPT 图集
相关PPT
第2章 活动Activity
第06章 活动(Activity)及意图(Intent)
第5章 状态图和活动图
第2章 移动终端
第1章 Android 概述
第2章-网页样式
第1章 Android 概述--1
第4章 意图Intent
第08章 存取资料
第4章 Android应用程序结构