首页 > 编程知识 正文

简述android开发的四大组件,android应用程序的四大组件

时间:2023-05-05 10:20:13 阅读:149622 作者:4915

上次安卓的四个主要组件是Activity、Service、BroadcastReceiver和ContentProvider。 今天先介绍一个叫Activity的男人吧!

1、Activity概述

Activity是Android APP应用的四个组件之一,还包括服务、BroadcastReceiver和ContentProvider。 (Activity也是安卓APP应用中最常用的组件之一,一般用户接触最多的是Activity。 用户可以与Activity提供的画面进行交互。 每个Activity都有一个用于呈现用户界面的窗口。 通常,窗口会充满屏幕,但可以小于屏幕,也可以漂浮在其他窗口上。

一个Android APP应用程序通常由多个稀疏连接的活动组成,其中一个活动通常在第一次启动APP应用程序时呈现给用户每个Activity还可以启动另一个Activity以执行不同的操作。

当Activity在Android APP应用程序上运行时,它也由系统控制,具有自己的生命周期,系统可以通过Activity的生命周期回调方法通知其状态的变化。

2、如何创建Activity?

Android提供的Activity类的关系如下图所示。

要创建Activity,请执行以下操作:

1 )选择要创建Activity的文件,单击鼠标右键以打开菜单,然后按如下方式选择要创建的Activity :

2 )弹出如下窗口,对窗口中创建的Activity进行命名,对Activity的布局文件进行命名,定义Activity所在的软件包,点击finish完成创建;

3 )创建的Activity代码如下: 每个Activity还必须实现onCreate方法,并在此方法中调用setContentView )方法来定义Activity用户界面的布局。

综上所述,这是在Android Studio中创建Activity的基本步骤。 此外,通过这种方式创建的Activity可以直接使用,不需要进一步的配置。 但是,有些APP只有一个Activity,如何区分APP的入口是哪个Activity呢? 此时,为了满足我们的需求,必须将Activity配置为固定的。

3、如何配置Activity?

在Android APP应用程序中,必须明确配置所有APP应用程序组件,即四个主要组件。 设置Activity的方法也很简单,只需在中添加元素就可以完成Activity的简单设置。 如上所述构建的Activity的配置如下所示。

配置Activity时,通常指定以下属性:

1 ) name )指定Activity实现类的类名;

2 ) icon )指定活动对应的图标;

3 )标签)指定活动的标签;

4 ) theme )指定活动主题;

5 )指定是否允许从其他APP应用程序调用Activity; (如果设置为true,则表示该Activity将由其他APP应用程序调用。)

6 ) launchMode )指定活动加载模式。 总共有四种启动模式。 稍后我会慢慢介绍。 (标准、单任务、单实例四种启动模式)

但是,我没有看到怎样才能区分Activity是否是程序的入口呢。 请不要着急。 除了以上属性放置外,Activity通常还可以指定一个或多个元素来指定Activity可以响应的Intent。 (我不知道这个是否没问题。 稍后我会介绍,我想像我这样的菜是不懂的) 0.0 )。 以下是作为APP应用程序入口的Activity :

当然,的属性不仅如此,还有很多属性,但很少使用。 如果以后需要用的话,可以自己学习。 毕竟现在网络这么方便,有很多找到学习资源的方法…。 恶笑)

4、如何启动并关闭一个Activity?

在上述说明中,我们看到一个Android APP应用程序通常包含多个Activity,但只有一个Activity是程序的入口。 如果需要其他Activity,如何启动其他Activity呢?

公式提供了两种方法,一个Activity启动另一个Activity。

1 )开始活动(intent intent ) :启动其他活动;

2 ) startactivityforresult (intent intent,int requestCode ) :指定请求代码) re

questCode)来启动Activity,而且程序将会获取新启动的Activity返回的结果(通过重写onActivityResult(...)方法来获取);

官方不仅为我们提供了启动的方法,还为我们提供了两种关闭Activity的方法:

1)finish():结束当前Activity;

