2014-08-18 22:37:14|?次阅读|上传:huigezrx【已有?条评论】发表评论
关键词:Java, Android, 界面设计, 移动应用|来源:唯设编程网
Android开发实现Activity动态切换布局资源介绍了动态切换Activity类的资源文件,可以实现用户界面的动态响应。但是对于复杂的需求,这样是不够的,我们需要在不同的Activity类之间进行切换,每个Activity完成不同的功能。
本文介绍Android开发过程中切换Activity类的方法,在Android开发中,我们通常使用Intent类管理Activity之间的跳转。Intent是一种运行时绑定(runtime binding)机制,它能在程序运行的过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来请求。比如,有一个Activity希望打开网页浏览器查看某一网页的内容,那么这个 Activity只需要发出WEB_SEARCH_ACTION请求给Android,Android会根据Intent的请求内容,查询各组件注册时声 明的IntentFilter,找到网页浏览器Activity来浏览网页。
在Android 应用程序的整个生命周期中,用户可能会在若干个不同的Activity 之间进行跳转。有时,在Activity 栈中,可能存在多个Activity 的实例。开发人员需要注意在跳转过程中每一个Activity 的生命周期问题。
某些Activity 实例(例如应用程序启动画面)显示一次之后即永远被"主菜单"界面的Activity 所替代。用户不可能再次跳转至显示启动画面的Activity ,除非重新启动应用程序。在这种情况下,可以使用startActivity() 方法和适当的finish ()方法。
其他的A ctivity 跳转可能是暂时的,例如,从显示对话框的于Activity 跳转到初始的Actìvity ( 先前在栈上被暂停后现在重新返回至此)。在这种情况下,父Activity 运行于Activity,并且等待返回一个结果。在过种情况下,可以使用startActivityForResult() 和onActivityResult () 方法。
Android 应用程序可以拥有若干个入口点,而没有main()函数,这与jPhone 等的开发是不一样的。相反, 某个特定的Activity 可以在AndroidManifest .xml文件中被指源为主Activity。从而默认地被运行。
其他Activity 则可能被指派为在特定条件下运行。例如, 一个音乐播放程序可能会指派两个Activity :一个通用的Activity 用于在应用程序菜单触发时默认运行,而另个则被应用程序指派为可选的入口点Activity ,用于根据播放列表或艺术家播放指定的音乐。
你可以通过几种不同的方法启动Activity 。最简单的方法是使用应用程序上下文( Application Context )对草对象调用startActivity() 方法, 同时传入一个参数: 一个Intent对象。
一个Intent(android.content.lntent ) 对象是Android 操作系统用于满足任务需求以且向系统发送广播Intent 事件所使用的异步消息机制, 它同适当的Activity 或Service (如果需要的话则运行它)协同工作。
目前,我们仍然聚焦于Intent 时草本身, 及其与Activity 协同工作的方式。下面的代码使用了一个显式的Intent 调用startActivity ()方法。该Intent 请求名为
MyDrawActivity 的目标Activity 由其自身类运行。该类在包中的其他地方实现。
startActivity(new Intent(getApplicationContext() , MyDrawActivity.class)) ;