安卓学习笔记之Activity(一)
来源:互联网 发布:用友软件防伪查询 编辑:程序博客网 时间:2024/05/21 15:41
**
安卓四大组件之Activity
**
1.介绍
**
Activity的出现无处不在,从手机开始启动的第一个页面的都是Activity。主要用于可见的状态与用户进行交互。好比一张纸,我们需要用代码这只“笔”来描绘一些信息告诉读者,这张纸里面有些什么内容和需要操作什么东西。总的来说就是能看到的基本上和Activity。如果有什么错误的地方,希望大家指出。感激不尽。
既然作为操作系统的组件,那么每个组件都会有独立的生命周期。
**
2. 生命周期
**
在Android的官方文档我们能够看到这样的一张图片:
简单看做是,系统会调用如下几个方法。
OnCreate()–>OnStart()–>OnResume()–>OnPause()–>OnStop()–>OnDestroy()
Activity拥有四种基本状态
1*.Active/Running*
一个Activity启动入栈(装载Activity的容器),有先进先出的特点。它会显示屏幕的最前端(Activity栈顶)此时它是处于和用户交互的激活状态,叫做活动状态或者运行状态
2. Paused
暂停状态,被一个新的非全屏的Activity或者一个透明的Activity被放到栈顶,比如你用手机浏览网页的时候,突然来了一个电话,那么这个activity就是处于paused的状态,但是它依然是保持活力的。
3. Stopped
停止状态,如果一个activity完全为另一个Activity完全覆盖,它不可见,所以它的窗口被隐藏,当系统内存吃紧的时候,停止状态的Activity会被强行终止掉
4. Killed
杀死状态,顾名思义,被系统回收,意味着系统内存吃紧的时候,或者你不需要用这个Activity的时候,系统会直接终止它的进程。
好了。那么系统是如何运作Activity的呢 ?
那就是上面我们说的几个方法了。
当我们首次使用ADT/Android studio创建安卓工程的时候,我们创建一个工程的时候都会默认创建一个OnCreate方法并调用它。
我们点击运行的时候,那么就会弹出Hello world。
那我们添加剩余的方法.
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override protected void onStart() { Log.i("dd","onStart"); super.onStart(); } @Override protected void onPause() { Log.i("dd","onPause"); super.onPause(); } @Override protected void onResume() { Log.i("dd","onResume"); super.onResume(); } @Override protected void onStop() { Log.i("dd","onStop"); super.onStop(); } @Override protected void onDestroy() { Log.i("dd","onDestroy"); super.onDestroy(); }}
当我按下返回这个按钮的时候,退出到主界面。
但是当我按下,Home这个按钮的时候,
这次并没有销毁,而是在后台运行着。运行onPause和onStop这两个方法,
当我点回去的时候发现,
继续运行onStart()和onResume()方法。最后不用的时候会自动销毁,运行onDestroy()
3.如何启动一个Activity?
要启动一个Activity用到的就是Intent这个类,我们先创建一个MyActivity类并在Manifest文件里注册
public class MyActivity extends Activity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); }}
然后通过Intent 创建一个对象,在Intent构造方法中分别传入,Context,还有对应想跳转另一个的Activity的类就行了。最后调用startActivity()将Intent的对象传进去就行了。
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Intent intent=new Intent(this,MyActivity.class); startActivity(intent); }
- 安卓学习笔记之Activity(一)
- 安卓学习笔记(一) Activity篇
- 安卓学习笔记之activity生命周期
- Android学习笔记(一)之Activity
- 安卓学习笔记之service(一)
- 安卓学习笔记之service和activity
- 安卓学习之Activity
- 安卓学习(一)——Activity
- 安卓学习笔记(一)
- 安卓学习笔记整理(一)
- 安卓开发学习笔记(一)
- 安卓学习笔记(一)
- 安卓学习笔记之Activity的跳转和Activity间的通信
- 安卓学习笔记之获取Activity的返回值以及Activity的启动模式
- 安卓学习笔记1-Activity概念
- 安卓四大组件之activity笔记
- 安卓学习笔记一
- 安卓学习笔记一
- 【代码积累】ForkJoin sum the array
- Android中的性能优化
- 一则STM32f103莫名反复复位的经验记录
- andro studio高德地图开发:显示定位蓝点
- Radan 自动配刀模板的使用
- 安卓学习笔记之Activity(一)
- 注释一个opencv摄像头程序
- Gradle所有版本下载地址
- 神器 GsonFormat
- Spring基础——在 Spring Config 文件中基于 XML 的 Bean 的自动装配
- Android 浮动菜单效果控件
- UTMI及USB 2.0 PHY高速传输特性分析
- 调试服务器端代码
- 代码动态读取xml配置文件