Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)之一。
Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。
Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件。
在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。
在android 中,Activity 拥有四种基本状态:
1.Active/Running
一个新 Activity 启动入栈后,它显示在屏幕最前端,处理是处于栈的最顶端(Activity栈顶),此时它处于可见并可和用户交互的激活状态,叫做活动状态或者运行状态(active or running)。
2. Paused
当 Activity失去焦点, 被一个新的非全屏的Activity 或者一个透明的Activity 被放置在栈顶,此时的状态叫做暂停状态(Paused)。此时它依然与窗口管理器保持连接,Activity依然保持活力(保持所有的状态,成员信息,和窗口管理器保持连接),但是在系统内存极端低下的时候将被强行终止掉。所以它仍然可见,但已经失去了焦点故不可与用户进行交互。
3. Stopped
如果一个Activity被另外的Activity完全覆盖掉,叫做停止状态(Stopped)。它依然保持所有状态和成员信息,但是它不再可见,所以它的窗口被隐藏,当系统内存需要被用在其他地方的时候,Stopped的Activity将被强行终止掉。
4. Killed
如果一个Activity是Paused或者Stopped状态,系统可以将该Activity从内存中删除,Android系统采用两种方式进行删除,要么要求该Activity结束,要么直接终止它的进程。当该Activity再次显示给用户时,它必须重新开始和重置前面的状态。
下面,那么我们来看一个简单的例子:
package com.example.test_user_pw;
import android.os.Bundle;
import android.app.Activity;
import android.os.Bundle;
import android.preference.Preference;
import android.app.Activity;
import android.app.SearchManager.OnCancelListener;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;
public class Welcome extends Activity implements OnClickListener {
private EditText uname = null;
private EditText upswd = null;
private CheckBox checkboxButton = null;
private Button login = null;
SharedPreferences sp = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_main);
sp = this.getSharedPreferences(“userinfo”, Context.MODE_PRIVATE);
init();
}
public void init() {
uname = (EditText) findViewById(R.id.user_input);
upswd = (EditText) findViewById(R.id.pass_input);
checkboxButton = (CheckBox) findViewById(R.id.checkBoxLogin);
login = (Button) findViewById(R.id.new_user);
if (sp.getBoolean(“checkboxBoolean”, false)) {
uname.setText(sp.getString(“uname”, null));
upswd.setText(sp.getString(“upswd”, null));
checkboxButton.setChecked(true);
}
login.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (v == login) {
String name = uname.getText().toString();
String pswd = upswd.getText().toString();
if (name.trim().equals("")) {
Toast.makeText(this, “请您输入用户名!”, Toast.LENGTH_SHORT).show();
return;
}
if (pswd.trim().equals("")) {
Toast.makeText(this, “请您输入密码!”, Toast.LENGTH_SHORT).show();
return;
}
boolean CheckBoxLogin = checkboxButton.isChecked();
if (CheckBoxLogin) {
Editor editor = sp.edit();
editor.putString(“uname”, name);
editor.putString(“upswd”, pswd);
editor.putBoolean(“checkboxBoolean”, true);
editor.commit();
} else {
Editor editor = sp.edit();
editor.putString(“uname”, null);
editor.putString(“upswd”, null);
editor.putBoolean(“checkboxBoolean”, false);
editor.commit();
}
// Intent跳转
if (name.trim().equals(“wang”)&&pswd.trim().equals(“123”)) {

            Intent intent = new Intent(Welcome.this, Content.class);intent.putExtra("Stname", name.trim());startActivity(intent);finish();}else{Toast.makeText(this, "用户名或密码错误", Toast.LENGTH_SHORT).show();return;}}
}

}

