Activity学习

本文详细讲解了Android中Activity的创建、启动模式、生命周期及其管理,包括显式与隐式意图的使用,以及任务栈的概念。并通过小案例展示了RadioButton、ListView等控件的实践应用。

Activity学习

--------此笔记根据黑马程序员的授课视频所记录
Activity
网络编程1
网络编程2
广播接收者
服务
内容提供者
多媒体

1.如何创建一个新的Activity

​ 【1】Android的四大组件都要在清单文件里配置

​ 【2】如果你想让你的应用有多个启动图标 你的Activity需要这样配置(图中的配置为意图过滤器)

在这里插入图片描述

​ 【3】Activity下的lable和icon属性可以和Application节点的属性不一样,默认是用的Application下的属性,但是当Activity下的属性中设置了lable或icon,就会优先使用Activity中设置的属性

​ 【4】一个Android应用一般我们就配置一个启动图标就可以了 看见的其他界面都是从第一个界面跳转进去的

2.隐式意图

定义:指定一组动作或者是数据

跳转页面

 //创建意图对象
        Intent intent = new Intent();
	//在设置跳转时只要设置能匹配到一个完整的意图属性就可以跳转	
        //设置跳转动作
        intent.setAction("要跳转的界面的在配置文件中的呢个Name");
        //设置category
        intent.addCategory("内容");
        //设置数据类
        //intent.setData(Uri.parse("定义的约束名:"+"数据,此处可以不为String类型"));
        //设置数据类型
       	//intent.setType("自定义的约束");
        //小细节  如果setData方法和setType方法一起使用时 应该用下面的方法
        intent.setDataAndType(Uri.parse("定义的约束名:"+"数据,此处可以不为String类型"),"type");

3.显式意图

定义:通过指定具体的包名和类名

方法一

 //创建意图对象
        Intent intent = new Intent();
        //设置包名和类名 packageName:当前应用的包名 className:要跳转的 包名.类名
        intent.setClassName("包名","类名");
        //开启intent
        startActivity(intent);

方法二

 Intent intent = new Intent(getApplicationContext(),跳转的页面.class);

总结:

​ 1.开启自己应用的界面用显式意图

​ 2.开启其他应用(多数是系统应用)的时候用隐式意图

​ 3.显式意图更安全

4.人品计算器小案例

所需要的小知识点

【1】关于RadioButton单选按钮的使用

<RadioGroup
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            />
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />    
    </RadioGroup>

【2】传输数据

intent.putExtra("key","value");

【3】获取数据

Intent intent = getIntent();
//此处传递的是什么数据类型的值 这边就按照传递的数据类型取
//如:intent.getIntExtar("key",value);其中value是当取不到时的默认值
String data = intent.getStringExtra("key");

5.短信大全小案例

所需要的小知识点

【1】给listView中的条目设置点击事件

lv.setOnItemClickListener(new OnItemClickListener(){
    //当listView的一个条目被点击的时候调用
    public void onItemClick(AdapterView<?> parent,View view,int position long id){
        //把点击条目的数据取出来 掌握一条原则:数据在哪里存就在哪里取
    }
});

6.Activity生命周期

【1】onCreate方法 当activity创建的时候调用

【2】onDestroy方法 当activity销毁的时候调用

【3】onStart方法 当activity界面看见的时候调用

【4】onStop方法 当activity界面变得不可见的时候调用

【5】onResume方法 当界面上可以产生交互的时候(例如按钮可以被点击了 获取焦点)的时候调用

【6】onPause方法 当界面上不可以产生交互的时候(例如按钮不可以被点击 失去焦点)的时候调用

【7】onRestart方法 当界面重新启动的时候调用

7.横竖屏切换Activity的生命周期

当横竖屏切换的时候调用onPause、onStop、onDestroy、onCreate、onStart、onResume

这就相当与彻底关闭第一个界面,然后重新启动一个新的界面

在配置文件中的activity属性中添加

android:screenOrientation="portrait"  //竖屏
android:screenOrientation="landscape" //横屏

添加了上述属性后再次切换的时候不会调用生命周期方法

8.任务栈的概念

栈:先进后出

列队:先进先出

task:任务

【1】打开一个activity叫进栈 关闭一个activity叫出栈

【2】我们操作的activity永远是栈顶的activity

【3】任务栈是用来维护用户操作体验的

【4】应用程序退出了,任务栈就清空了

9.Activity的四种启动模式

activity属性中添加

//1.系统会自动创建一个新的任务栈 在自己的任务栈中之存在自己的一个实例
android:launchMode="singleInstance"
//2.任务栈就会检查是否开启过  若开启过就直接复用,并且把之前的全部清空
android:launchMode="singleTask"
//3.任务栈会检查栈顶  如果存在,不再开启,直接复用
android:launchMode="singleTop"
//4.标准模式
android:launchMode="standard"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值