android讲义-activity

合集下载

android中activity的作用

android中activity的作用

android中activity的作用
Android中的Activity是一种Android应用程序组件,它是应
用程序用户界面的基本单元之一,用于展示用户界面,并处理与用户交互的事件。

Activity可以执行各种任务,包括呈现一
个布局、启动另一个Activity、接收用户输入、显示对话框、
与数据库等数据存储进行交互等。

以下是Activity的主要作用:
1. 展示用户界面:Activity是用来呈现用户界面的,它可以包
括布局、按钮、文本框、图像和其他UI组件。

2. 处理用户输入:Activity可以监听用户的交互操作,比如点
击一个按钮或文本框输入等。

3. 启动其他Activity:应用程序通常涉及多个Activity,一个Activity可以启动其他Activity,以便用户可以浏览应用程序
的不同部分。

4. 保存和恢复状态:当设备配置更改或系统内存不足时,Activity可以保存其状态并在需要时进行恢复。

5. 数据交互: Activity可以与其他应用程序进行数据交互,例
如通过Intent与其他Activity进行通信,与数据库进行交互等。

Android知识点Activity篇

Android知识点Activity篇

Android部分Activity篇1.Activity是什么?Activity实际上只是一个与用户交互的接口而已。

2.Activity生命周期2.1 Activity的4种状态 Active/Paused/Stopped/KilledActivie:当前Activity正处于运行状态,指的是当前Activity获取了焦点。

Paused:当前Activity正处于暂停状态,指的是当前Activity失去焦点,此时的Activity 并没有被销毁,内存里面的成员变量,状态信息等仍然存在,当然这个Activity也仍然可见,但是焦点却不在它身上,比如被一个对话框形式的Activity获取了焦点,或者被一个透明的Activity获取了焦点,这都能导致当前的Activity处于paused状态。

Stopped:与paused状态相似,stopped状态的Activity是完全不可见的,但是内存里面的成员变量,状态信息等仍然存在,但是也没有被销毁。

Killed:已经被销毁的Activity才处于killed状态,它的内存里面的成员变量,状态信息等都会被一并回收。

2.2 Activity的生命周期分析正常情况下的生命周期:Activity启动–>onCreate()–>onStart()–>onResume()点击home键回到桌面–>onPause()–>onStop()再次回到原Activity–>onRestart()–>onStart()–>onResume()退出当前Activity时–>onPause()–>onStop()–>onDestroy()详细生命周期如下:1.启动了一个Activity,通常是Intent来完成。

启动一个Activity首先要执行的回调函数是onCreate(),通常在代码中你需要在此函数中绑定布局,绑定控件,初始化数据等做一些初始化的工作。

安卓课程Activity内容day06

安卓课程Activity内容day06
⑦一般用于不同app之间的调用
3.获取数据Intent intent = getIntent();
Uri data = intent.getData();
显式跳转
1.定义:通过字节码或者要跳转的Activity的全类名进行跳转
2.异常:
01-14 03:19:36.348: E/AndroidRuntime(3346): Caused by:
②获取数据
intent.getStringExtra(key)
Intent可以携带的ቤተ መጻሕፍቲ ባይዱ据种类
①八种基本数据类型和String以及他们的数组形式
②实现了Parcelable(序列化对象的接口,类似Serializable)接口的对象
③实现了Serializable接口的对象
1.standard
一个任务栈可以有多个FirstActivity的实例对象
2.singleTop
当一个任务栈栈顶已经是FirstActivity的时候,就无法重新启动创建一个FirstActivity,
但是依然可以创建其他种类的Activity
3.singleTask
2.通过代码,必须在setContentView()方法之前!!! //设置屏幕水平方向
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
四、Activity的启动模式
任务栈(回退栈):FILO===LIFO
Activity是四大组件之一,必须在AndroidManifest.xml中进行注册
如果清单文件中有多个入口Activity,谁在上面,就默认启动谁

android_Activity详解

android_Activity详解

Activity详解1.什么是Activity?Activity是一个应用程序组件,代表用来与用户进行交互的界面.比如,发邮件,拍照等的交互界面.一个应用程序通常由多个Activity松耦合的组成,典型的,当用户启动一个应用程序时见到的第一个交互界面(Activity)就叫做主Activity.当然,为了完成相应的动作,一个Activity可以启动另一个Activity;比如qq登陆界面,填写信息之后,发送一个信息去验证,通过之后就启动主界面Activity.每当启动一个新的Activity,前一个Activity将停止,但是系统将仍然保存这个对象在后台栈(back stack)里面。

当启动一个新的Activity,它将被放入back stack中,并且获得用户焦点。

