android开发分享Android四大组件之Activity详细介绍

目录理论概述activity的理解activity的定义activity的作用类比activity与servletintent的理解intent的分类intent的使用intentfilter的理解相

目录
  • 理论概述
    • activity的理解
      • activity的定义
      • activity的作用
      • 类比activity与servlet
  • intent的理解
    • intent的分类
      • intent的使用
      • intentfilter的理解
        • 相关的api
          • 设置点击监听
            • activity中添加监听
            • layout中添加监听
          • 设置长按监听
          • activity的开发
            • 开发流程
              • activity的使用
              •  总结

                上述就是android开发分享Android四大组件之Activity详细介绍的全部内容,如果对大家有所用处且需要了解更多关于Android学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

                理论概述

                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). 启动activity  		4). 得到intent对象  		5). 通过intent读取额外数据  		6). 显示到edittext  4. 实现一般返回:  	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="https://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详解的文章就介绍到这了,更多相关android activity组件内容请搜索<计算机技术网(www.ctvol.com)!!>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<计算机技术网(www.ctvol.com)!!>!

                本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

                ctvol管理联系方式QQ:251552304

                本文章地址:https://www.ctvol.com/addevelopment/1001385.html

                (0)
                上一篇 2021年12月29日
                下一篇 2021年12月29日

                精彩推荐