2)finishActivity(int  requestCode):结束以startActivityForResult(Intent  intent,int requestCode)方法启动的Activity。

但是,官方并不提倡我们开发者使用这些方法显式的结束Activity。而是提倡使用Activity的生命周期来管理Activity的结束。

5、什么是Activity的生命周期呢?

Activity就像一个人一样,也有自己的生老病死的过程,这个过程就是Activity的生命周期,这个过程的流程如下所示:

总体看来,Activity大致可以分为四种状态:

1)运行状态:当前Activity位于前台,用户可见,可以获取焦点;

2)暂停状态:其他Activity位于前台,该Activity依然可见,只是不能获得焦点;

3)停止状态:该Activity不可见,失去焦点;

4)销毁状态:该Activity结束,或Activity所在的进程被结束。

在Activity的生命周期中,如下方法会被Android系统回调:

1)onCreate(Bundle  savedStatus):创建Activity时被回调。该方法只会被调用一次。

2)onStrat():启动Activity时被回调。

3)onRestart():重新启动Activity时被回调。

4)onResume():恢复Activity时被回调。在onStart()方法后一定会回调onResume()方法。

5)onPause():暂停Activity时被回调。

6)onStop():停止Activity时被回调。

7)onDestory():销毁Activity时被回调。该方法只会被调用一次。

通过生命周期的回调方法,可以监控Activity生命周期的三个嵌套循环:

1)Activity的整个生命周期发生在onCreate()方法和onDestory()方法之间。Activity应该在onCreate()中执行“全局”状态设置,并释放onDestroy()中的所有其余资源。

2)Activity的可见生命周期发生在onStart()方法和onStop()方法之间。在这段时间,用户可以在屏幕上看到Activity并与之进行交互。

3)Activity的前台生命周期发生在onResume()方法和onPause()方法之间。在这段时间,Activity 位于屏幕上的所有其他 Activity 之前,并具有用户输入焦点。

Activity的生命周期回调方法如下表所示,仅供参考:

最后用一段代码来体验一下Activity的生命周期吧:

import android.content.Intent;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.widget.Button;

import com.tengxin.chelingwangnew.R;

public class Main2Activity extends AppCompatActivity implements View.OnClickListener {

final String TAG = "Activity";

private Button startActivity;

private Button finish;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main2);

Log.e(TAG,"--onCreate--");

startActivity = (Button) findViewById(R.id.btn_intent);

finish = (Button) findViewById(R.id.btn_finish);

startActivity.setOnClickListener(this);

finish.setOnClickListener(this);

}

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.btn_intent:

Intent mIntent=new Intent(this, MainActivity.class);

startActivity(mIntent);

break;

case R.id.btn_finish:

this.finish();

break;

}

}

@Override

protected void onStart() {

super.onStart();

Log.e(TAG,"--onStart--");

}

@Override

protected void onRestart() {

super.onRestart();

Log.e(TAG,"--onRestart--");

}

@Override

protected void onResume() {

super.onResume();

Log.e(TAG,"--onResume--");

}

@Override

protected void onPause() {

super.onPause();

Log.e(TAG,"--onPause--");

}

@Override

protected void onStop() {

super.onStop();

Log.e(TAG,"--onStop--");

}

@Override

protected void onDestroy() {

super.onDestroy();

Log.e(TAG,"--onDestroy--");

}

}

当程序启动时,将会执行:

1>--onCreate--

2>--onStart--

3>--onResume--

点击跳转到一个对话框风格的Activity时,将会执行:

4>--onPause--

再点击手机上的“返回键”,将会执行:

5>--onResume--

再点击“home”建,将会执行:

6>--onResume--

7>--onPause--

8>--onStop--

当再次启动该程序时,将会执行:

9>--onRestart--

10>--onStart--

11>--onResume--

最后点击界面上的“退出”,将会结束Activity,执行:

12>--onPause--

13>--onStop--

14>--onDestroy--

好的,今天就啰嗦到这里吧

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。