首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

《移动互联网技术》第五章 界面开发: 掌握Activity基本概念,Activity堆栈管理和生命周期

首先实现一种最简单列表方式,即列表中只显示文本,如下图所示,把测试题目的类型展示界面上。布局文件中,需要设置ListView控件id、宽度和高度等属性。...适配器中,可以设置不同列表项布局,展示不同列表效果。Android系统中已经定义了常用列表显示效果。...,系统都会把活动A所在Task转到前台,从而让活动A显示屏幕上。...下面一标签表示应用程序将显示程序列表里,也就是Android桌面上会显示一个图标(launcher)。...Flags:Flags可以为意图设置某种标志,可以用作意图发送签名。设置了Flags意图启动一个 Activity 后,这个Activity可以根据意图中Flags值判断意图来自哪里。

9010

Activity 36 大难点,你会几个?「建议收藏」

发送特定广播: 需要结束应用时, 发送一个特定广播,每个 Activity 收到广播后,关闭 即可。...注意:以上两种方式都能够为 Activity 指定启动模式,可是二还是有差别的。 优先级:动态指定方式即另外一种比第一种优先级要高,若两同一时候存在,另外一种方式为准。...举例来说,这可能发生在,如果一个前台活动一个对话框(其他进程)运行之后仍然是可视,比如输入法弹出时。 寄宿着一个服务,该服务绑定到一个可视活动。...一般地有很多后台进程运行着,因此它们保持一个 LRU( least recently used ,即最近最少使用,如果您学过操作系统的话会觉得它很熟悉,跟内存页面置换算法 LRU 一样)列表确保最近使用最多活动进程最后被杀...系统进程杀死这些进程,进程 cache 和潜在内核 cache 之间平衡整个系统资源。 android 进程回收顺序从先到后分别是:空进程,后台进程,服务进程,可见进程,前台进程。

72520
您找到你想要的搜索结果了吗?
是的
没有找到

【Android】期末简答题

onPause()这个方法系统准备去启动或者恢复另一个活动时候调用。...onStop()第一代码——Android58这个方法活动完全不可见时候调用。...2.暂停:不是栈顶位置,但是界面依旧可见,并不是每一个活动都占满整个屏幕,当系统内存比较低时候会回收。...我答案: 无序广播:所有跟广播intent匹配广播接收都可以收到该广播,并且是没有先后顺序(同时收到) 有序广播:所有跟广播intent匹配广播接收都可以收到该广播,但是会按照广播接收优先级来决定接收先后顺序...SQLite设计们为了达到这一目标,功能上作出了很多关键性取舍,与此同时,也失去了一些对RDBMS关键性功能支持,如高并发、细粒度访问控制(如级锁)、丰富内置函数、存储过程和复杂SQL语句等

95460

7.Activity

,这个name值就会成为这个activity动作,                 隐式启动Activity时,意图中设置action必须跟"com.itheima.sa"是完全匹配) data...", mp3Info);另一个activity,或服务、广播中取出: Mp3Info mp3Info =(Mp3Info)intent.getSerializableExtra("mp3Info");...,返回一个数据给A界面 开启activity并且获取返回值 startActivityForResult(intent, 0); 新开启界面里面实现设置数据逻辑 Intent data = new...Intent(); data.putExtra("phone", phone); //设置一个结果数据,数据会返回给调用//第一个参数用于向上一个活动返回处理结果,一般只使用 RESULT_OK 或...Activity中还提供了一个 onSaveInstanceState()回调方法,这个方法会保证一定在活动回收之前调用, 可以通过这个方法来解决活动回收时临时数据得不到保存问题。

1.2K150

Android基础_1 四大基本组件介绍与生命周期

