一、创建一个新的Activity

1.android的四大组件都要在清单文件里面配置

2.如果想让你的应用有多个启动图标,你的activity需要这样配置

    <intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

3.Activity下的lable和icon属性可以和Application节点的属性不一样,默认用Application节点下的属性

二、意图(intent)

隐式意图:通过指定一组动作或数据

        Intent intent = new Intent();
//设置跳转的动作
intent.setAction("com.cn.testActivity");
intent.addCategory("android.intent.category.DEFAULT");
//开启activity
startActivity(intent);

显示意图:通过指定具体的包名和类名 。Intent intent = new Intent(this,TestActivity.class);

总结:1.开启自己应用的界面用显示意图。

2.开启其他应用(系统应用)用隐式意图。(电话拨号器)

3.显示意图更安全一些。

三、短信大全案例

public class MainActivity extends Activity {

    @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView lv = (ListView) findViewById(R.id.lv);
//设置数据
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.item, R.id.tv_content, objects);
//设置数据适配
lv.setAdapter(adapter); //给ListView设置点击事件
lv.setOnItemClickListener(new OnItemClickListener() { @Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
//把点击条目的数据取出来
String content = objects[position]; Intent intent = new Intent();
//设置action
intent.setAction("android.intent.action.SEND");
intent.addCategory("android.intent.category.DEFAULT");
intent.setType("text/plain");
//传递数据
intent.putExtra("sms_body", content);
//跳转到发送短信的页面
startActivity(intent);
}
});
}
}

四、Activity的生命周期

1.onCreate():当activity启动的时候调用           onDestroy():当activity销毁的时候调用

2.onRestart()

3.onStart():当activity界面变成可见的时候调用         onStop():当activity界面变成不可见的时候调用

4.onResume()  当界面有按钮被点击,获取焦点的时候调用     onPause() 当界面按钮不可被点击,失去焦点的时候调用

横竖屏切换activity生命周期

android:screenOrientation="landscape" 横屏

android:screenOrientation="portrait"   竖屏

四、任务栈的概念(与activity有关)

1.进栈:打开一个activity,出栈:关闭一个activity

2.我们操作的activity永远是栈顶的activity。

3.activity的任务栈是用来维护用户操作体验。

4.应用程序退出时任务栈清空了。

5.一般情况下一个应用程序对应一个任务栈。

五、Activity的四种启动模式(理解中,后续补充)

1.standard

应用场景:浏览器的书签

2.singleTop:会检查任务栈栈顶的activity,如果存在则不会创建,直接复用。

3.singleTask:检查当前任务栈,

4.singleInstance:自己创建一个任务栈。

应用场景:来电页面

android四大组件(一)Activity的更多相关文章

  1. Android四大组件之Activity(活动)及其布局的创建与加载布局

    Android四大组件之Activity(活动)及其布局的创建与加载布局 什么是Activity ? 活动(Activity)是包含用户界面的组件,主要用于和用户进行交互的,一个应用程序中可以包含零个 ...

  2. Android四大组件之——Activity的生命周期(图文详解)

        转载请在文章开头处注明本博客网址:http://www.cnblogs.com/JohnTsai       联系方式:JohnTsai.Work@gmail.com       [Andro ...

  3. Android四大组件之——Activity的开启:StartActivity()和StartActivityForResult()(图文详解)

                如需转载请在文章开头处注明本博客网址:http://www.cnblogs.com/JohnTsai       联系方式:JohnTsai.Work@gmail.com   ...

  4. 【Android开发日记】之入门篇(四)——Android四大组件之Activity

    在Android中,无论是开发者还是用户,接触最多的就算是Activity.它是Android中最复杂.最核心的组件.Activity组件是负责与用户进行交互的组件,它的设计理念在很多方面都和Web页 ...

  5. Android四大组件及activity的四大启动模式

    Android四大组件 1. 广播接收者的两种类型: (1)系统广播接收者,就是继承BroadcastReceiver这个类,然后还要在清单文件中注册,注册之后给他一个action.当系统发生了这个a ...

  6. Android四大组件之——Activity(一)定义、状态和后退栈(图文详解)

    什么是Activity 关键字:应用组件.四大组件.用户界面,交互. An Activity is an application component that provides a screen wi ...

  7. Android 四大组件之 Activity(二)

    1.综述 Activity是Android四大组件(Application Components)之一,简单来说Activity就是平常所见到的用户界面,一般情况下,一个Activity所占的窗口是满 ...

  8. Android 四大组件之 Activity

    1 简介 Activity (活动) 即应用程序 显示的 界面.可以通过两种方式 设置显示的内容 1:纯代码方式 2:xml 布局方式 无论哪一种方式,都是通过 setContentView 来设置显 ...

  9. Android 四大组件之 Activity(一)

    1.Activity的定义及作用: Android系统中的四大组件之一,可以用于显示View.Activity是一个与用户交互的系统模块,几乎所有的Activity都是和用户进行交互的一个应用程序的组 ...

  10. [Android基础]Android四大组件之Activity总结

    1.Activity简介 Activity是Android一个非常重要的用户接口(四大组件之一),是可见的,主要是用户和应用程序之间进行交互的接口.在每个Activity中都可以放很多控件,所以也可以 ...

随机推荐

  1. SpaceVim 语言模块 elixir

    原文连接: https://spacevim.org/cn/layers/lang/elixir/ 模块简介 功能特性 启用模块 快捷键 语言专属快捷键 交互式编程 运行当前脚本 模块简介 这一模块为 ...

  2. Java设计模式(20)——行为模式之命令模式(Command)

    一.概述 概念 类似C中的callback! UML简图 角色 客户端:创建具体命令,指定接收者 命令接口:声明命令的接口 具体命令:定义接收者和行为之间的弱耦合(execute执行方法) 请求者(I ...

  3. 苏州Uber优步司机奖励政策(12月14日到12月20日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  4. P2351 [SDOi2012]吊灯

    P2351 [SDOi2012]吊灯 https://www.luogu.org/problemnew/show/P2351     题意: 一棵树,能否全部分成大小为x的联通块. 分析: 显然x是n ...

  5. 3D Touch初探

    伴着6S的发布,iOS 9.0开始支持3D Touch功能.使用场景来分一共有三种情况. 一.基于UIViewController的扩展 1. 首先要注册需要监听重按手势的 source view: ...

  6. 初试Docker on Debian on VirtualBox

    一直以来都对Docker如雷贯耳,很想尝试一下但都被各种忙给耽误了,最近由于项目调试,需要安装 Oracle 和 SQL Server 数据库,但又不想安装到本机系统里,于是下决心啃一下docker这 ...

  7. Object里面的方法

    object里面有12个方法,没写完,写一些部分代表 toString():输出对象的地址字符串(hashcode码) equals():用的是==,比较的是引用,在有些类里面是重写了这个方法的,重写 ...

  8. <cassert>

    文件名:  <cassert> (assert.h) 这是一个C语言的诊断库,assert.h文件中定义了一个可作为标准调试工具的宏函数: assert ; 下面介绍这个宏函数:asser ...

  9. 前端开发工程师 - 03.DOM编程艺术 - 期末考试

    期末考试客观题 返回    倒计时: 01:24 1 单选(2分) 以下选项中不是节点类型的是 A. COMMENT_NODE B. DOCUMENT_NODE C. BODY_NODE D. E ...

  10. JAVA基础学习之路(八)[1]String类的基本特点

    String类的两种定义方式: 直接赋值 通过构造方法赋值 //直接赋值 public class test2 { public static void main(String args[]) { S ...