Android中Activity有什么用(activity,android,开发技术)

时间:2024-05-05 17:11:50 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

理论概述

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(OnClickListenerlistener);
layout中添加监听

layout中

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

Activity中

packagecom.example.activity_01;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Toast;publicclassMainActivityextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}publicvoidMainStart2(Viewview){Toast.makeText(this,"带回调启动",Toast.LENGTH_SHORT).show();}}

设置长按监听

view.setOnLongClickListener(OnLongClickListenerlistener);

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).显示到EditText4.实现一般返回: 1).在显示Second界面时,Main界面其实在,只是被盖住了 2).关闭当前界面:finish()

Activity的使用

界面布局

Android中Activity有什么用

实现Activity的功能

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

packagecom.example.activity;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Button;importandroid.widget.Toast;importcom.google.android.material.textfield.TextInputEditText;publicclassMainActivityextendsActivityimplementsView.OnClickListener{privateTextInputEditTextmain_message;privateButtonbtn_main_start1;privateButtonbtn_main_start2;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){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);}//在回调方法中实现逻辑@OverridepublicvoidonClick(Viewview){//view就是发生(操作的)事件的视图对象if(view==btn_main_start1){Toast.makeText(this,"一般启动",Toast.LENGTH_SHORT).show();}elseif(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有什么用

配置清单

<?xmlversion="1.0"encoding="utf-8"?><manifestxmlns:android="http://schemas.android.com/apk/res/android"package="com.example.activity_01"><applicationandroid: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>--><activityandroid:name=".SecondActivity"android:label="@string/second_activity_label"android:exported="false"/><activityandroid:name=".MainActivity"android:exported="true"><intent-filter><actionandroid:name="android.intent.action.MAIN"/><categoryandroid:name="android.intent.category.LAUNCHER"/></intent-filter></activity></application></manifest>
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Android中Activity有什么用的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:CPU缓存和内存屏障下一篇:

3 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18