通过解析各种intent,从一个屏幕导航到另一个屏幕是很简单。当向前导航时,activity 将会调用startActivity(Intent myIntent)方法。..., 此时 BroadcastReceiver 所在进程很容易系统需要内存时被优先杀死 , 因为它属于空进程 ( 没有任何活动组件进程 )....比较好一个例子就是一个正在从播放列表中播放歌曲媒体播放器。一个媒体播放器应用中,应该会有多个 activity,让使用可以选择歌曲并播放歌曲。...Activity 处于活动(Active)或运行 (Running)状态 2.Paused——暂停状态      当Activity失去焦点但仍对用户可见(如在它之上有另一个透明Activity或Toast...只是对用户不可见,当其他地方需要内存时它往往被系统杀掉 4.Dead——非活动状态       Activity 尚未被启动、已经被手动终止,或已经被系统回收时处于非活动状态,要手动终止Activity

1.3K30

Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解

那么你再点击一个按钮跳转到另一个界面时,就是又一个Activity界面,由Activity可以分出很多知识点。...如,Activity生命周期,activity启动方式,还有如果两个activity数据交互,就是页面和页面之间数据交互,如,你另一个界面上输入数据,保存到另一个页面上,进行显示效果;activity...两个activity进行交互,周期是怎么样呢,交互就是一个页面跳转到另一个页面效果。...:设备电池电量不足 ACTION_GET_CONTENT:允许用户选择特定类型数据并将其返回 ACTION_HEADSET_PLUG:插入有线耳机或拔下插头 setData:设置数据 setAction...:设置要执行一般操作等。

64830

Android应用界面开发——简单控件和Activity间传递数据

当Activity被onStop后,但是没有onDestroy,再次启动此Activity时调用onRestart(而不再调用onCreate)方法。...startActivityForResult(intent):打开另一个Activit,同时向开启Activity传递数据,并回传数据。...:加载网页 ListView:显示列表 GridView:显示表格式列表 ScrollView:内容可滚动视图 SufaceView:非常重要绘图容器 针对比较常用控件一和Activity之间传递数据写了一个小...进入主界面,有两个按钮,一个TextView,一个按钮是进入买书界面,点击该按钮将会跳转到买书界面,您要买书后面是一个TextView,买书界面输入书名后,提交,会把输入书名返回给该界面,另一个按钮是重置...Ctrl + H:显示类结构图 Ctrl + D:复制 Ctrl + Q:显示注释文档 Alt + Up / Down:方法间快速移动定位 Ctrl + Shift + Up / Down:代码向上

1.8K30

Android基础总结(2)——活动Activity

启动活动时传递数据思路很简单,Intent中提供了一系列putExtra()方法重载,可以将我们想要数据暂存在Intent中,启动另一个活动后,只需要将这些数据取出就可以了。    ...例如我们mainActivity中button中设置点击事件监听事件中,启动Intent之前通过putExtra()方法传入各种类型数据, 1 button.setOnClickListener...()方法来启动费另一个活动,该方法接收两个参数,第一个是Intent,第二个是请求码,用于之后回调中判断数据来源,该请求码只要是一个唯一值就可以了。...此时活动一定位于返回栈栈顶,并且处于运行状态。 onPause():系统准备去启动或恢复另一个活动时候调用。...在此生命期中,活动总是可见。在这两个方法之间,可以保持显示Activity所需要资源。如在onStart()中注册一个广播接收监听影响你UI改变,onStop()中注销。

1.2K90

很全面的Android面试题

Activity中提供了一个 onSaveInstanceState()回调方法,这个方法会保证一定在活动回收之前调用, 可以通过这个方法来解决活动回收时临时数据得不到保存问题。...这个参数在一般情况下都是null,但是当活动被系统回收之前有通过 onSaveInstanceState()方法来保存数据的话,这个参就会带有之前所保存全部数据 protected void onCreate...startActivity(intent);  传递对象 如果要传递对象,需要把对象类序列化,然后intent.putExtra("mp3Info", mp3Info) 另一个activity,或服务...假设用户主页跳转到其他页面,运行多次操作后想返回到主页,假设不使用SingleTask模式,点击返回过程中会多次看到主页,这明显就是设计不合理了。...还有findViewByTag,replace 时候设置tag 或者fragment里声明接口,然后activity获得fragment对象调用接口里方法 fragment数据传递给活动,直接getActivity

5.9K70

很全面的Android面试题

Activity中提供了一个 onSaveInstanceState()回调方法,这个方法会保证一定在活动回收之前调用, 可以通过这个方法来解决活动回收时临时数据得不到保存问题。...这个参数在一般情况下都是null,但是当活动被系统回收之前有通过 onSaveInstanceState()方法来保存数据的话,这个参就会带有之前所保存全部数据 protected void onCreate...(intent); 传递对象 如果要传递对象,需要把对象类序列化,然后intent.putExtra("mp3Info", mp3Info) 另一个activity,或服务、广播中取出: Mp3Info...还有findViewByTag,replace 时候设置tag 或者fragment里声明接口,然后activity获得fragment对象调用接口里方法 fragment数据传递给活动,直接getActivity...缓存文件里面加入时间戳,根据实际情况一定时间差内再次访问网络数据、判断URL 缓存第一写一个上当前时间,读时候判断是不是过期,根据需求看需要多久跟新 分页怎么做

52510

安卓入门-第二章-探究活动

活动创建步骤小结: 我们手动创建活动为例: 创建一个空活动 -> 创建布局 -> 活动中加载布局 -> 注册活动 -> 配置程序配置主活动 2.2.4 活动中使用Toast  Toast是Android...唯一问题在于,你启动器中点击应用图标只会进入到该应用活动,那么怎样才能由主活动转到其他活动呢?我们现在就来一起看一看。...启动活动时传递数据思路很简单,Intent中提供了一系列putExtra()方法重载,可以把我们想要传递数据暂存在Intent中,启动了另一个活动后,只需要把这些数据再从Intent中取出就可以了...体验活动生命周期:  详情还是看第一代码比较好,但是主要思想是我们通过创建多个活动,通过按钮进行任务之间切换,查看日志内容进行观察上图中方法调用情况: ?  ...五、活动启动模式  活动启动模式对你来说应该是个全新概念,实际项目中我们应该根据特定需求为每个活动指定恰当启动模式。

2.9K20

Android基础部分再学习---activity生命周期

关于activity生命周期:要知道知识点 1.每个生命活动执行顺序、 2.每个生命周期我们应该做怎么样处理:每个方法保留时间有多久;那个方法是活动阻塞,他没有做完,别的人做不了;那个方法让我们暂时回收内存...你Activity应该在onCreate()方法里执行设置“全局”状态(如定义布局)。并在onDestroy()方法里释放所有剩余资源。...例如,如果你活动有一个线程在后台运行下载网络数据,它可以onCreate()中创建该线程【一般onStart里面创建更好子线程,主要是onCreate()只有5秒响应时间】,然后onDestroy...1、onCreate 最重要是在里面调用setContentView,还可以在里面初始化各控件、设置监听、并初始化一些全局变量。...即便是内存不足,被回收了,再次Recreate的话,又是一次新生命周期开始,又会执行onCreate方法。

86120

android学习笔记----隐式意图和显式意图

Android系统会根据隐式意图中设置动作(action)、类别(category)、数据(URI和数据类型)找到最合适组件来处理这个意图。...activity回传数据给第一个activity 实验要求:编程实现具有“登录”按钮主界面,点击“登录”按钮后打开另一个Activity,新打开Activity中输入用户名、密码等个人信息,...// 如果希望活动销毁时候能够返回一个结果给上一个活动,就用startActivityForResult startActivityForResult(intent, 1); //...如果您活动将noHistory设置为true,则永远不会调用此方法。...由于一个活动中有可能调用startActivityForResult()方法去启动很多不同活动,每一个活动返回数据都会回调到onActivityResult()这个方法中,因此我们首先要做就是通过

1.2K10

Activity 活动跳转(Java&Kotlin)

Activity 活动跳转(Java&Kotlin) 任何正式APP都不可能只有一个Activity,当有多个Activity时,怎么从一个Activity进入到另一个Activity呢?...Java //活动跳转,从MainActivity跳转到TestActivity,普通跳转 startActivity(new Intent(MainActivity.this,TestActivity.class...)); 如果把刚才Java里代码复制到Kotlin里,会需要转译,转译后Kotlin代码如下: Kotlin //活动跳转,从MainActivity跳转到TestActivity,普通跳转...所以Android允许代码中手动设置启动表示,这样不同时候调用startActivity方法就能运行特定启动模式。...这样下次无论何种方式启动该实例,也要走standard完整流程 Intent.FLAG_ACTIVITY_CLEAR_TASK 该标志非常暴力,跳转到新页面时,栈中原有实例都被情况,注意:该标志要结合

1.7K30

Android面试问题整理

) { activity.finish(); } ondestory lists.remove(this); 3、发送特定广播: 需要结束应用时,发送一个特定广播,每个Activity收到广播后,关闭即可...Singleinstance  运行在另外单独任务栈里面 比方说激活一个新activity时候, 给intent设置flag Intentflag添加FLAG_ACTIVITY_NEW_TASK...Android预定义了一系列Action分别表示特定系统动作。这些Action通过常量方式定义android.content. Intent中,“ACTION_”开头。...manifest和代码中如何注册和使 用 broadcast receiver 。 设置广播接收优先级,设置广播接受action名字 等… 详细见工程代码. 22....如果程序中存在对无用对象引用,那么这些对象就会驻留内存,消耗内存,因为无法让垃圾回收器GC验证这些对象是否不再需要。如果存在对象引用,这个对象就被定义为"有效活动",同时不会被释放。