Activity的理解相关推荐

  1. Android Activity的理解

    Android Activity的理解 Activity 生命周期的四个状态 Activity的生命周期分为运行.暂停.停止.销毁四个状态. 运行状态:该Activity生命开始,Activity在前 ...

  2. 对于Activity的理解

    今天电脑小白来谈谈自己对于activity的理解. 主要分为以下四点 1 Activity是什么 Activity是最基本也是最常见的android基本组件之一,负责与用户交互,一个Activity通 ...

  3. day4 Activity相关

    什么是Activity? 与用户交互的接口,提供用户触摸,点击,滑动的界面.Android中的activity全都归属于task管理 .task 是多个 activity 的集合,这些 activit ...

  4. Android基础——四大组件之Activity

    这几天继续回顾了一些Android基础方面的知识,今天跟大家一起回顾下Android四大组件中的Activity.虽然很基础,但工欲善其事,必先利其器.我们只有打好夯实的基础,才能在技术开发这条道路上 ...

  5. android使用Activity

    第一个例子,显示网址 首先创建工程 按照提示填入 我使用的是2.3版本,所以Min SDK Version填10 修改/res/layout/下main.xml文件 加入按钮 对应的程序文件如下: V ...

  6. 安卓学习笔记---Activity

    由于学期实训的要求,我开始学习安卓了.从本月一号开始,学了五天了.时间短,刚学到的东西容易忘,我记一下笔记. 首先是对Activity的理解.activity首先是一个java类,我们创建一个新的ac ...

  7. 安卓APP_ 四大基本组件(1)—— Activity

    摘自:安卓APP_ 四大基本组件(1)-- Activity 作者:丶PURSUING 发布时间: 2021-04-22 15:56:18 网址:https://blog.csdn.net/weixi ...

  8. Android studio的Activity详解

    Activity就相当于我们的手机界面,里面包含着各个组件 Activity 的4种状态 运行状态:屏幕可视,且可以进行操作 暂停状态:返回退出的时候,询问是否退出运行状态,此时属于暂停状态 ---- ...

  9. Android应用程序内部启动Activity过程(startActivity)的源代码分析

    上文介绍了Android应用程序的启动过程,即应用程序默认Activity的启动过程,一般来说,这种默认Activity是在新的进程和任务中启动的:本文将继续分析在应用程序内部启动非默认Activit ...

最新文章

  1. Wrong permissions on configuration file, should not be world writable
  2. maven3常用命令、java项目搭建、web项目搭建
  3. linux命令:case选择结构语句
  4. MATLAB学习笔记(十三)
  5. linux网卡不响应arp,Linux中的网络配置和故障排除命令,学会不会吃亏
  6. memcache获取所有内存数据
  7. mkdir 创建多级目录_Linux mkdir命令:创建目录(文件夹)
  8. mysql做主从分离后插入更新过慢
  9. 微信小程序----实现YDUI的ScrollTab(滚动选项卡)
  10. 图片太大怎么压缩变小?图片如何压缩?
  11. plot画图 matlab,Matlab Plot 画图中图
  12. 1 人抵 1 万名黑客的阿里女守护神,私底下竟然是这个样子!
  13. YbSoftwareFactory 代码生成插件【十三】:Web API 的安全性
  14. 阅读笔记 - 20220409
  15. 手机中PDF格式转换PPT操作方法
  16. labview信号时序分析--谐波失真分析
  17. 加勒比海盗船(最优装载问题)
  18. Photoshop CC 2019安装过程中遇到计算机中丢失:D3DCOMPILER-47.dll的情况
  19. Unrecognised tag: snapshotPolicy (position: START_TAG seen
  20. CSS 属性 cursor 手势设置(琐碎知识点整理)

热门文章

  1. 两维天线阵列波束成型原理Python代码
  2. 天线阵列计算远场方向图
  3. linux内存耗尽实验,linux 内存耗尽的分析
  4. BRC认证辅导,BRC认证准备文件时有哪些要求
  5. 资策会发布RFID感测式衣架、虚拟试衣机,打造智慧试衣间
  6. Electron的入门使用
  7. 网络即时战略游戏结构体系分析
  8. 关于《Foxit Phantom的完美破解》的一点补充——打印驱动破解
  9. 【Python3爬虫】破解同程旅游加密参数 antitoken-爬虫深度技术
  10. python报错对象没有属性_python-AttributeError:“ float”对象没有属性“...