Back stack遵循后进先出原则,所以当用户按手机上的back按钮时,当前的activity将会从back stack中移除,前一个Activity将被恢复。

(Back stack请参考Tasks and Back Stack文档)。

当然,Activity的创建,启动,恢复,暂停,停止,销毁都对应了一系列Activity的回调函数。

2.创建Activity。

创建一个Activity,需要继承Activity超类或继承自继承了Activity的子类。

在你实现的子类中,你需要实现由系统在Activity状态发生变化时调用的各个回调函数。

例如创建,暂停,停止等时会由系统调用对应的方法。

这里介绍两个很重要的方法:onCreate() : 这个方法是必须实现的。

当在创建一个Activity时候由系统调用。

在该方法里面,你应当初始化一些组件;最重要的是,你必须设置setContentView()方法来设置activity布局。

onPause() :当你离开该activity时将被调用,在这个方法里你可以保存一些信息到数据库或文件等。

一.实现用户界面。

Android学习之基础知识四-Activity活动1讲

Android学习之基础知识四-Activity活动1讲

Android学习之基础知识四-Activity活动1讲⼀、活动(Activity)的基本⽤法:1、⼿动创建活动FirstActivity(java源码): A、Android Studio在⼀个⼯作区间只允许打开⼀个项⽬,点击:File--->Close Project,关闭当前项⽬ B、然后重新创建⼀个Android项⽬:Start a new Android Studio project C、填写项⽬名称: D、选择:Add No Activity E、创建项⽬成功后,在:com.example.administrator.activitytest包中创建⼀个活动,右击包名--->New--->Activity---->Empty Activity Generate Layout File与Launcher Activity两个选项不要勾选 Generate Layout File:⾃动为FirstActivity创建⼀个对应的布局⽂件 Launcher Activity:⾃动将FirstActivity设置为当前项⽬的主活动 F、结果:2、创建和加载布局: A、右击app/src/main/res⽬录--->new--->Directory B、创建layout⽬录后,右击layout---->new---->Layout resource file File name:布局⽂件名 Root element:根元素 C、结果:3、编辑布局⽂件: 添加⼀个按钮: 按钮属性解析: android:id给该按钮定义⼀个唯⼀的标识符,类似于⼈的⾝份证号,独⼀⽆⼆。

在XML中,定义⼀个id是“@+id/id_name”,引⽤⼀个id 是“@id/id_name”. android:layout_width定义当前元素的宽度,match_parent表⽰当前元素的宽度与⽗元素⼀样宽 android:layout_height 定义当前元素的⾼度,wrap_content表⽰当前元素的宽度只要刚好包含⾥⾯的内容就⾏。

Android基础-Activity

Android基础-Activity
重载onActivityResult(int requestCode, int resultCode, Intent data),在这个函数中做处理
Activity之间如何传递数据

Activity之间通过Intent传递简单的数据


发送数据:
Intent intent = new Intent(this,SecondActivity.class);
每个应用都拥有一个main Activity

在manifest文件中声明 Main Activity是应用启动时第一个显示的界面
Activity栈

Android使用栈来管理各个Activity 当一个Activity在最前端时,它位于栈顶

当另外一个Activity启动时,原来的Activity被 压到栈里,而新的Activity位于栈顶


当一个Activity处于Paused或Stopped状态时, 系统可以调用finishi()或者直接杀掉它以释放 内存
Activity的生命周期

Activity的七个生命周期回调函数:

onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy(), onRestart() 在onCreate()中设置全局状态或处理其他

在这期间,用户可以看到这个Activity的界面
当启动一个新的Activity,而当前的Activity不再 可见时,onStop被调用
在这个期间,应该持续维护需要被显示的资源

ex:你可以在onStart中启动一个广播来监听对 你显示有影响的事件,并在onStop中注销它

Android学习笔记(三)Activity及Intent

Android学习笔记(三)Activity及Intent

Android学习笔记(三)Activity及Intent⼀、废话 今天⼗分的忙,本来打算今天就不写了,可是想想既然决定要做某件事情了,那么就要坚持下去。

做不做是⼀个态度问题!⼆、正⽂1、Activity 在⼀个Android应⽤程序中,Activity是为⽤户操作⽽展⽰的可视化界⾯。

⽐如你要打电话,这个时候的拨号界⾯就是⼀个Activity,你要发短信给你的⼥朋友,这个短信窗⼝就是⼀个Activity。

Activity在创建之初只是⼀个没有任何内容的页⾯,如果要做出⽤户体验⾮常棒的应⽤程序,还需要在Activity中添加控件(如按钮,⽂字,图⽚)以显⽰和响应⽤户操作。

