文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android中Activity有什么用

2023-06-22 06:51

关注

小编给大家分享一下Android中Activity有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

理论概述

Activity的理解

Activity的定义

Activity,字面翻译为活动,他是Android定义的四大应用组件之一,也是最重要的用的最多的。

一个应用有多个界面,也就是包含多个Activity

Activity的作用

用来提供一个能够让用户操作并与之交互的界面

一个Activity相当于一个容器,用于存放各种控件的容器,也可以理解为是与用户交互的接口

类比Activity与Servlet

Android中Activity有什么用

Intent的理解

Intent,直译为意图,也就是你想要做什么或者想要去哪

Intent(Activity, Service, BroadcastReceiver三个组件间通信的信使),但不是Android中的四大组件之一。

例如:我要在Activity中启动另外一个Activity,就必须使用Intent对象。Intent对象还可以携带数据

Intent的分类

显式: 明确指定的目标组件的意图(也就是说很明确知道要做什么去或者去哪里),当操作当前应用自己的组件的时候使用显式Intent

隐式: 没有明确指定目标组件的意图(也就是说不明确知道要做什么去或者去哪里),操作其它应用自己的组件的时候使用隐式Intent

Intent的使用

创建

显式: Intent(Context context, Class activityClass),使用这样的构造函数创建的Intent对象就是显式的

隐式: Intent(String action) //与Activity与的action匹配,使用这样的构造函数创建的Intent对象就是隐式的,例如分享功能,也是启动另外一个Activity,但是到底启动哪个Activity,还不知道,由用户选择

携带数据

额外: putExtra(String key, Xxx value) 内部用map容器保存

有特定前缀: setData(Uri data) //tel:123123, smsto:123123

读取数据

额外:Xxx getXxxExtra(String key)

有特定前缀: Uri getData()

IntentFilter的理解

在配置Activity时,可以为Activity指定一个IntentFilter的配置

如果你的Activity希望其他应用能访问到,需要配置<intent-filter>

如果这个Activity是被内部应用的某个Activity来访问的,就不需要配置<intent-filter>

如果想启动其他应用界面你必须用隐式的intent,且目标界面Activity配置了<intent-filter>

相关的API

设置点击监听

Activity中添加监听
view.setOnClickListener(OnClickListener listener);
layout中添加监听

layout中

<Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:onClick="MainStart2"    android:text="带回调启动"/>

Activity中

package com.example.activity_01; import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Toast; public class MainActivity extends Activity {     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }     public void MainStart2(View view) {        Toast.makeText(this, "带回调启动", Toast.LENGTH_SHORT).show();    }}

设置长按监听

view.setOnLongClickListener(OnLongClickListener listener);

Android中Activity有什么用

Android中Activity有什么用

Activity的开发

开发流程

1. 界面布局2. 实现Activity的功能1). 定义所有需要操作的视图对象并初始化2). 给视图设置监听3). 在回调方法中实现逻辑3. 实现一般启动1). 定义好界面二1). 布局2). 定义Activity类3). 配置4). 重写onCreate(), 并加载布局2). 启动界面二1). 创建Intent对象(显式)2). 通过intent携带额外数据3). 启动Activity4). 得到intent对象5). 通过intent读取额外数据6). 显示到EditText4. 实现一般返回:1). 在显示Second界面时, Main界面其实在, 只是被盖住了2). 关闭当前界面: finish()

Activity的使用

界面布局

Android中Activity有什么用

实现Activity的功能

1). 定义所有需要操作的视图对象并初始化
2). 给视图设置监听
3). 在回调方法中实现逻辑

package com.example.activity; import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.Toast; import com.google.android.material.textfield.TextInputEditText; public class MainActivity extends Activity implements View.OnClickListener {     private TextInputEditText main_message;    private Button btn_main_start1;    private Button btn_main_start2;     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);         // 视图对象并初始化        main_message = findViewById(R.id.et_main_message);        btn_main_start1 = findViewById(R.id.btn_main_start1);        btn_main_start2 = findViewById(R.id.btn_main_start2);         // 给视图设置监听        btn_main_start1.setOnClickListener(this);        btn_main_start2.setOnClickListener(this);    }     // 在回调方法中实现逻辑    @Override    public void onClick(View view) { // view 就是发生(操作的)事件的视图对象        if(view == btn_main_start1) {            Toast.makeText(this, "一般启动", Toast.LENGTH_SHORT).show();        } else if (view == btn_main_start2) {            Toast.makeText(this, "带回调启动", Toast.LENGTH_SHORT).show();        }    }}

实现一般启动

1). 定义好界面二
1). 布局
2). 定义Activity类
3). 配置
4). 重写onCreate(), 并加载布局
2). 启动界面二
1). 创建Intent对象(显式)
2). 通过intent携带额外数据
3). 启动Activity
4). 得到intent对象
5). 通过intent读取额外数据
6). 显示到TextInputEditText

Android中Activity有什么用

配置清单

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.example.activity_01">     <application        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/Theme.Activity_01">        <!--            android:name: 配置全类名,com.example.activity_01.SecondActivity,可以将包名省略            android:label: 定义一个Activity的,可以引用一个字符串(必须在string.xml中有定义),也可以直接写字符串,但不建议            SecondActivity是由MainActivity(内部Activity)来启动访问的,所以SecondActivity不需要配置<intent-filter>        -->        <activity            android:name=".SecondActivity"            android:label="@string/second_activity_label"            android:exported="false" />        <activity            android:name=".MainActivity"            android:exported="true">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                 <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application> </manifest>

以上是“Android中Activity有什么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