Android组件之activity
1、Activity是什么(一个界面)
在程序中,一个Activity相当于一个手机屏幕,是Android的一种应用组件,
主要用于和用户进行交互,一个程序中包含多个Activity,Activity之间可以相互跳转
在一个应用程序中,会有一个主Activity作为入口。
2、Activity四种状态
运行 :处于活动状态,可以与用户进行交互
暂停 :失去焦点,被另一个Activity处于活动状态,失去与用户交互能力,一般不会被系统回收,除非内存紧张才有可能被系统回收掉
停止 :被系统完全覆盖,此时不可见,但资源未被回收
系统回收 :当Activity被系统回收后就处于killed状态
3、Activity生命的周期
· onCreate()
每个Activity中我们都会重写这个方法。首次创建 Activity 时调用。
· onRestart()
这个方法在Activity由停止状态变为运行状态之前调用,也就是Activity被重新启动了。
· onStart()
这个方法在Activity不可见变为可见的时候调用。
· onResume()
这个方法在Activity准备好和用户进行交互的时候调用,此时的Activity一定位于返回栈的栈顶、并且处于运行状态。
· onPause()
这个方法在系统准备去启动或者恢复另一个Activity的时候调用。我们通常会在这个方法中将一些消耗CPU的资源释放掉,以及保存一些关键数据,但这个方法的执行速度一定要快,不然会影响到新的栈顶Activity的使用。
· onStop()
这个方法在Activity完全不可见的时候调用。它和onPause()方法主要区别在于,如果启动的新活动是一个“对话框式”的活动,那么onPause()方法会得到执行,而onStop()方法不会执行。
· onDestroy()
这个方法在Activity被销毁之前调用,之后Activity的状态将变为销毁状态。
activity(Android组件中最重要的四大组件之一)详细资料大全
activity是Android组件中最基本也是最为常见用的四大组件之一。Android四大组件有Activity,Service服务,Content Provider内容提供,BroadcastReceiver广播接收器。 基本介绍 外文名 :Activity 定义 :Android系统组件 概要说明,详细说明,基本状态,状态转换,方法通知, 概要说明 Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)之一。 Activity是一个应用程式组件,提供一个萤幕,用户可以用来互动为了完成某项任务。 Activity中所有操作都与用户密切相关,是一个负责与 用户互动 的组件,可以通过setContentView(View)来 显示指定控制项 。 在一个android套用中,一个Activity通常就是一个单独的萤幕,它上面可以显示一些控制项也可以监听并处理用户的事件做出回响。Activity之间通过Intent进行通信。 详细说明 基本状态 在android 中,Activity 拥有四种基本状态: Active/Running 一个新 Activity 启动入栈后,它显示在萤幕最前端,处理是处于栈的最顶端(Activity栈顶),此时它处于可见并可和用户互动的激活状态,叫做活动状态或者运行状态(active or running)。 2 . Paused 当 Activity失去焦点, 被一个新的非全萤幕的Activity 或者一个透明的Activity 被放置在栈顶,此时的状态叫做暂停状态(Paused)。此时它依然与视窗管理器保持连线,Activity依然保持活力(保持所有的状态,成员信息,和视窗管理器保持连线),但是在系统记忆体极端低下的时候将被强行终止掉。所以它仍然可见,但已经失去了焦点故不可与用户进行互动。 3 . Sped 如果一个Activity被另外的Activity完全覆盖掉,叫做停止状态(Sped)。它依然保持所有状态和成员信息,但是它不再可见,所以它的视窗被隐藏,当系统记忆体需要被用在其他地方的时候,Sped的Activity将被强行终止掉。 4 . Killed 如果一个Activity是Paused或者Sped状态,系统可以将该Activity从记忆体中删除,Android系统采用两种方式进行删除,要么要求该Activity结束,要么直接终止它的进程。当该Activity再次显示给用户时,它必须重新开始和重置前面的状态。 状态转换 当一个 Activity 实例被创建、销毁或者启动另外一个 Activity 时,它在这四种状态之间进行转换,这种转换的发生依赖于用户程式的动作。下图说明了 Activity 在不同状态间转换的时机和条件: 图1. Activity 的状 态转换 如上所示,Android 程式设计师可以决定一个 Activity 的“生”,但不能决定它的“死”,也就是说程式设计师可以启动一个 Activity,但是却不能手动的“结束”一个 Activity。当你调用 Activity.finish() 方法时,结果和用户按下 BACK 键一样:告诉 Activity Manager 该 Activity 实例完成了相应的工作,可以被“回收”。随后 Activity Manager 激活处于栈第二层的 Activity 并重新入栈,同时原 Activity 被压入到栈的第二层,从 Active 状态转到 Paused 状态。例如:从 Activity1 中启动了 Activity2,则当前处于栈顶端的是 Activity2,第二层是 Activity1,当我们调用 Activity2.finish() 方法时,Activity Manager 重新激活 Activity1 并入栈,Activity2 从 Active 状态转换 Sed 状态, Activity1. onActivityResult(int requestCode, int resultCode, Intent data) 方法被执行,Activity2 返回的数据通过 data 参数返回给 Activity1。 Activity栈 Android 是通过一种 Activity 栈的方式来管理 Activity 的,一个 Activity 的实例的状态决定它在栈中的位置。处于前台的 Activity 总是在栈的顶端,当前台的 Activity 因为异常或其它原因被销毁时,处于栈第二层的 Activity 将被激活,上浮到栈顶。当新的 Activity 启动入栈时,原 Activity 会被压入到栈的第二层。一个 Activity 在栈中的位置变化反映了它在不同状态间的转换。Activity 的状态与它在栈中的位置关系如下图所示: 图2. Activity 的状 态 与它在 栈 中的位置 关 系 如上所示,除了最顶层即处在 Active 状态的 Activity 外,其它的 Activity 都有可能在系统记忆体不足时被回收,一个 Activity 的实例越是处在栈的底层,它被系统回收的可能性越大。系统负责管理栈中 Activity 的实例,它根据 Activity 所处的状态来改变其在栈中的位置。 方法通知 下面的图显示了Activity的重要状态转换,矩形框表明Activity在状态转换之间的回调接口,开发人员可以重载实现以便执行相关代码,带有颜色的椭圆形表明Activity所处的状态。 图 3 . Activity 的状 态 转换的方法和实现 在上图中,Activity有三个关键的循环: 1. 整个的生命周期,从onCreate(Bundle)开始到onDestroy()结束。Activity在onCreate()设定所有的“全局”状态,在onDestory()释放所有的资源。例如:某个Activity有一个在后台运行的执行绪,用于从网路下载数据,则该Activity可以在onCreate()中创建执行绪,在onDestory()中停止执行绪。 2. 可见的生命周期,从onStart()开始到onS()结束。在这段时间,可以看到Activity在萤幕上,尽管有可能不在前台,不能和用户互动。在这两个接口之间,需要保持显示给用户的UI数据和资源等,例如:可以在onStart中注册一个IntentReceiver来监听数据变化导致UI的变动,当不再需要显示时候,可以在onS()中注销它。onStart(),onS()都可以被多次调用,因为Activity随时可以在可见和隐藏之间转换。 3. 前台的生命周期,从onResume()开始到onPause()结束。在这段时间里,该Activity处于所有 Activity的最前面,和用户进行互动。Activity可以经常性地在resumed和paused状态之间切换,例如:当设备准备休眠时,当一个 Activity处理结果被分发时,当一个新的Intent被分发时。所以在这些接口方法中的代码应该属于非常轻量级的。
安卓系统手机上好玩的大型单机游戏有哪些?
十大手机大型单机游戏:《乐高忍者:浪人之影》、《劳拉GO》、《NBA 2K16》、《南瓜先生大冒险》、《愤怒的小鸟》、《植物大战僵尸》、《神庙逃亡》、《拳皇》、《元气骑士》、《模拟农场16》。1、《乐高忍者:浪人之影》积木是乐高系列作品的重要组成因素,这些萌萌的积木小人为我们勾画了一个神秘且有趣的色彩世界,《乐高忍者:浪人之影》不仅仅是冒险闯关那么简单,游戏中还添加了各式各样的特色游戏模式供玩家朋友们挑战玩耍。游戏中,一些经典的搭积木玩法都能在《乐高忍者:浪人之影》中找到踪迹,一些刺激的跑酷模式也能调动你的肾上腺素,这些游戏玩法随着游戏剧情的展开将逐一呈现,必要时,玩家需要绞尽脑汁才能解救出被困的忍者同伴。2、《NBA 2K16》如果你是一名忠实的NBA粉丝,如果你对篮球游戏爱不释手,那么你千万不能错过这款《NBA2K16》手机版游戏,你能体验到一个跨时代篮球巨作的精彩与恢宏。《NBA2K16》同时登陆IOS和安卓两个平台,基本上坐稳了移动端篮球游戏的霸主地位,比起某些篮球小游戏粗糙的画质和无脑的玩法,手机版的《NBA2K16》简直就是一家独大的典型代表。3、《劳拉GO》游戏的自由度很低,玩家只能沿着地图上固定的路线进行移动,而移动的方法很简单,只要在屏幕上轻轻的朝着某个方向滑动就行了,这种操作难度,估计是所有冒险游戏中最低的了,一开始对于这款游戏很不屑,觉得这么简单的游戏有什么好玩的,但是在玩了几关以后,却被其迷住了。游戏中玩家会碰到毒蛇和蜥蜴两种野兽,当劳拉面对毒蛇的时候,毒蛇会将其咬死,玩家只能从侧面或者背面将毒蛇干掉,但是一群毒蛇在一起的时候,就要考验玩家们的脑力了,蜥蜴则会跟着劳拉到处跑,要利用好各种机关才能干掉它们。
安卓4.4.4怎么升级5.0
在浏览器中下载升级包,将安装包保存在内存卡的根目录下;长按关机键,关机,在关机状态下按开机键加音量减号键;进入工程模式选择第三第四个选项双清,选择第一个选项安装刷机包,安装完成后重启即可。如果是像小米和华为手机自带系统的,可以在设置里面找到我的手机,点击进去就可以看到当前手机的版本号,直接点击升级即可。如果是像4.4.4想直接升到5.0的安卓系统,点击进去就可以看到选择最新的系统或者是自己选择相应的安卓版本了。如果是其他手机没有这个功能则可以利用刷机包,直接把系统升级到安卓5.0。当然,你首先要先下载到5.0的安装包,然后放到内存卡的根目录里,手机进入刷机模式,进入安装包就可以了。
安卓4.4.4怎么升级7.0?
点击软件更新即可。2016年8月22日,Google正式推送Android 7.0 Nougat正式版。 2016年12月5日,Google为Android 7.0发布了重要的维护性更新,也就是Android 7.1。Android 7.1的一个小版本更新——安卓7.1.2已于2017年4月3日推送。2017年5月5日,Google正式向开发者发出通知,宣布Andrdoid 7.0的Beta项目正式停止,最终版本止步在Android 7.1.2,让位于Android O。2016年12月5日Google发布了针对安卓7.0的第一个更新版本Android 7.1。虽然Android 7.0发布快一年,整体的用户占比刚超过7%,Google还是义无反顾地向前推进着。在对Android O的首个开发者预览版打磨了一段时间之后,Google正式计划发布首个公测Beta版,它将在Google I/O全球开发者大会上被发布。这同时意味着,Andrdoid 7.0的Beta项目正式停止,最终版本止步在Android 7.1.2,Android 7.0让位于Android O。
Android 4高级编程的作者简介
Reto Meier 目前是Google Android 团队的一名Android 开发人员倡导者,帮助Android 开发人员创建最优秀的应用程序。Reto 是一位经验丰富的软件开发人员,拥有逾10 年的GUI 应用程序开发经验。进入Google 之前,他曾在多种行业中工作过,包括海洋石油、天然气以及金融业。技术编辑简介Dan Ulery 是一名软件工程师,具有.NET、Java 和PHP 的开发经验,并且十分熟悉软件部署。他毕业于爱达荷大学,获得了计算机科学学士学位,并且辅修了数学专业。
Android 4高级编程的内容简介
《Android 4高级编程(第3版)》由Android权威专家编写,涵盖了所有最新的内容,是学习使用Android 4 SDK开发移动应用程序的理想指南。本书见解深刻,帮助经验丰富的Android开发人员充分挖掘Android 4的新特性的潜力,同时讲解了Android开发的基础知识,使初学者也可以借助本书入门。作为一本以实用性为目的的指导图书,本书带领您逐步完成复杂程度越来越高的Android项目,每个项目中都引入一种新的Android平台特性,并着重指出有助于编写引人入胜的应用程序的技术和最佳实践。本书特色◆ 深入分析了Android应用程序的组件和生命周期◆ 探讨了Android的UI原理、设计理念和UI API,使用户界面在手机、平板电脑和电视上都引人注目◆ 介绍了创建基于地图的应用程序和使用基于位置的服务的相关知识◆ 解释了如何创建后台服务、通知和Cloud to Device Messaging◆ 演示了如何创建动态的、交互式的主屏幕微件和LiveWallpaper◆ 探索了硬件和通信API,包括蓝牙、电话、Wi-Fi Direct、NFC和Android Beam◆ 讲解了摄像头和硬件传感器的使用◆ 详述了新的动画框架和其他增强用户体验的特性,包括拖放、Action Bar和Fragment◆ 新增了关于应用程序发布的一章内容◆ 介绍了License Verification和应用程序内收费服务