2、在Android中,多个Activity之间如何切换? 在Android 系统中,之所以⼀个Activiyt运⾏过程中可以运⾏另外的Activity,是因为Android在遇到这种情况后,会⾃动创建⼀个任务堆栈,并把这些关联的Activity压⼊堆栈中。

在这个任务堆栈栈顶的Activity就是当前⽤户⼀直操作的Activity,⽽当⼀个新的Activity启动时,这个Activity就必须位于栈顶,⽽当前的Activity就会被压⼊栈的下⼀个位置。

当系统发现内存不够⽤时,会默认清理⼀些长时间没有被使⽤的Activity存放栈。

打个⽐⽅,你在看微博,现在收到⼀条⼥朋友发来的微信,这个时候你打开微信,Android就会将微信的Activity压⼊栈并放在栈顶,使微信的Activity被激活,⽽把本来在栈顶的微博Activity压⼊栈中下⼀个位置。

这样⼀来,当你按Back键时,微信Activity就会弹出栈,新浪Activity位于栈顶于是被激活。

但是当你按下HOME键后,这些Activity都将转到后台运⾏,你使⽤Back是不能再次激活他们的,此时你必须点击应⽤程序才能再次激活它。

那么为什么微信Activity激活时,再按Back微博Activity能够再次激活?这就要从Activity的⽣命周期讲起了。

Activity详细讲解

Activity详细讲解

Activity详细讲解Activity 是我们开发Android应⽤程序最重要的⼀个类。

这个类的内容⽐较多,我理解多少就写多少,希望你喜欢:)这篇⽂章会涉及到以下⼏个内容⼀ Activity的⽣命周期⼆ 让Activity变成⼀个窗⼝:Activity属性设定三 你后台的Activity被系统回收怎么办:onSaveInstanceState四 调⽤与被调⽤:我们的通信使者 - Intent⼀ Activity的⽣命周期和其他⼿机平台的应⽤程序⼀样,Android的应⽤程序的⽣命周期是被统⼀掌控 的,也就是说我们写的应⽤程序命运掌握在别⼈(系统)的⼿⾥,我们不能改变它,只能学习并适应它。

简单地说⼀下为什么是这样:我们⼿机在运⾏⼀个应⽤程序的时候,有可能打进来电话发进来短信,或者没有电了,这时候程序都会被中断,优先去服务电话的基本功能,另外系统也不允许你占⽤太多资源,⾄少要保证电话功能吧,所以资源不⾜的时候也就有可能被⼲掉。

⾔归正传,Activity的基本⽣命周期如下代码所⽰:Java代码1. publicclass MyActivity extends Activity{2. protectedvoid onCreate(BundlesavedInstanceState);3.4. protectedvoid onStart();5.6. protectedvoid onResume();7.8. protectedvoid onPause();9.10. protectedvoid onStop();11.12. protectedvoid onDestroy();13. }public class MyActivity extends Activity {protected void onCreate(Bundle savedInstanceState);protected void onStart();protected void onResume();protected void onPause();protected void onStop();protected void onDestroy();}你⾃⼰写的Activity会按需要 重载这些⽅法,onCreate是免不了的,在⼀个Activity正常启动的过程中,他们被调⽤的顺序是 onCreate -> onStart -> onResume, 在Activity被⼲掉的时候顺序是onPause -> onStop -> onDestroy ,这样就是⼀个完整的⽣命周期,但是有⼈问了 ,程序正运⾏着呢来电话了,这个程序咋办?中⽌了呗,如果中⽌的时候新出的⼀个Activity是全屏的那么:onPause->onStop ,恢复的时候onStart->onResume ,如果打断 这个应⽤程序的是⼀个Theme为Translucent 或者Dialog 的Activity那么只是onPause ,恢复 的时候onResume 。

Android讲稿_activity和intent

Android讲稿_activity和intent

如下是一个activity的样例:创建Activity的要点:1.一个Activity就是一个类,并且这个类要继承Activity;2.要覆写onCreate()方法;(注:Android程序运行时首先调用onCreate()方法,这个调用由Android的框架来实现调用。

因此要想要按自己的意图运行程序,覆写是必要的。

)3.每一个Activity都要在AndroidManifest.xml中进行配置。

(注:一个程序可以有很多个Activity,包含有<intent-filter>……</intent-filter>的那个Activity就是默认先启动的的Activity。

)4.为Activity添加必要的控件。

注:LinearLayout是“线性布局”;android:orientation="vertical"指布局为垂直。

举例:创建一个Activity,里面包含一个TextView和一个Button。

步骤:1.创建一个含有Activity的Android Project,名为Activity01;2.查找res>layout——main.xml文件,进行编辑,保存后R.java里会出现相应内容。

