Android studio核心activity——intent

任务

在Android studio上新建一个project,在一个Activity用三种显示Intent打开另一个Activity。并练习采用隐示Intent方式打开一个Activity。

一、activity 入门

1、什么是activity?

Activity 是 Android 组件中最基本最常见的四大组件。

(Activity,Service,Content Provider,BroadcastReceiver)

简单而言,activity就是布满整个窗口或者悬浮于其他窗口上的交互界面。一个应用程序通常由多个activity构成。每个activity都会在Androidmanifest.xml配置对应的节点,节点内容如下;
在这里插入图片描述
代码如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.helloworld">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="world"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.HelloWorld">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

新建一个工程。看 MainAtivity.java 和 layout 及 AndroidMainfest.xml 的关系,以及工程文件 的结构
在这里插入图片描述
资源文件
在这里插入图片描述
程序配置文件
在这里插入图片描述
利用@string 的方式配置 hello world
在这里插入图片描述
在这里插入图片描述

2、activity绑定自定义视图(layout)

  • mainactivity中的oncreate中的视图绑定;
  • 绑定一个自定的视图。
    新建一个my_activity视图,并在面activity中绑定;
    在这里插入图片描述
    自定义名称;
    在这里插入图片描述
    点击OK后界面;
    在这里插入图片描述
    在mainactivity中绑定;
    在这里插入图片描述
    添加按钮;
    在这里插入图片描述
    run,查看结果;
    在这里插入图片描述

二、intent入门

1、启动另一个activity

定义一个新的activity;选择basic activity
在这里插入图片描述
定义界面名称;
在这里插入图片描述
创建后如图;
在这里插入图片描述
在 mainActivity 的 layout 中设置一个按钮来启动这个 acitvity,设置按钮的 ID;
在这里插入图片描述
设置ID
在这里插入图片描述
代码如图;
在这里插入图片描述
左侧有相应得配置信息;
在这里插入图片描述

2、两个组件中的通信

activity栈
在这里插入图片描述
在这里插入图片描述
intent(意图)

Android 中提供了 Intent 机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent 不仅可 用于应用程序之间,也可用于应用程序内部的 activity, service 和 broadcast receiver 之间的交互。
Intent 这个英语单词的本意是“目的、意向、意图”。 Intent 是一种运行时绑定(runtime binding)机制,它能在程序运行的过程中连接两个不同的组件。 通过 Intent,你的程序可以向 Android 表达某种请求或者意愿,Android 会根据意愿的内容选择适当的组 件来响应。

intent相关属性

  • component(组件):目的组件 ;
  • action(动作):用来表现意图的行动 ;
  • category(类别):用来表现动作的类别 ;
  • data(数据):表示与动作要操纵的数据 ;
  • type(数据类型):对于 data 范例的描写
  • extras(扩展信息):扩展信息

在 mainActivtiy.java 中代码
为 Android 控件绑定一个点击事件;
方法 1:通过 id 获得控件,在通过绑定监听器使用匿名内部类的方法实现;
在这里插入图片描述
方法 2:直接在控件上绑定一个 onClick 的事件,在 MainActivity 中创建对应 public 方法;
在这里插入图片描述
这里我没有去测试,粘贴的教程图片,大家可以按照上述方法去试试。

3、intent(意图)

intent可以划分为显示意图和隐式意图。

3.1 显示意图

显示 Intent:对于明确指出了组件名称的 Intent,我们称为显示意图

三种显示intent
在这里插入图片描述

public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    private Button btn_start1;
    private Button btn_start2;
    private Button btn_start3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn_start1 = (Button) findViewById(R.id.btn_start1);
        btn_start2 = (Button) findViewById(R.id.btn_start2);
        btn_start3 = (Button) findViewById(R.id.btn_start3);
        btn_start1.setOnClickListener(this);
        btn_start2.setOnClickListener(this);
        btn_start3.setOnClickListener(this);

启动一个应用的主界面;
在这里插入图片描述
根据要打开的 activity 是否是主界面,在 AndroidManifest.xml 中配置 export=true;
在这里插入图片描述

  • 在 Activity 中该属性用来标示:当前 Activity 是否可以被另一个 Application 的组件启动:true 允 许被启动;false 不允许被启动。
  • 主界面默认 true,其他 activity 默认为 false。比如列表都能打开其他应用程序。并采用了隐示意图 的方式

3.2 隐式意图

在上一个例子打开的 OtherActivity 中采用隐示 Intent 打开另一个一个 activity;
在这里插入图片描述
在这里插入图片描述

三、总结与参考资料

1、总结

对activity的界面有了更加深刻的认识,也知道了如何进行界面的转换。在此过程中,我也有很多不懂得地方,基本都是按照教程来做得,然后不懂的地方就Baidu解决的。共同努力,共同进步!

2、参考资料

Activity绑定自定义视图.
The activity must be exported or contain an intent-filter.

猜你喜欢

转载自blog.csdn.net/QWERTYzxw/article/details/114787189