activity中的常用方法(1)-山东商业职业技术学院

上传人:繁星 文档编号:88246913 上传时间:2019-04-22 格式:PPT 页数:27 大小:2.94MB
返回 下载 相关 举报
activity中的常用方法(1)-山东商业职业技术学院_第1页
第1页 / 共27页
activity中的常用方法(1)-山东商业职业技术学院_第2页
第2页 / 共27页
activity中的常用方法(1)-山东商业职业技术学院_第3页
第3页 / 共27页
activity中的常用方法(1)-山东商业职业技术学院_第4页
第4页 / 共27页
activity中的常用方法(1)-山东商业职业技术学院_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《activity中的常用方法(1)-山东商业职业技术学院》由会员分享,可在线阅读,更多相关《activity中的常用方法(1)-山东商业职业技术学院(27页珍藏版)》请在金锄头文库上搜索。

1、Android应用程序基础,山东商业职业技术学院,Shandong Institute of Commerce and Technology,主要内容,工作任务描述,工作任务描述,1)为“智能物流管理系统”Android智能设备端开发搭建项目框架,为项目准备必要的素材资源。 2)实现“智能物流管理系统” Android智能设备端两个页面之间跳转效果,例如,登录界面与主界面之间的跳转等。,代码展示,1:new 出 intent 2:设置跳转的类 3:启动要跳转到的Activity,Android应用程序基础,工作任务所涉及到的基础知识,Android项目结构详解,Eclipse下的Android

2、项目结构,R.Java与项目资源的对应关系,对应关系图,说明:R.java是在构建项目时自动生成的,该类中的内容会根据res目录下资源的变化而变化,开发人员不要去修改R.java类。,Android应用程序的构成,Android应用程序组件,四大组件,Android应用程序能够实例化和运行需要几个必要的组件:Activity、Service、Broadcast Receiver和Content Provider。 并不是所有的应用程序都必须包含上面4个组件,你的应用程序可以由上面的一个或多个来创建。,Activity,简介,Activity即活动,它表示一个具有焦点的、可视化的、可操作的用户接

3、口。 每一个活动都是继承于基类Activity。 一个应用程序可以只有一个活动,也可以有多个。,Service,简介,Android开发中,当需要创建在后台运行的程序时,就需要用到Service。 每一个Service都继承于基类Service。 Service不需要可视化的用户界面,并且用户在处理其它问题时,服务仍然能够根据需要继续运行。最为典型的Service应用:播放音乐。,Broadcast Receiver,简介,在Android里面有各种各样的广播,比如电池的电量变化、来电和接收到短信都会产生一个广播,应用程序开发者可以监听这些广播并做出程序逻辑的处理。 一个应用可以有很多广播接收

4、器来对它认为重要的通知做出反应。所有的接收器继承于BroadcastReceiver基类。 广播接收器不展示一个用户界面。但是,它们可以为他们接收到得信息启动一个活动,或者它们可以使用NotificationManager来通知用户。,Content Provider,简介,内容提供者继承于ContentProvider基类,实现了一套标准的允许其他用户检索,储存数据的方法。但是,应用程序并不能直接使用这些方法。他们必须使用ContentProvider的实例,调用它的方法。 ContentResolver可以与任何内容提供者交流,他们之间的合作可以管理进程间的通信。,Activity和Int

5、ent,认识Activity,Activity的开发步骤,主要步骤,1、创建一个Java类,继承android.app.Activity; 2、重写Activity的onCreate()方法; 3、向Activity中添加视图组件; 4、在AndroidManifest.xml中进行配置,Activity的生命周期,生命周期方法,onCreate onStart onResume onPause onStop onRestart onDestory,说明:7个生命周期方法分别在Activity的启动、 失去焦点、重新获得焦点和关闭Activity四个阶 段按一定顺序被调用。,Activity中

6、的常用方法(1),常用方法介绍,findViewById:Finds a view that was identified by the id attribute from the XML that was processed in onCreate(Bundle). 1、在何处使用? 2、从何处查找? 3、查找什么? 4、什么时候需要使用? 并不是所有在xml布局文件中定义的view都需要使用findViewById。,Activity中的常用方法(2),常用方法介绍,finish:Call this when your activity is done and should be clos

7、ed. The ActivityResult is propagated back to whoever launched you via onActivityResult(). 关闭当前的Activity。,Activity中的常用方法(3),常用方法介绍,startActivity:Launch a new activity. You will not receive any information about when the activity exits. 启动另一个Activity,用于实现Activity的切换。,Intent介绍,基本作用,Android应用主要是由一些组件组成,

8、如Activity、Service、Broadcast Receiver等,这些组件之间的通讯是由Intent协助完成。 Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。Intent在这里起着实现调用者与被调用者之间的解耦作用。,Intent介绍,包含的信息,一个Intent对象包含了一组信息:Component name, Action, Data, Category, Extras, Flags。,Activity间的数据传递,方式一,从源Activity

9、中传递数据,在目标Activity中接收数据。 1)从源Activity中传递数据 Intent intent = new Intent(); intent.putExtra(“userName“, “liufeng“); intent.setClass(Activity_A.this, Activity_B.class); startActivity(intent); 2)目标Activity中接收数据 Intent intent = getIntent(); String userName = intent.getStringExtra(“userName“);,Activity间的数据传

10、递,方式二,从源Activity中传递数据,在目标Activity中接收数据。 1)从源Activity中传递数据 Bundle bundle = new Bundle(); bundle.putString(“userName“, “liufeng“); Intent intent = new Intent(); intent.setClass(Activity_A.this, Activity_B.class); intent.putExtras(bundle); startActivity(intent); 2)目标Activity中接收数据 Intent intent = getInt

11、ent(); String userName = intent.getStringExtra(“userName“);,Activity间的数据传递,方式三,在源Activity中通过Intent将请求传递到目标Activity,在源请求Activity中等待应答结果,通过重写onActivityResult()方法。,Intent intent = new Intent(); intent.setClass(FirstActivity.this, SecondActivity.class); / 1表示请求码,用于区分多个请求的情况 startActivityForResult(intent

12、,617);,protected void onActivityResult(int requestCode, int resultCode, Intent data) super.onActivityResult(requestCode, resultCode, data); switch (requestCode) case 617: if (resultCode = RESULT_OK) String userName = data.getStringExtra(“userName“); / 打印获取的返回值 Log.d(“LIUFENG_TAG“, userName); break; ,Intent intent = new Intent(); intent.setClass(SecondActivity.this, FirstActivity.class); intent.putExtra(“userName“, “liufeng“); setResult(RESULT_OK, intent); finish();,源Activity,目标Activity,Activity间的对象传递,方式四,在某些特殊情况下,我们可能需要在Activity之间传递自定义的对象, 被传递的自定义对象需要实现Serializable接口或Parcelable接口。,

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

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号