代码如下:<TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"/>3.编辑Activity01Activity.java。

代码如下:package summer.activity;import android.app.Activity;import android.os.Bundle;import android.widget.Button;import android.widget.TextView;public class Activity01Activity extends Activity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.main);}}总结:1.Activity的作用:a)用户和应用程序交互的接口,用户的操作都是通过Activity来完成的。

Android面试之---讲一下你对Activity的了解(面试必问的).

Android面试之---讲一下你对Activity的了解(面试必问的).

A n d r o i d面试之---讲一下你对A c t i v i t y的了解(面试必问的).-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII这篇文章会涉及到以下几个内容一 Activity的生命周期二让Activity变成一个窗口:Activity属性设定三你后台的Activity被系统回收怎么办:onSaveInstanceState四调用与被调用:我们的通信使者 - Intent一 Activity的生命周期和其他手机平台的应用程序一样,Android的应用程序的生命周期是被统一掌控的,也就是说我们写的应用程序命运掌握在别人(系统)的手里,我们不能改变它,只能学习并适应它。

简单地说一下为什么是这样:我们手机在运行一个应用程序的时候,有可能打进来电话发进来短信,或者没有电了,这时候程序都会被中断,优先去服务电话的基本功能,另外系统也不允许你占用太多资源,至少要保证电话功能吧,所以资源不足的时候也就有可能被干掉。

言归正传,Activity的基本生命周期如下代码所示:Java 代码publicclass MyActivity extends Activity {protectedvoid onCreate(Bundle savedInstanceState);protectedvoid onStart();protectedvoid onResume();protectedvoid onPause();protectedvoid onStop();protectedvoid onDestroy();}public class MyActivity extends Activity { protected void onCreate(Bundle savedInstanceState); protected void onStart(); protected voidonResume(); protected void onPause(); protected void onStop(); protected void onDestroy(); }你自己写的Activity会按需要重载这些方法,onCreate是免不了的,在一个Activity正常启动的过程中,他们被调用的顺序是 onCreate -> onStart -> onResume, 在Activity被干掉的时候顺序是onPause -> onStop -> onDestroy ,这样就是一个完整的生命周期,但是有人问了,程序正运行着呢来电话了,这个程序咋办?中止了呗,如果中止的时候新出的一个Activity是全屏的那么:onPause->onStop ,恢复的时候onStart->onResume ,如果打断这个应用程序的是一个Theme为Translucent 或者Dialog 的Activity那么只是onPause ,恢复的时候onResume 。

Android—activity详解

Android—activity详解

android activity详解一:概述1概述2如何创建Activity3实现用户界面4在名单文件中声明activity5使用intent过虑器6启动一个Activity7启动一个acitvity并得到结果8关闭Activity概述Activities 是一个程序的组件之一。

它的主要功能是提供界面。

一个程序一般由多个Activity组成,各activities之间关系很松散,它们之间没有直接的关联。

必须有一个activity被指定为主activity,它是程序启动时首先显示的界面。

每个activity都可以随意启动其它的activity。

每当一个activity被启动,则前一个activity就被停止。

一个程序中的所有启动的activity都被放在一个栈中,所以被停止的activity并没有销毁,而在存于棧中。

新启动的activity先被存放于栈中,然后获得输入焦点。

在当前活动的activity上点返回键,它被从棧中取出,然后销毁,然后上一个activity被恢复。

当一个activity因为新的activity启动而被停止时,它会收到状态变化的通知,这样的变化有多个,每个都会引起系统调用一个相应的回调方法以通知activity,这些回调方法被统称为“生命周期回调方法”。

这些回调方法分别在Activity被创建、停止、恢复、销毁时被调用。

如何创建Activity1 从类activity继承。

2 实现“生命周期回调方法”两个最重要的方法是:onCreate()--这个是必须实现的函数,在其中做初始化工作。

记住:你必须在此函数中调用setContentView()函数的设置Activity的界面。

onPause()--这个虽然很重要,但不是要必须实现的。

此函数在用户离开Activity 时被调用(这一般并不表示Activity要被销毁了)。

在这个函数中,你一般需要提交那些需保存状态的数据(因为用户可能不再返回到这个Activity)。

android 知识点

android 知识点

android 知识点Android 是由 Google 所开发的一个开源的移动操作系统,最初是为智能手机领域设计的。

安卓系统经过近十多年的发展,现在已经广泛应用于各类移动设备,如平板电脑,电视等。

这篇文章将介绍Android 开发中的一些重要知识点。

一、活动(Activity)活动是 Android 应用程序的一个基本组成部分,它通常对应着应用程序中的一个页面。

Android 系统通过 Intent 机制启动和管理活动,活动的代码主要包括声明周期函数、布局文件和处理事件的回调函数等。

