5.1初识Activityppt课件(完整版).ppt

上传人:春哥&#****71; 文档编号:16893124 上传时间:2022-05-19 格式:PPT 页数:18 大小:820KB
返回 下载 相关 举报
5.1初识Activityppt课件(完整版).ppt_第1页
第1页 / 共18页
5.1初识Activityppt课件(完整版).ppt_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《5.1初识Activityppt课件(完整版).ppt》由会员分享,可在线阅读,更多相关《5.1初识Activityppt课件(完整版).ppt(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、5.1 初识Activityppt课件(完整版)02认识Activity创建Activity目录目录CONTENTActivity的生命周期调用Activity结束Activity参考教材参考教材: :AndroidAndroid应用开发项目化教程应用开发项目化教程认识Activityp概述u处于android.app包中; uActivity是Android最基本的应用程序组件;u一个activity通常就是一个单独的屏幕。认识Activityp作用uActivity 是一个应用组件,用户可与其提供的屏幕进行交互,以执行拨打电话、拍摄照片、发送电子邮件或查看地图等操作。 u每个 Activi

2、ty 都会获得一个用于绘制其用户界面的窗口。窗口通常会充满屏幕,但也可小于屏幕并浮动在其他窗口之上。u一个应用通常由多个彼此松散联系的 Activity 组成。 一般会指定应用中的某个 Activity 为“主” Activity,即首次启动应用时呈现给用户的那个 Activity。创建Activityp方法u右单机项目的package New / Activity / Activity模板创建Activityp实现生命周期方法u要创建 Activity实例必须是 Activity 的子类(或使用其现有子类)。 两个最重要的回调方法是:l onCreate():必须实现此方法。系统会在创建Ac

3、tivity 时调用此方法。必须在此方法内调用 setContentView(),以定义 Activity 用户界面的布局。l onPause():系统将此方法作为用户离开 Activity 的第一个信号(但并不总是意味着 Activity 会被销毁)进行调用。创建Activityp实现用户界面uActivity 的用户界面是由层级式视图衍生自 View 类的对象提供的。每个视图都控制 Activity 窗口内的特定矩形空间,可对用户交互作出响应。u可以利用 Android 提供的许多现成视图设计和组织布局。“布局”是衍生自 ViewGroup 的视图,为其子视图提供唯一布局模型。u利用视图定

4、义布局的最常见方法是借助保存在应用资源内的 XML 布局文件。这样一来,就可以将用户界面的设计与定义 Activity 行为的源代码分开维护。 可以通过 setContentView() 将布局设置为 Activity 的 UI,从而传递布局的资源 ID。创建Activityp在清单文件中声明 Activityu必须在清单文件中声明 Activity,这样系统才能访问。u还可以在此元素中加入几个其他特性,以定义 Activity 标签、Activity 图标或风格主题等用于设置 Activity UI 风格的属性。android:name 特性是唯一的必需特性它指定 Activity 的类名。

5、应用一旦发布,即不应更改此类名,否则,可能会破坏诸如应用快捷方式等一些功能。 . . Activity的生命周期p回调方法uonCreate()uonStart()uonResume()uonPause()uonStop()uonDestroy()uonRestart()Activity的生命周期p四种状态u运行状态l 此 Activity 位于屏幕前台并具有用户焦点。(有时也将此状态称作“运行中”。)u暂停状态l 另一个 Activity 位于屏幕前台并具有用户焦点,但此 Activity 仍可见。u停止状态l 该 Activity 被另一个 Activity 完全遮盖(该 Activity

6、 目前位于“后台”,完全不可见)。u销毁状态l 活动从返回栈中移除调用Activityp显式/隐式调用u显式调用u隐式调用Intent intent = new Intent(this, SignInActivity.class);startActivity(intent); Intent intent = new Intent(Intent.ACTION_SEND);intent.putExtra(Intent.EXTRA_EMAIL, recipientArray);startActivity(intent); 调用Activityp传递/接收数据u使用IntentIntent it =

7、new Intent(Intent.ACTION_SEND); it.putExtra(Intent.EXTRA_SUBJECT, The email subject text); it.putExtra(Intent.EXTRA_STREAM, file:/sdcard/eoe.mp3); sendIntent.setType(audio/mp3); startActivity(Intent.createChooser(it, Choose Email Client); 调用Activityp传递/接收数据u使用BundleIntent mIntent = new Intent();Bund

8、le mBundel = new Bundle();mBundel.putString(Key_Name, someString);.mIntent.putExtras(mBundel);mIntent.setClass(aActivity.this, bActivity.class);startActivity(mIntent);Bundle mBundel = this.getIntent().getExtras();String name = mBundel.getString(Key_Name);在使用Bundle传递数据时,要注意,Bundle的大小是有限制的 0.5MB,如果大于这

9、个值 是会报TransactionTooLargeException异常的! 调用Activityp回调结果u发送端l startActivityForResult(Intent intent, int requestCode)l onActivityResult(int requestCode, int resultCode, Intent data)startActivityForResult(intent,mRequestCode);Overrideprotected void onActivityResult(int requestCode, int resultCode, Inten

10、t data) if (mRequestCode = requestCode) switch (resultCode) case Activity.RESULT_OK: Bundle bundle = data.getExtras(); . break; . super.onActivityResult(requestCode, resultCode, data);调用Activityp回调结果u接收端l setResult(int resultCode, Intent data)或setResult(int resultCode)Intent intent = new Intent();Bundle bundle = new Bundle();bundle.putString(msg, 信息已收到);intent.putExtras(bundle);setResult(Activity.RESULT_OK, intent);TargetActivity.this.finish();结束Activityp一般退出u finish() :结束当前 Activityu finishActivity() 结束指定的 Activity注:在大多数情况下,不应使用这些方法显式结束 Activity。结束Activityp完全退出App

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