91520

Android创建启动画面

每个Android应用启动之后都会出现一个Splash启动界面,显示产品LOGO、公司LOGO或者开发信息。...1.制作Splash界面   突出产品LOGO,产品名称,产品主要特色;   注明产品版本信息;   注明公司信息或者开发信息;   背景图片,亦可以用背景颜色代替;   2.处理后台资源   大多数...,那么:启动界面SLEEP时间=固定时间-预处理任务时间; 思路有两个,一个是用两个Activity来做,一个用来做启动画面,另一个是主页面;还可以用一个Activity来做,程序启动时显现启动画面...); 下面两代码启动一个新Activity,同时关闭当前Activity。...随后 Activity Manager 激活处于栈第二层 Activity 并重新入栈,同时原 Activity 被压入到栈第二层,从 Active 状态转到 Paused 状态。

83920

Android四大组件之Activity

从字面的意思去理解,Activity具有活动意思,我们应用中进行操作都是集中Activity上面完成,例如拨号、拍照、发送email、看地图。...Android创建与启动 一个简单Activity创建与使用示说明: 创建 ?...并且你会看到 MainActivity 强制重写了 onCreate 方法, onCreate 中,通过 setContentView 为 Activity 设置我们自定义页面布局文件。...我们可以 MainActivity 中添加一个按钮,点击按钮跳转到 SecondActivity,然后 SecondActivity 中添加两个按钮,点击一个按钮跳转到 MainActvity,另一个按钮点击事件中添加如下代码...当我们 MainActvity 中点击按钮跳转到 SecondActivity ,当跳转到 SecondActivity 点击第一个按钮跳转到 MainActivity ,不断重复这个操作。

72020

Android 四大组件之Activity

从字面的意思去理解,Activity具有活动意思,我们应用中进行操作都是集中Activity上面完成,例如拨号、拍照、发送email、看地图。...Android创建与启动 一个简单Activity创建与使用示说明: 创建 Androd Studio 新建项目完成后,会自动创建一个 Java 文件,这个文件就是 Activity,因为它继承系统...并且你会看到 MainActivity 强制重写了 onCreate 方法, onCreate 中,通过 setContentView 为 Activity 设置我们自定义页面布局文件。...我们可以 MainActivity 中添加一个按钮,点击按钮跳转到 SecondActivity,然后 SecondActivity 中添加两个按钮,点击一个按钮跳转到 MainActvity,另一个按钮点击事件中添加如下代码...当我们 MainActvity 中点击按钮跳转到 SecondActivity ,当跳转到 SecondActivity 点击第一个按钮跳转到 MainActivity ,不断重复这个操作。

79200
领券