二、布局(Layout)布局是 Android 界面开发中的重要组成部分。

Android 系统提供了一种 XML 格式的布局文件来描述用户界面,开发者可以使用LinearLayout、RelativeLayout、GridLayout 等布局来完成页面的搭建。

在布局中,开发者可以设置控件的位置、大小、字体等相关属性。

三、服务(Service)服务是 Android 应用程序中一种后台运行的组件。

服务可以执行诸如下载文件、播放音乐等耗时操作,不会阻塞应用程序的其他组件。

服务的代码通常包括 onStartCommand 和 onDestroy 等生命周期函数以及具体的业务逻辑。

四、广播(BroadcastReceiver)广播是一种事件通知机制,它可以让应用程序中的不同组件相互通信。

通过注册广播接收器(BroadcastReceiver),应用程序可以响应特定的广播事件。

Android 系统提供了多种系统广播事件,例如屏幕关闭、收到短信等。

五、内容提供器(Content Provider)内容提供器是 Android 系统中的一种特殊组件,它可以提供应用程序中的数据给其他应用程序使用。

内容提供器可以访问各种持久化的数据源,如 SQLite 数据库,将数据封装后提供给其他应用程序。

六、资源文件(Resources)资源文件是 Android 应用程序中的重要组成部分,它包括各种不同类型的资源:布局、字符串、图片等等。

Android之Activity系列总结(一)--Activity概览

Android之Activity系列总结(一)--Activity概览

Android之Activity系列总结(⼀)--Activity概览Activity本⽂内容1. 创建 Activity1. 实现⽤户界⾯2. 在清单⽂件中声明 Activity2. 启动 Activity1. 启动 Activity 以获得结果3. 结束 Activity4. 管理 Activity ⽣命周期1. 实现⽣命周期回调2. 保存 Activity 状态3. 处理配置变更4. 协调 Activity是⼀个应⽤组件,⽤户可与其提供的屏幕进⾏交互,以执⾏拨打电话、拍摄照⽚、发送电⼦邮件或查看地图等操作。

每个 Activity 都会获得⼀个⽤于绘制其⽤户界⾯的窗⼝。

窗⼝通常会充满屏幕,但也可⼩于屏幕并浮动在其他窗⼝之上。

⼀个应⽤通常由多个彼此松散联系的 Activity 组成。

⼀般会指定应⽤中的某个 Activity 为“主”Activity,即⾸次启动应⽤时呈现给⽤户的那个Activity。

⽽且每个 Activity 均可启动另⼀个 Activity,以便执⾏不同的操作。

每次新 Activity 启动时,前⼀ Activity 便会停⽌,但系统会在堆栈(“返回栈”)中保留该 Activity。

当新 Activity 启动时,系统会将其推送到返回栈上,并取得⽤户焦点。

返回栈遵循基本的“后进先出”堆栈机制,因此,当⽤户完成当前 Activity 并按“返回”按钮时,系统会从堆栈中将其弹出(并销毁),然后恢复前⼀ Activity。

(⽂档中对返回栈有更详细的阐述。

)当⼀个 Activity 因某个新 Activity 启动⽽停⽌时,系统会通过该 Activity 的⽣命周期回调⽅法通知其这⼀状态变化。

Activity 因状态变化—系统是创建 Activity、停⽌ Activity、恢复 Activity 还是销毁 Activity— ⽽收到的回调⽅法可能有若⼲种,每⼀种回调都会为您提供执⾏与该状态变化相应的特定操作的机会。

Android-Activity

Android-Activity

Android重要类之——Activity这是Android中的最基本的组件,也是我们最常用的组件,一般情况下,一个Activity就代表一个屏幕或者说是窗口,它包含一个或多个视图(View),我们能够与之进行交互。

Android系统中的Acitivity通过Acitivity Stack进行管理。

当一个新的Activity被启动的时候,它就会被放置在栈顶并成为运行的Activity。

一个Activity有四个状态:(1)、Active or Running——Activity位于栈顶(2)、Paused——这种状态下,Acitivty失去焦点,但仍然可见(可能是一个非全屏的Activity或者透明的Activity被置于这个Activity之上)。

(3)、Stopped——这种状态下的Activity就得完全不可见。

(4)、Inactive——当一个曾经被启动过的Activity被杀死时,它就变成inactive。

Inactive Activity会从Activity栈中移除,当它重新显示和使用时需要再次启动。

如果设备的配置(Configuration)改变了,系统会把当前的Activity销毁(destroy),然后再创建它的一个新实例。

这篇文章里,我主要是对Activity中一些有用的方法进行摘录,至于那些最常用的比如说onCreate之类的生命周期方法这里就略去不提了。

