温习Android基础---Activity
来源:互联网 发布:js 浮点数 编辑:程序博客网 时间:2024/05/18 13:05
我重新复习Android基础的第一篇博客,最先说的,肯定是开发过程必不可少的Activity啦,作为四大组件之一,Activity是我们日常开发最常用的一个组件了,先要学习Activity,那么就要想了解它是什么,有什么作用。
1. 它是什么?
Activity是一个布满整个屏幕的界面,它是悬浮在屏幕最顶端的一个交互窗口。
2. 它有什么作用?
它是用来展示布局以及指定控件的一个容器,在Activity里面的操作都是与用户密切相关的比如用户的点击、滑动、手势等等操作,简单来说,它是一个负责与用户交互的组件。
接着我们要了解它的生命周期,在开发中,它的生命周期对我们起着很关键的作用,我们可以根据它的生命周期去做不同的处理,比如在销毁之前保存用户数据,在启动加载布局,在重新展示的时候刷新数据等等,
生命周期的图网上一搜一大把,我还是自己画一下巩固基础,下面直接上图:
有点丑,哈哈!~
首先我们启动Activity,它一开始执行的是onCreate,在onCreate中我们会使用setContentView去加载布局,然后就是到onStart方法了,onStart方法过后就执行到onResume,其实onStart方法我倒不经常用,经常用的应该是onResume方法了吧,onResume方法是在界面与用户交互之前调用的,当调用到这个方法的时候,就说明这个时候activity处在最顶端,简单来说,就是显示着了,然后当我们按下Home键的时候,系统会超快速的调用onPause这个方法,为什么呢,因为如果这个方法返回不够快的话,那么先要恢复其他activity的时候就换很慢,要等这个方法处理完,然后这个activity界面不可见的时候调用onStop才能够显示恢复的其他activity,onPause这个方法在切换页面的时候,要被替换的activity就会调用这个方法啦,当它重新显示出来的时候就会直接调用onResume,但是当界面不可见的时候,就会调用到onStop方法了,总之,页面不可见且这个activity还没有被系统回收的情况下,就是出于stop状态,所以,当要重新显示出来的时候就会调用onReStart—–>onStart—–>onResume这样的顺序重新显示,然后当用户强制销毁或者系统回收这个activity的时候,则会调用onDestroy(图片写错了单词=_=)这个方法,调用过后,这个activity就是不存在了的,如果需要重新显示这个activity,则会重新创建,流程是onCreate—–>onStart—–>onResume这样的
了解了这个生命周期之后,我们应该怎么使用Activity呢,创建项目,最少必须要有一个Activity,而这个Activity就是每次APP启动的时候第一个展示出来的activity,在AndroidManefest文件中可以看到那个是启动的时候显示的一个页面,只需要找到:
<application android:name=".Base.BaseApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application>
其实也可以顺便说下application这个标签,这个是控制整个app的一个标签,我们可以在里面配置app在桌面的名字、图标,还有APP整体样式,然后我们看到下面那个activity标签,怎么判断是第一个显示出来的页面呢,就看intent-filter这个里面的action跟category,而action中的android.intent.action.MAIN和category中的android.intent.category.LAUNCHER就是控制这个页面作为app的启动页,知道了这些之后,如果要启动其他的activity怎么办?很简单,Android中提供了一个Intent类,看这个单词的意思就知道这个是一个意图,简单来说就是想要干什么的意思,那么要怎么使用呢,因为这个类不是静态类,所以我们需要new出来使用:
Intent intent = new Intent(MainActivity.this,XXXXActivity.class);startActivity(intent);
启动Activity很简单吧,就是new出来,然后当前的Activity写进来作为第一个参数,然后把需要启动的Activity写到第二个参数,然后调用Activity中的方法startActivity就可以启动第二个Activity了,这里要特别注意一点,因为没有在AndroidManefest中配置新的Activity的话,那么启动会报异常,具体就是找不到这个Activity,所以直接crash掉,所以每创建一个新的Activity,都必须要去AndroidManefest中配置一下,哈哈~就说这么多,下班回家~
- 温习Android基础---Activity
- Android温习之路Day3java基础3
- Android温习之路Day4java基础4
- Android温习之路:Day8java基础8
- Android温习之路:day9java基础9
- Android温习之路:Day10java基础10
- Android温习 —— Activity和Fragment的生命周期
- 温习Activity的生命周期
- android基础--activity基础
- Android温习之路Day1:java基础1
- Android温习之路Day2:Java基础2
- Android温习之路Day5:java基础5
- Android 温习之路Day6:java基础6
- Android温习之路Day7:java基础7
- 一起温习C#基础
- Java基础温习
- Java基础温习
- html基础温习
- Struts2和SpringMVC比较
- JAVA 网络编程学习第一篇TCP
- X264的时耗分析
- I/O多路转接select/poll/epoll的对比
- laravel图片上传
- 温习Android基础---Activity
- 两种使用python打印菱形的方法
- MySQL访问权限系统和访问控制
- blog项目登陆
- 11.nginx.conf 配置示例
- 数据库异常怎么办?
- 使用js获取input file的路径C:\fakepath\问题
- 棋盘游戏
- C#---xml带参数查询