public Intent getIntent() ——获取启动这个Activity的Intentpublic void setIntent(Intent newIntent) ——执行这个方法后,再调用getIntent()将返回newIntentpublic final Application getApplication() ——获取此Activity所属的Applicationpublic WindowManager getWindowManager() ——public Window getWindow()public View getCurrentFocus() ——当前取得焦点的Viewprotected void onNewIntent(Intent intent)——如果该Acitivity的launchMode设置成了singleTop或者其他的组件通过intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)这样的intent来启动该Activity的时候,如果此Activity的实例已经存在了,那么不会再创建新的实例,而是把已经存在的该Activity的实例放到activity stack的栈顶。

Android课件之Activity生命周期详解

Android课件之Activity生命周期详解

Activity的生命周期概述
1
onCreate()
当Activity被创建时,系统会调用此方法。一般在此方法中进行初始化操作,如设置布局、 获取资源等。
2
onStart()和onResume()
当Activity可见时,系统会依次调用这两个方法。可以在这里做一些准备工作和交互操作。
3
onPause()和onStop()
这两个方法主要用于保存和恢复Activity的状态,如屏幕旋转、内存不足等情况下保存和恢复数据。
Activity的启动模式
Activity的启动模式决定了它的行为和与其他Activity的关系。
Standard模式详解
每次启动都创建新的实例。
SingleTop模式详解
如果Activity位于栈顶,不会创建新的实例,直 接使用旧的实例。
Android课件之Activity生 命周期详解
在这个课件中,我们将详细讲解Android中的Activity生命周期,从何定义 Activity到Activity的启动模式,以及如何最佳处理逻辑和优化性能。
Activity是什么
首先,让我们来了解Activity是什么。Activity是Android应用程序的基本组件, 它代表了应用程序的一个窗口,用户可以在其中进行交互。
根据不同的生命周期方法的调用时机,我们可以在这些方法中处理相关逻辑, 如初始化、更新UI、保存数据等。
Activity的生命周期对内存和性 能的影响
了解Activity的生命周期对于优化内存和性能非常重要,合理地管理和处理生 命周期可以减少资源占用和提高用户体验。
最佳实践和注意事项
在开发中,有一些最佳实践和注意事项可以帮助我们更好地使用和管理Activity的生命周期,提高开发效率和 应用性能。

Android移动应用基础教程第三章 Activity

Android移动应用基础教程第三章 Activity
• android:configChanges="orientation|keyboardHidden|screenSize“
– 如果希望某一个界面一直处于竖屏或者横屏状态,可以在清单文件中通 过设置Activity的属性来完成,具体代码如下所示:
• 竖屏:android: screenOrientation="portrait"
加载指定的布局文件;
3.1 Activity入门
让IT教学更简单,让IT学习更有效
• 3.1.3 Activity的生命周期
– 生命周期就是一个对象从创建到销毁的过程,每一个对象都有自己的 生命周期。同样,Activity也具有相应的生命周期,Activity的生命周期 中分为三种状态。
• 运行状态:当Activity在屏幕的最前端时,它是可见的、有焦点的。 • 暂停状态:Activity对用户来说仍然是可见的,但它不再拥有焦点。 • 停止状态:当Activity完全不可见时,它就处于停止状态,但仍然
回到前台,再 次可见时执行
获取焦点 时执行
失去焦点 时执行
用户不可见,进 入后台时执行
销毁时执行
3.1 Activity入门
让IT教学更简单,让IT学习更有效
• 3.1.4 案例——Activity的存活
– 为了让初学者掌握Activity的生命周期,接下来通过Activity存活的案例 来演示两个Activity跳转时,生命周期方法变化的过程。
– 在AndroidManifest.xml中,可以通过<activity>标签的 android:launchMode属性设置启动模式。
3.2 Activity的启动模式让IT教学更简单,让IT学习更有效

【Android开发 课件10】Android Activity组件相关培训一

【Android开发 课件10】Android Activity组件相关培训一
Activity组件 简介
4
在此示例中,<action> 元素指定该 Activity 会发送数据。将 <category> 元素声明为 DEFAULT 可使 Activity 能够接收启动请求。<data> 元素指定此 Activity 可以发送的数据类型。以下代码段展示了如何调用上述 Activity: // Create the text message with a string Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.setType("text/plain"); sendIntent.putExtra(Intent.EXTRA_TEXT, textMessage); // Start the activity startActivity(sendIntent);
Activity组件 简介
4
声明 intent-filter intent-filter是 Android 平台的一项非常强大的功能。借助这项功能,不但可以根据显式请求启动 Activity,还可以根据隐式请求启动 Activity。例如,显式请求可能会告诉系统“在 Gmail 应用中启动‘发送电子邮件’Activity”,而隐式请求可能会告诉系统“在任何能够完成此工作的 Activity 中启动‘发送电子邮件’”。当系统界面询问用户使用哪个应用来执行任务时,这就是 intent 过滤器在起作用。 要使用此功能,您需要在 <activity> 元素中声明 <intent-filter> 属性。此元素的定义包括 <action> 元素,以及可选的 <category> 元素和/或 <data> 元素。这些元素组合在一起,可以指定 Activity 能够响应的 intent 类型。例如,以下代码段展示了如何配置一个发送文本数据并接收其他 Activity 的文本数据发送请求的 Activity: <activity android:name=".ExampleActivity" android:icon="@drawable/app_icon"> <intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="text/plain" /> </intent-filter> </activity>

Android开发与实践课件第5章深入理解Activity

Android开发与实践课件第5章深入理解Activity

// TODO Auto-generated method stub
super.onDestroy();
Log.i("ACTIVITY", " MainActivity ==》onDestroy"); } @Override protected void onPause() {
//暂停Activity // TODO Auto-generated method stub super.onPause(); Log.i("ACTIVITY", " MainActivity==》onPause"); } @Override protected void onRestart() {
前台生命周期 可视生命周期 完整生命周期
图5-3 Activity对象生命周期
图5-3所示的Activity对象生命周期图中涉及到了onCreate、onStart、 onResume、onPause、onStop和onDestroy等7个方法,这7个方法定义了 Activity的完整生命周期,而该完整生命周期又可以分成3个嵌套生命周期 循环,分别如下: 前台生命周期:自onResume()调用起,至相应的onPause()调用为止。在此 期间,Activity位于前台最上面并与用户进行交互,Activity会经常在暂 停和恢复之间进行状态转换,例如,当设备转入休眠状态或者有新的 Activity启动时,将调用onPause()方法,而当Activity获得结果或者接收 到新的Intent时,会调用onResume()方法。 可视生命周期:自onStart()调用开始,直到相应的onStop()调用结束。在 此期间,用户可以在屏幕上看到Activity,尽管它也许并不是位于前台或 者也不与用户进行交互。在这两个方法之间,可以保留用来向用户显示这 个Activity所需的资源。例如,当用户看不到显示的内容时,可以在 onStart()中注册一个BroadcastReceiver广播接收器来监控可能影响UI的 变化,而在onStop()中来注消。onStart()和onStop()方法可以随着应用程 序是否被用户可见而被多次调用。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

设置要用的图片
问题:图片资源如何导入项目?
移动平台软件设计
导入图片资源方法
先在res文件夹上右键 -> 新建 Folder,命名为 drawable
图片资源固定存放位置 名字不要更改
ห้องสมุดไป่ตู้
移动平台软件设计
接着在res/drawable文件夹上右键 -> Import -> 选择 General下的 File System
根据菜单id做分支
case R.id.menu_item1: setContentView(yout.activity_main); return true;
设置布局
case R.id.menu_item2:
setContentView(yout.testlayout); return true; default: return false; } }
移动平台软件设计
移动平台软件设计
4 Activity
4.1 理解Activity
4.2 Activity切换不同的界面 (示例)
4.3 设置Activity背景
4.4 Activity生命周期
4.5 Android程序调试
移动平台软件设计
4.1 理解Activity -- 回顾
R.java文件 系统自动生成的java文件 R.java是项目中所有资 源的索引文件,资源以 (资源id,值)形式存放在 对应的内部类中
值资源是单个映射过去
移动平台软件设计
MainActivity.java代码分析
程序存放的包 导入程序所需的包
Activity一般以 ***Activity 命名 且首字母大写
继承Activity 当一个Activity被创建时,就能从onCreate的 参数saveInsanceState中获得状态数据
布 局 根 元 素
@+id/imageView1:表示在R.id类中创建 一个id值为imageView1的索引变量
引用图片资源
【返回】
移动平台软件设计
步骤2:修改菜单文件
新菜单 默认的老菜单
移动平台软件设计
MainActivity.java菜单代码分析
Activity创建Option类型菜单事件
getApplicationContext() 或用:某个Activity.this
【返回】
移动平台软件设计
4.3 设置Activity背景 (布局背景)
1. 设置背景色
在string.xml中配置:
<drawable name="bgcolor">#000</drawable>
在layout文件中设置属性:
子类 覆盖 父类 方法
生命周期之一(可理解为程序入口)
调用父类的onCreate方法 访问在R.java中注册的 activity_main.xml布局资源文件
设置一个Activity的布局界面
菜单代码分析见4.2节
移动平台软件设计
什么是Activity
布局 图片
资源res文件夹
: id v e alu 的 注 册
移动平台软件设计
下一步,点击Browse,找到图片位置,并选中所需图片 文件,Finish。
选中图片
移动平台软件设计
图片资源导入完成后自动在R.java注册(索引)
文件夹变化 R.Java自动生成
自动生成图片 文件的索引
移动平台软件设计
最终生成的testlayout.xml代码
@+:表示要在R.java中新建一个索引
界面布局文件中描述组件的xml语法
格式1:单个组件简写
<组件名 属性1="属性值" 属性2="属性值"

属性n="属性值" />
不要掉了 结束符
格式2:组件中嵌入组件 <组件名 属性1="属性值" 属性2="属性值"

属性n="属性值" >
嵌入的其他组件
</组件名>
结束符
移动平台软件设计
注意
通常一个界面对应一个Activity
字体
基 于
每一个显示屏幕就是一个Activity。
R.java文件
Activity能为用户提供可视化界面。 程序通常由多个Activity组成。
其他Java android类、 其他 类 普通java类 类 Android
src文件夹
如有需要,界面 通过id加载资源
Activity1(界面1)
参数menu可获得当前Activity的菜单对象
R.java getMenuInflater()得到当前Activity的MenuInflater 对象,该对象提供inflate()方法用于设置菜单资源。
R.menu.main是res/menu/main.xml文件在R.java中的映射
移动平台软件设计
在Activity的onCreate()方法中添加代码:
this.getWindow().setBackgroundDrawableResource(R.drawable.bg320_480);
设置背景图片的方法
【返回】
移动平台软件设计
4.4 Activity生命周期
Activity生命周期指Activity从启动到销毁的过程。
菜单资源main.xml代码分析
菜单项 两个主要属性菜单id、菜单title
main.xml
@+:表示要在R.java中新建一个索引 @+id/action_settings:表示在R.id类中 创建一个id值为action_settings的索引值
菜单标题是引用@string/action_settings这个 字符串资源,该资源在res/values/string.xml 中定义,这里其实也可以直接赋值(见后)。
<item android:id="@+id/menu_item2" android:title="布局2" />
运行结果:
MainActivity的新菜单
【返回】
移动平台软件设计
为菜单项添加功能
在MainActivity.java中添加如下代码:
@Override
菜单项选中项事件
public boolean onOptionsItemSelected(MenuItem item) { Toast.makeText( MainActivity.this, "选中" + item.getTitle(), 用Toast显示信息 Toast.LENGTH_SHORT).show(); switch ( item.getItemId() ) {
移动平台软件设计
下一步,输入布局文件名:testlayout,布局的根元素选 择:RelativeLayout
移动平台软件设计
下一步,配置xml文档属性,可以不选择,直接Finish。
自动生成的 testlayout.xml文件
移动平台软件设计
将一个ImageView组件拖放到界面上,并设置属性。
内部类
资源目录 res文件夹下的文件会 被映射到R.java中 例如
布局资源、菜单资源 文件是整体映射过去
图片 资源 布局 资源 菜单资源 值资源
例如 在程序中引用资源时用:R.内部类.资源id 例如:setContentView(yout.activity_main); getResources().getString(R.string.hello_world) 在xml布局中则引用:@内部类/资源id android:text="@string/hello_world"
@:表示要引用一个资源
@string/hello_world:表示引用 R.string.hello_world 这个值资源, R.string 类中的值资源来源于 res/values/strings.xml 文件
strings.xml文件
这个就是:@string/hello_world
移动平台软件设计
移动平台软件设计
Activity栈:后进先出
新的
Activity 入栈 活动状态 Activity Activity Activity 暂停状态 或 停止状态 . . . . . . Activity Activity 栈
按了返回键或Activity被finish
出栈
Activity
非活动状态
被系统强制终止
移动平台软件设计
activity_main.xml布局代码分析
可视化设计界面
布局文件通常命名为: activity_***, 其中***对应某个Activity
各种UI组件
自动生成的 布局文件
TextView组件
移动平台软件设计
布局属性
布 局 根 元 素
TextView组件嵌在RelativeLayout组件中 TextView属性
Activity表现为四种状态:
活动状态Active:Activity在用户界面中处于最上层,完全能被 用户看到,能够与用户进行交互。 暂停状态Pause:Activity在界面上被部分遮挡,不再处于用户 界面的最上层,且不能够与用户进行交互。(如弹出选择框时) 停止状态Stop:Activity被其他Activity全部遮挡,界面完全不 能被用户看到。(如玩游戏时来电了) 非活动状态Dead:Activity没有启动或者被finish()。
相关文档
最新文档